body[data-tokens-radius="sharp"] {
  --rb-token-radius-xs:  0px;
  --rb-token-radius-sm:  2px;
  --rb-token-radius-md:  4px;
  --rb-token-radius-lg:  6px;
  --rb-token-radius-xl:  8px;
  --rb-token-radius-full: 12px;
}
body[data-tokens-radius="aggressive"] {
  --rb-token-radius-xs:  8px;
  --rb-token-radius-sm:  12px;
  --rb-token-radius-md:  20px;
  --rb-token-radius-lg:  32px;
  --rb-token-radius-xl:  48px;
  --rb-token-radius-full: 9999px;
}
body[data-tokens-radius="pill"] {
  --rb-token-radius-xs:  9999px;
  --rb-token-radius-sm:  9999px;
  --rb-token-radius-md:  9999px;
  --rb-token-radius-lg:  9999px;
  --rb-token-radius-xl:  9999px;
  --rb-token-radius-full: 9999px;
}
body[data-tokens-spacing="compact"]  { --rb-token-spacing-scale: 0.75; }
body[data-tokens-spacing="spacious"] { --rb-token-spacing-scale: 1.25; }
body[data-tokens-spacing="roomy"]    { --rb-token-spacing-scale: 1.5; }
body[data-tokens-shadow="none"] {
  --rb-token-shadow-xs: none;
  --rb-token-shadow-sm: none;
  --rb-token-shadow-md: none;
  --rb-token-shadow-lg: none;
  --rb-token-shadow-xl: none;
}
body[data-tokens-shadow="subtle"] {
  --rb-token-shadow-xs: 0 1px 1px rgba(0,0,0,.02);
  --rb-token-shadow-sm: 0 1px 2px rgba(0,0,0,.03);
  --rb-token-shadow-md: 0 2px 4px rgba(0,0,0,.04);
  --rb-token-shadow-lg: 0 4px 8px rgba(0,0,0,.05);
  --rb-token-shadow-xl: 0 8px 16px rgba(0,0,0,.06);
}
body[data-tokens-shadow="strong"] {
  --rb-token-shadow-xs: 0 2px 4px rgba(0,0,0,.10);
  --rb-token-shadow-sm: 0 4px 8px rgba(0,0,0,.14);
  --rb-token-shadow-md: 0 8px 16px rgba(0,0,0,.18);
  --rb-token-shadow-lg: 0 16px 32px rgba(0,0,0,.22);
  --rb-token-shadow-xl: 0 32px 64px rgba(0,0,0,.28);
}
body[data-tokens-motion="none"] {
  --rb-token-duration-fast: 0ms;
  --rb-token-duration-base: 0ms;
  --rb-token-duration-slow: 0ms;
}
body[data-tokens-motion="gentle"] {
  --rb-token-duration-fast: 250ms;
  --rb-token-duration-base: 400ms;
  --rb-token-duration-slow: 600ms;
  --rb-token-ease-default: cubic-bezier(0.25, 0.1, 0.25, 1);
}
body[data-tokens-motion="snappy"] {
  --rb-token-duration-fast: 80ms;
  --rb-token-duration-base: 140ms;
  --rb-token-duration-slow: 220ms;
  --rb-token-ease-default: cubic-bezier(0.4, 0, 0.6, 1);
}
:root {
  --rb-token-radius-xs: 4px;
  --rb-token-radius-sm: 6px;
  --rb-token-radius-md: 10px;
  --rb-token-radius-lg: 16px;
  --rb-token-radius-xl: 24px;
  --rb-token-radius-full: 9999px;
  --rb-token-spacing-unit: 4px;
  --rb-token-spacing-scale: 1;
  --rb-token-space-1: calc(var(--rb-token-spacing-unit) * 1 * var(--rb-token-spacing-scale));
   --rb-token-space-2: calc(var(--rb-token-spacing-unit) * 2 * var(--rb-token-spacing-scale));
   --rb-token-space-3: calc(var(--rb-token-spacing-unit) * 3 * var(--rb-token-spacing-scale));
   --rb-token-space-4: calc(var(--rb-token-spacing-unit) * 4 * var(--rb-token-spacing-scale));
   --rb-token-space-6: calc(var(--rb-token-spacing-unit) * 6 * var(--rb-token-spacing-scale));
   --rb-token-space-8: calc(var(--rb-token-spacing-unit) * 8 * var(--rb-token-spacing-scale));
   --rb-token-space-12: calc(var(--rb-token-spacing-unit) * 12 * var(--rb-token-spacing-scale));
   --rb-token-space-16: calc(var(--rb-token-spacing-unit) * 16 * var(--rb-token-spacing-scale));
  ;
  --rb-token-shadow-xs: 0 1px 2px rgba(0,0,0,.04);
  --rb-token-shadow-sm: 0 2px 4px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --rb-token-shadow-md: 0 4px 8px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.05);
  --rb-token-shadow-lg: 0 12px 24px rgba(0,0,0,.10), 0 4px 8px rgba(0,0,0,.06);
  --rb-token-shadow-xl: 0 24px 48px rgba(0,0,0,.14), 0 8px 16px rgba(0,0,0,.08);
  --rb-token-duration-fast: 150ms;
  --rb-token-duration-base: 250ms;
  --rb-token-duration-slow: 400ms;
  --rb-token-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --rb-token-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --rb-token-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --rb-token-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --rb-token-font-serif: 'Merriweather', Georgia, 'Times New Roman', serif;
  --rb-token-font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
  --rb-token-font-display: 'Space Grotesk', 'Inter', sans-serif;
  --rb-token-font-body: var(--rb-token-font-sans);
  --rb-token-font-heading: var(--rb-token-font-sans);
  --rb-token-type-scale: 1;
}
body[data-tokens-typography="serif"] {
  --rb-token-font-body: var(--rb-token-font-serif);
  --rb-token-font-heading: var(--rb-token-font-serif);
}
body[data-tokens-typography="mono"] {
  --rb-token-font-body: var(--rb-token-font-mono);
  --rb-token-font-heading: var(--rb-token-font-mono);
}
body[data-tokens-typography="display"] {
  --rb-token-font-body: var(--rb-token-font-sans);
  --rb-token-font-heading: var(--rb-token-font-display);
}
body[data-tokens-type-scale="sm"] { --rb-token-type-scale: 0.92; }
body[data-tokens-type-scale="lg"] { --rb-token-type-scale: 1.08; }
body[data-tokens-type-scale="xl"] { --rb-token-type-scale: 1.18; }
body { font-size: calc(16px * var(--rb-token-type-scale, 1)); }
:root {
  --rb-bg:           var(--bg, var(--rf-bg, var(--rbc-bg, var(--background, #f4f5f8))));
  --rb-bg-alt:       var(--bg-alt, var(--rf-bg-soft, var(--rbc-surface-2, var(--muted, #eef0f4))));
  --rb-bg-elev:      var(--bg-elev, var(--surface, var(--rbc-surface, var(--rf-surface, #ffffff))));
  --rb-surface:      var(--surface, var(--rf-surface, var(--rbc-surface, #ffffff)));
  --rb-surface-2:    var(--surface-2, var(--rf-surface-alt, var(--rbc-surface-2, #fafbfd)));
  --rb-surface-raised: var(--surface-raised, var(--rbc-surface-3, var(--rf-surface, #ffffff)));
  
  --rb-text:         var(--text, var(--foreground, var(--rf-text, var(--rbc-fg, #1f2330))));
  --rb-text-muted:   var(--text-muted, var(--muted-foreground, var(--rf-text-mute, var(--rbc-fg-mute, #686878))));
  --rb-text-faint:   var(--text-faint, var(--rf-text-mute, var(--rbc-fg-faint, #94a3b8)));
  
  --rb-primary:      var(--primary, var(--rf-primary, var(--rbc-primary, #ff5722)));
  --rb-primary-fg:   var(--primary-foreground, var(--rbc-primary-deep, #ffffff));
  --rb-primary-soft: var(--accent-soft, var(--rbc-primary-soft, var(--rf-bg-soft, color-mix(in srgb, var(--rb-primary) 12%, transparent))));
  --rb-accent:       var(--accent, var(--rf-accent, var(--rbc-accent, var(--rb-primary))));
  --rb-accent-fg:    var(--accent-fg, var(--rbc-primary-deep, #ffffff));
  
  --rb-success:      var(--success, var(--rf-success, var(--rbc-success, #22c55e)));
  --rb-warning:      var(--warning, var(--rf-warning, var(--rbc-warning, var(--warn, #f59e0b))));
  --rb-danger:       var(--danger, var(--rf-danger, var(--rbc-danger, #ef4444)));
  --rb-info:         var(--rf-info, var(--rbc-info, #3b82f6));
  
  --rb-border:       var(--border, var(--rf-border, var(--rbc-border, #e4e4ea)));
  --rb-border-strong: var(--border-strong, var(--rbc-border-strong, var(--rb-border)));
  --rb-border-soft:  var(--rf-border-soft, var(--rb-border));
  
  --rb-header-h:     var(--header-h, var(--rb-header-height, 56px));
  --rb-rail-w:       var(--rail-w, 64px);
  --rb-max-page-width: var(--rb-max-page-width, 1280px);
  
  --rb-radius:       var(--radius, var(--rf-radius, var(--rbc-radius, 10px)));
  --rb-radius-sm:    var(--radius-sm, var(--rf-radius-sm, var(--rbc-radius-sm, 6px)));
  --rb-radius-lg:    var(--radius-lg, var(--rbc-radius-lg, 16px));
  --rb-radius-full:  var(--rb-token-radius-full, 9999px);
  
  --rb-shadow-sm:    var(--shadow-sm, var(--rbc-shadow-sm, var(--rb-token-shadow-sm, 0 1px 2px rgba(0,0,0,.05))));
  --rb-shadow:       var(--shadow, var(--rf-shadow, var(--rbc-shadow, var(--rb-token-shadow-md, 0 4px 6px rgba(0,0,0,.06)))));
  --rb-shadow-lg:    var(--shadow-lg, var(--rf-shadow-md, var(--rbc-shadow-lg, var(--rb-token-shadow-lg, 0 12px 24px rgba(0,0,0,.10)))));
  
  --rb-duration-fast: var(--rbc-fast, var(--rb-token-duration-fast, 150ms));
  --rb-duration:      var(--rb-token-duration-base, 250ms);
  --rb-ease:          var(--rbc-easing, var(--rb-token-ease-default, cubic-bezier(.4,0,.2,1)));
  
  --rb-font-sans:    var(--font-sans, var(--rb-token-font-sans, 'Inter', system-ui, sans-serif));
  --rb-font-mono:    var(--font-mono, var(--rb-token-font-mono, 'JetBrains Mono', ui-monospace, monospace));
  
  --bg: var(--rb-bg);
  --text: var(--rb-text);
  --text-muted: var(--rb-text-muted);
  --bg-alt: var(--rb-bg-alt);
  --bg-elev: var(--rb-bg-elev);
  --surface-2: var(--rb-surface-2);
  --header-h: var(--rb-header-h);
  --rail-w: var(--rb-rail-w);
  --shadow-sm: var(--rb-shadow-sm);
  --shadow-md: var(--rb-shadow);
  --shadow-lg: var(--rb-shadow-lg);
  --border-strong: var(--rb-border-strong);
  --warn: var(--rb-warning);
  --accent-fg: var(--rb-accent-fg);
  --accent-soft: var(--rb-primary-soft);
}
html[data-theme="dark"],
body.rf-dark,
body.rb-dark {
  --rb-bg:           var(--rf-dark-bg, #1a2031);
  --rb-bg-alt:       var(--rf-dark-surface-2, #22222c);
  --rb-bg-elev:      var(--rf-dark-surface, #232a3c);
  --rb-surface:      var(--rf-dark-surface, #232a3c);
  --rb-surface-2:    var(--rf-dark-surface-2, #2a3247);
  --rb-text:         var(--rf-dark-text, #e5e7eb);
  --rb-text-muted:   var(--rf-dark-text-2, #a3abbe);
  --rb-text-faint:   var(--rf-dark-text-mute, #7a839a);
  --rb-border:       var(--rf-dark-border, #353d52);
  --rb-border-soft:  rgba(255,255,255,0.06);
}
:root {
  --rb-start: left;
  --rb-end: right;
  --rb-text-align-start: left;
  --rb-text-align-end: right;
}
[dir="rtl"] {
  --rb-start: right;
  --rb-end: left;
  --rb-text-align-start: right;
  --rb-text-align-end: left;
}
[dir="rtl"] .rb-list-row--active {
  border-left: 0;
  border-right: 3px solid var(--rb-primary);
  padding-left: 14px;
  padding-right: 11px;
}
[dir="rtl"] .rb-card__head svg,
[dir="rtl"] .rb-card__head i.fa-chevron-right { transform: scaleX(-1); }
[dir="rtl"] .rb-dropdown { left: auto; right: 0; }
[dir="rtl"] .rb-btn i { margin-left: 0; margin-right: 4px; }
body.rb-rtl { direction: rtl; text-align: right; }
.text-fg       { color: var(--foreground); }
.text-muted    { color: var(--muted-foreground); }
.text-primary  { color: var(--primary); }
.text-danger   { color: var(--danger); }
.text-warning  { color: var(--warning); }
.text-success  { color: var(--success); }
.surface-card {
  background: var(--surface);
  border: 1px solid var(--border);
}
.surface-card-fg {
  background: var(--background);
  border: 1px solid var(--border);
  color: var(--foreground);
}
.divider-y      { border-bottom: 1px solid var(--border); }
.divider-y-top  { border-top: 1px solid var(--border); }
.w-full  { width: 100%; }
.hidden  { display: none; }
.hover-muted {
  transition: background-color .12s ease;
}
.hover-muted:hover {
  background-color: var(--muted);
}
.hover-primary-soft {
  transition: background-color .12s ease;
}
.hover-primary-soft:hover {
  background-color: color-mix(in srgb, var(--primary) 8%, transparent);
}
.userBanner {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--banner-fg, #fff);
    line-height: 1.6;
    white-space: nowrap;
}
.userBanner i {
    font-size: 0.65rem;
}
.userBanner--image {
    display: inline-block;
    gap: 0;
    padding: 0;
    background: none;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-radius: 4px;
}
.userBanner--hidden {
    display: none;
}
.userBanner--primary {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #ff5722);
    border-radius: 3px;
}
.userBanner--accent {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #a855f7);
    border-radius: 3px;
}
.userBanner--red {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #ef4444);
    border-radius: 3px;
}
.userBanner--green {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #22c55e);
    border-radius: 3px;
}
.userBanner--olive {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #84cc16);
    color: var(--banner-fg, #1a2e00);
    border-radius: 3px;
}
.userBanner--lightGreen {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #34d399);
    color: var(--banner-fg, #064e3b);
    border-radius: 3px;
}
.userBanner--blue {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #3b82f6);
    border-radius: 3px;
}
.userBanner--royalBlue {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #f24b18);
    border-radius: 3px;
}
.userBanner--skyBlue {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #0ea5e9);
    border-radius: 3px;
}
.userBanner--gray {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #6b7280);
    border-radius: 3px;
}
.userBanner--silver {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #94a3b8);
    color: var(--banner-fg, #1e293b);
    border-radius: 3px;
}
.userBanner--yellow {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #eab308);
    color: var(--banner-fg, #422006);
    border-radius: 3px;
}
.userBanner--orange {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2)), var(--banner-bg, #f97316);
    border-radius: 3px;
}
.userBanner--crimsonOutline {
    background: transparent;
    border: 2px solid var(--banner-bg, #8b2252);
    color: var(--banner-fg, #8b2252);
    border-radius: 20px;
    padding: 2px 14px;
}
.userBanner--crimsonSolid {
    background: var(--banner-bg, #7b2d3b);
    border-radius: 4px;
}
.userBanner--violetOutline {
    background: transparent;
    border: 2px solid var(--banner-bg, #6d28d9);
    color: var(--banner-fg, #6d28d9);
    border-radius: 20px;
    padding: 2px 14px;
}
.userBanner--violetSolid {
    background: var(--banner-bg, #5b21b6);
    border-radius: 4px;
}
.userBanner--aquaOutline {
    background: transparent;
    border: 2px solid var(--banner-bg, #0891b2);
    color: var(--banner-fg, #0891b2);
    border-radius: 20px;
    padding: 2px 14px;
}
.userBanner--steelBlue {
    background: var(--banner-bg, #2563eb);
    border-radius: 4px;
}
.userBanner--navyBlue {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.12)), var(--banner-bg, #1e3a5f);
    border-radius: 4px;
}
.userBanner--deepTeal {
    background: var(--banner-bg, #0f766e);
    border-radius: 4px;
}
.userBanner--emeraldStripe {
    background:
        repeating-linear-gradient(-55deg,
            transparent,
            transparent 8px,
            rgba(0, 0, 0, 0.18) 8px,
            rgba(0, 0, 0, 0.18) 16px),
        var(--banner-bg, #059669);
    border-radius: 4px;
}
.userBanner--tealStripe {
    background:
        repeating-linear-gradient(-55deg,
            transparent,
            transparent 8px,
            rgba(0, 0, 0, 0.18) 8px,
            rgba(0, 0, 0, 0.18) 16px),
        var(--banner-bg, #0d9488);
    border-radius: 4px;
}
.userBanner--amber {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15)), var(--banner-bg, #b45309);
    border-radius: 4px;
}
.userBanner--orangeOutline {
    background: transparent;
    border: 2px solid var(--banner-bg, #ea580c);
    color: var(--banner-fg, #ea580c);
    border-radius: 20px;
    padding: 2px 14px;
}
.userBanner--tealSolid {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.15)), var(--banner-bg, #0d9488);
    border-radius: 4px;
}
.userBanner--charcoal {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.08)), var(--banner-bg, #1e293b);
    border-radius: 4px;
}
.userBanner--custom {
    background: var(--banner-bg, #ff5722);
    border-radius: 3px;
}
.bbcode-quote {
    border-left: 3px solid var(--color-primary-500);
    background: var(--color-surface-raised, rgba(255, 87, 34, 0.04));
    padding: 0.5rem 0.75rem;
    margin: 0.35rem 0;
    border-radius: 0 0.375rem 0.375rem 0;
    font-style: normal;
    font-size: 0.875rem;
    line-height: 1.5;
}
.bbcode-quote+br {
    display: none;
}
.bbcode-quote+br+br {
    display: none;
}
.dark .bbcode-quote {
    background: var(--color-dark-elevated, rgba(255, 87, 34, 0.06));
}
.bbcode-quote .bbcode-quote-author {
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    color: var(--color-primary-500);
    margin-bottom: 0.2rem;
}
.bbcode-quote cite {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    font-style: normal;
    color: var(--color-primary-500);
    margin-bottom: 0.2rem;
}
.bbcode-quote[data-collapsible] .bbcode-quote-content {
    position: relative;
    max-height: 150px;
    overflow: hidden;
    transition: max-height 0.25s ease;
}
.bbcode-quote[data-collapsible]:not(.is-expanded) .bbcode-quote-content::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255, 87, 34, 0), var(--color-surface-raised, rgba(255, 87, 34, 0.04)));
    pointer-events: none;
}
.bbcode-quote.is-expanded .bbcode-quote-content {
    max-height: none;
}
.bbcode-quote__expand {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 0.4rem;
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-primary-500);
    background: transparent;
    border: 1px solid var(--color-border, rgba(127, 127, 127, 0.25));
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.bbcode-quote__expand:hover {
    background: var(--color-surface-raised, rgba(255, 87, 34, 0.08));
}
.dark .bbcode-quote[data-collapsible]:not(.is-expanded) .bbcode-quote-content::after {
    background: linear-gradient(to bottom, rgba(255, 87, 34, 0), var(--color-dark-elevated, rgba(255, 87, 34, 0.06)));
}
.rb-embed {
    display: flex;
    align-items: stretch;
    gap: 12px;
    max-width: 560px;
    margin: 10px 0;
    padding: 12px 14px 12px 16px;
    border: 1px solid var(--color-border, rgba(127, 127, 127, 0.18));
    border-radius: 14px;
    background: var(--color-surface, #ffffff);
    text-decoration: none;
    color: var(--color-text-primary, #0f172a);
    position: relative;
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.rb-embed::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--color-primary-500, #ff5722);
}
.rb-embed--user::before { background: #8b5cf6; }
.rb-embed--post::before { background: #0ea5e9; }
.rb-embed--forum::before { background: #10b981; }
.rb-embed:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
    border-color: var(--color-primary-500, #ff5722);
}
a.rb-embed[href],
a.rb-embed[href]:hover,
a.rb-embed[href]:focus { text-decoration: none !important; }
.rb-embed__avatar {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}
.rb-embed__avatar--lg { width: 54px; height: 54px; border-radius: 12px; }
.rb-embed__icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 185, 129, 0.12);
    color: #10b981;
    font-size: 1.05rem;
}
.rb-embed__body {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.rb-embed__head { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.rb-embed__title {
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
.rb-embed__prefix {
    font-size: 0.66rem;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 4px 8px;
    white-space: nowrap;
}
.rb-embed__kind {
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted, #94a3b8);
    border: 1px solid var(--color-border, rgba(127, 127, 127, 0.25));
    border-radius: 4px;
    padding: 2px 6px;
}
.rb-embed__rank { font-size: 0.72rem; color: var(--color-text-muted, #94a3b8); }
.rb-embed__byline {
    font-size: 0.74rem;
    color: var(--color-text-muted, #94a3b8);
    display: flex;
    gap: 6px;
    align-items: center;
}
.rb-embed__by { font-weight: 600; }
.rb-embed__dot { opacity: 0.5; }
.rb-embed__excerpt {
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--color-text-muted, #94a3b8);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rb-embed__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--color-text-muted, #94a3b8);
}
.rb-embed__m { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.rb-embed__m i { font-size: 0.78em; opacity: 0.8; }
.rb-embed__chev {
    display: flex;
    align-items: center;
    color: var(--color-text-muted, #94a3b8);
    opacity: 0.45;
    font-size: 0.8rem;
}
.rb-embed:hover .rb-embed__chev { opacity: 1; color: var(--color-primary-500, #ff5722); }
.bbcode-embed-internal {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    margin: 8px 0;
    border: 1px dashed var(--color-border, rgba(127, 127, 127, 0.35));
    border-radius: 10px;
    background: var(--color-surface, #ffffff);
    font-size: 0.82rem;
    color: var(--color-text-muted, #94a3b8);
}
.bbcode-code-wrap {
    margin: 0.5rem 0;
    border-radius: 0.5rem;
    overflow: hidden;
    border: 1px solid var(--color-border-dark, rgba(255, 255, 255, 0.08));
    background: #0d1117;
}
.bbcode-code-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.75rem;
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.bbcode-code-lang {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--color-primary-400, #ff8a5c);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.bbcode-code-copy {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.4);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    transition: all 0.2s;
}
.bbcode-code-copy:hover {
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.08);
}
.bbcode-code-copy.copied {
    color: #22c55e;
}
.bbcode-code {
    background: #0d1117;
    color: #e0e0e0;
    padding: 0.75rem;
    margin: 0;
    overflow-x: auto;
    font-size: 0.8rem;
    line-height: 1.6;
    display: flex;
    gap: 0.75rem;
}
.bbcode-code code {
    background: transparent;
    color: inherit;
    font-size: inherit;
    padding: 0;
    flex: 1;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
}
.bbcode-code-lines {
    display: flex;
    flex-direction: column;
    text-align: right;
    user-select: none;
    min-width: 2rem;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    padding-right: 0.75rem;
}
.bbcode-code-ln {
    font-size: 0.7rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.2);
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
}
[data-theme="light"] .bbcode-code-wrap {
    background: #f8f9fc !important;
    border-color: #e2e8f0 !important;
}
[data-theme="light"] .bbcode-code-header {
    background: #f1f5f9 !important;
    border-bottom-color: #e2e8f0 !important;
}
[data-theme="light"] .bbcode-code-lang {
    color: var(--color-primary-600, #f24b18) !important;
}
[data-theme="light"] .bbcode-code-copy {
    color: #64748b !important;
}
[data-theme="light"] .bbcode-code-copy:hover {
    color: #1e293b !important;
    background: rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .bbcode-code {
    background: #f8f9fc !important;
    color: #334155 !important;
}
[data-theme="light"] .bbcode-code code {
    color: #334155 !important;
    background: transparent !important;
}
[data-theme="light"] .bbcode-code-lines {
    border-right-color: #e2e8f0 !important;
}
[data-theme="light"] .bbcode-code-ln {
    color: #94a3b8 !important;
}
.bbcode-icode {
    background: var(--color-surface-raised, rgba(255, 87, 34, 0.08));
    color: var(--color-primary-600, #ff5722);
    padding: 0.15em 0.4em;
    border-radius: 0.25rem;
    font-size: 0.85em;
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
}
.dark .bbcode-icode {
    background: rgba(255, 87, 34, 0.12);
    color: var(--color-primary-400);
}
.bbcode-spoiler {
    margin: 0.5rem 0;
    border: 1px solid var(--color-border, rgba(0, 0, 0, 0.1));
    border-radius: 0.5rem;
    overflow: hidden;
}
.dark .bbcode-spoiler {
    border-color: var(--color-border-dark, rgba(255, 255, 255, 0.08));
}
.bbcode-spoiler>summary {
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    font-weight: 600;
    background: var(--color-surface-raised, rgba(0, 0, 0, 0.02));
    user-select: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.dark .bbcode-spoiler>summary {
    background: var(--color-dark-elevated, rgba(255, 255, 255, 0.03));
}
.bbcode-spoiler>summary::before {
    content: '▶';
    font-size: 0.6rem;
    transition: transform 0.2s;
}
.bbcode-spoiler[open]>summary::before {
    transform: rotate(90deg);
}
.bbcode-spoiler> :not(summary) {
    padding: 0.75rem;
}
.bbcode-ispoiler:hover,
.bbcode-ispoiler:focus,
.bbcode-ispoiler.revealed {
    color: inherit;
    background: var(--color-surface-raised, rgba(0, 0, 0, 0.06));
}
.dark .bbcode-ispoiler {
    background: rgba(255, 255, 255, 0.15);
}
.dark .bbcode-ispoiler:hover,
.dark .bbcode-ispoiler.revealed {
    background: rgba(255, 255, 255, 0.06);
}
.bbcode-list {
    padding-left: 1.5rem;
    margin: 0.25rem 0;
    list-style-type: disc;
}
.wysiwyg-editor ul,
.wysiwyg-editor ol {
    padding-left: 1.5rem !important;
    margin: 0.25rem 0 !important;
    display: block !important;
}
.wysiwyg-editor ul {
    list-style-type: disc !important;
}
.wysiwyg-editor ol {
    list-style-type: decimal !important;
}
.wysiwyg-editor li {
    margin: 0.15rem 0;
    display: list-item !important;
}
.bbcode-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.5rem 0;
    font-size: 0.85rem;
}
.bbcode-th,
.bbcode-td {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--color-border, rgba(0, 0, 0, 0.12));
    text-align: left;
}
.dark .bbcode-th,
.dark .bbcode-td {
    border-color: var(--color-border-dark, rgba(255, 255, 255, 0.08));
}
.bbcode-th {
    font-weight: 600;
    background: var(--color-surface-raised, rgba(0, 0, 0, 0.03));
}
.dark .bbcode-th {
    background: var(--color-dark-elevated, rgba(255, 255, 255, 0.04));
}
.bbcode-indent {
    margin: 0.25rem 0;
}
.bbcode-heading {
    margin: 0.5rem 0 0.25rem;
    font-weight: 700;
}
.bbcode-hr {
    border: none;
    border-top: 1px solid var(--color-border, rgba(0, 0, 0, 0.12));
    margin: 0.75rem 0;
}
.dark .bbcode-hr {
    border-color: var(--color-border-dark, rgba(255, 255, 255, 0.08));
}
.bbcode-php,
.bbcode-html {
    background: #0d1117;
    color: #e0e0e0;
    padding: 1rem;
    margin: 0.5rem 0;
    border-radius: 0.5rem;
    overflow-x: auto;
    font-size: 0.8rem;
    border: 1px solid var(--color-border-dark, rgba(255, 255, 255, 0.08));
}
[data-theme="light"] .bbcode-php,
[data-theme="light"] .bbcode-html {
    background: #f8f9fc;
    color: #334155;
    border-color: #e2e8f0;
}
.bbcode-mention {
    font-weight: 600;
    color: var(--color-primary-500);
    cursor: pointer;
}
.bbcode-mention:not(:hover) {
    text-decoration: none;
}
.bbcode-mention:hover {
    text-decoration: underline;
}
.bbcode-mention--group {
    cursor: default;
    padding: 0 0.4em;
    border-radius: 0.35em;
    background: color-mix(in srgb, var(--color-primary-500, #ff5722) 18%, transparent);
    color: var(--color-primary-700, var(--color-primary-500, #d2410f));
    text-decoration: none !important;
    font-weight: 700;
}
.bbcode-mention--group:hover {
    background: color-mix(in srgb, var(--color-primary-500, #ff5722) 28%, transparent);
}
.bbcode-mention--everyone,
.bbcode-mention--users {
    background: color-mix(in srgb, var(--color-warn, #f59e0b) 22%, transparent);
    color: var(--color-warn, #b45309);
}
.bbcode-mention--admin {
    background: color-mix(in srgb, var(--color-danger, #ef4444) 22%, transparent);
    color: var(--color-danger, #b91c1c);
}
.bbcode-mention--staff,
.bbcode-mention--mods {
    background: color-mix(in srgb, var(--color-success, #10b981) 22%, transparent);
    color: var(--color-success, #047857);
}
.bbcode-embed {
    max-width: 100%;
    margin: 0.5rem 0;
}
.bbcode-embed iframe {
    max-width: 100%;
    border-radius: 0.5rem;
}
.bbcode-attach {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    background: var(--color-surface-raised, rgba(255, 87, 34, 0.06));
    border-radius: 0.25rem;
    font-size: 0.8rem;
    color: var(--color-primary-500);
    text-decoration: none;
}
.bbcode-attach:hover {
    text-decoration: underline;
}
.bbcode-hide {
  margin: 0.5rem 0;
  padding: 0.75rem 1rem;
  border-left: 4px solid var(--color-primary-500, #4a90e2);
  border-radius: 0.25rem;
  background: var(--color-surface-variant, rgba(0, 0, 0, 0.03));
}
.bbcode-hide-visible {
  border-left-color: var(--color-success, #2e7d32);
}
.bbcode-hide-locked {
  border-left-color: var(--color-warning, #f59e0b);
  color: var(--color-on-surface-muted, #b45309);
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bbcode-hide-icon {
  flex-shrink: 0;
  opacity: 0.75;
}
.bbcode-hide-message {
  font-size: 0.9em;
}
.bbcode-hide-menu button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.4rem 0.75rem;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 0.85rem;
}
.bbcode-hide-edit {
  margin: 0.5rem 0;
  border: 1px dashed var(--color-warning, #f59e0b);
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 7%, transparent);
  overflow: hidden;
}
.bbcode-hide-edit__head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.6rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-warning, #b45309);
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 12%, transparent);
  border-bottom: 1px dashed color-mix(in srgb, var(--color-warning, #f59e0b) 45%, transparent);
  -webkit-user-select: none;
  user-select: none;
}
.bbcode-hide-edit__head i {
  opacity: 0.85;
}
.bbcode-hide-edit__body {
  padding: 0.55rem 0.7rem;
  min-height: 1.4em;
  outline: none;
}
.bbcode-hide-edit__body:focus {
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 4%, transparent);
}
.bbcode-ispoiler {
  background: var(--color-on-surface, #333);
  color: transparent;
  padding: 0.1em 0.3em;
  border-radius: 0.2rem;
  cursor: pointer;
  transition: color 0.2s;
  user-select: none;
}
.bbcode-lang-tabs {
  margin: 14px 0;
}
.bbcode-lang-tabbar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
  border-bottom: 1px solid var(--border, #e4e4ea);
  background: transparent;
}
.bbcode-lang-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  border: 0;
  background: transparent;
  color: var(--muted-foreground, #6b7280);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  border-bottom: 2px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  line-height: 1.4;
}
.bbcode-lang-tab:hover {
  background: var(--muted, rgba(0,0,0,0.04));
  color: var(--foreground, #18181b);
}
.bbcode-lang-tab.is-active {
  color: var(--primary, #2563eb);
  border-bottom-color: var(--primary, #2563eb);
  background: var(--surface, #fff);
}
.bbcode-lang-tab .bbcode-lang-flag {
  width: 20px;
  height: 15px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
  display: inline-block;
  vertical-align: middle;
}
.rb-langc-overlay {
  position: fixed; inset: 0; z-index: 10060;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 5vh 16px; background: rgba(0,0,0,0.55);
  backdrop-filter: blur(2px);
}
.rb-langc-dialog {
  width: 100%; max-width: 860px; max-height: 90vh;
  display: flex; flex-direction: column;
  background: var(--surface, #18181b);
  border: 1px solid var(--border, #2a2a2e);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 64px -12px rgba(0,0,0,0.5);
}
.rb-langc-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-bottom: 1px solid var(--border, #2a2a2e);
}
.rb-langc-head h3 { margin: 0; font-size: 15px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.rb-langc-head h3 i { color: var(--primary, #f24b18); }
.rb-langc-x { border: 0; background: none; cursor: pointer; color: var(--muted-foreground, #999); font-size: 16px; padding: 4px 8px; border-radius: 6px; }
.rb-langc-x:hover { background: var(--muted, rgba(0,0,0,0.05)); color: var(--foreground, #fff); }
.rb-langc-add { padding: 12px 18px 0; }
.rb-langc-search { position: relative; }
.rb-langc-search .rb-input { width: 100%; padding: 8px 12px; font-size: 14px; }
.rb-langc-suggest {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 5;
  max-height: 260px; overflow-y: auto;
  background: var(--surface, #18181b);
  border: 1px solid var(--border, #2a2a2e); border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25); padding: 4px;
}
.rb-langc-suggest-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 7px 10px; border: 0; background: none; cursor: pointer;
  border-radius: 6px; font-size: 14px; color: var(--foreground, #fff); text-align: left;
}
.rb-langc-suggest-item:hover { background: var(--muted, rgba(0,0,0,0.06)); }
.rb-langc-code { margin-left: auto; opacity: .5; font-size: 11px; text-transform: uppercase; }
.rb-langc-flag { font-family: "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; font-size: 1.1em; line-height: 1; flex-shrink: 0; }
.rb-langc-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 12px 18px 0; }
.rb-langc-tab {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 10px 6px 12px; border: 1px solid var(--border, #2a2a2e);
  background: var(--surface-2, #202024); color: var(--muted-foreground, #999);
  border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 600;
}
.rb-langc-tab.is-active { color: var(--foreground, #fff); border-color: var(--primary, #f24b18); box-shadow: inset 0 -2px 0 var(--primary, #f24b18); }
.rb-langc-tab-x { font-size: 11px; opacity: .5; padding: 2px; border-radius: 4px; }
.rb-langc-tab-x:hover { opacity: 1; color: #ef4444; }
.rb-langc-body { padding: 14px 18px; overflow-y: auto; flex: 1 1 auto; min-height: 0; }
.rb-langc-empty { padding: 40px 18px; text-align: center; color: var(--muted-foreground, #999); }
.rb-langc-empty i { font-size: 30px; opacity: .4; display: block; margin-bottom: 10px; }
.rb-langc-empty p { margin: 0; font-size: 13.5px; }
.rb-langc-foot {
  display: flex; justify-content: flex-end; gap: 8px;
  padding: 12px 18px; border-top: 1px solid var(--border, #2a2a2e);
}
.bbcode-lang-panels {
  padding: 14px 2px 0;
}
.bbcode-lang-panel {
  display: none;
}
.bbcode-lang-panel.is-active {
  display: block;
  animation: bbcodeLangFade 0.15s ease;
}
@keyframes bbcodeLangFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
.bbcode-lang-block + .bbcode-lang-block {
  margin-top: 8px;
}
.bbcode-lang-block[data-lang]::before {
  content: attr(data-lang-name);
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-foreground, #6b7280);
  margin-bottom: 4px;
}
.bbcode-gallery {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 12px 0;
  border: 1px solid var(--border, #2a2a2e);
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface-2, #16161a);
  outline: none;
}
.bbcode-gallery * { box-sizing: border-box; }
.bbcode-gallery__viewport {
  position: relative;
  width: 100%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  cursor: pointer;
}
.bbcode-gallery__track { width: 100%; display: block; }
.bbcode-gallery__slide { display: none; text-align: center; }
.bbcode-gallery__slide.is-active { display: block; }
.bbcode-gallery__img {
  display: block;
  max-width: 100%;
  max-height: 70vh;
  margin: 0 auto;
  object-fit: contain;
}
.bbcode-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px; height: 36px;
  border: 0; border-radius: 50%;
  background: rgba(0,0,0,0.45);
  color: #fff; font-size: 16px; line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
  z-index: 2;
}
.bbcode-gallery__nav:hover { background: rgba(0,0,0,0.7); }
.bbcode-gallery__nav--prev { left: 8px; }
.bbcode-gallery__nav--next { right: 8px; }
.bbcode-gallery__counter {
  position: absolute;
  bottom: 8px; right: 10px;
  background: rgba(0,0,0,0.55);
  color: #fff; font-size: 11px;
  padding: 2px 8px; border-radius: 10px;
  font-variant-numeric: tabular-nums;
  z-index: 2;
}
.bbcode-gallery__dots {
  display: flex; flex-wrap: wrap; gap: 6px;
  justify-content: center;
  padding: 8px;
}
.bbcode-gallery__dot {
  width: 8px; height: 8px; border-radius: 50%;
  border: 0; padding: 0; cursor: pointer;
  background: var(--border, #3a3a3e);
  transition: background .15s, transform .15s;
}
.bbcode-gallery__dot.is-active {
  background: var(--primary, #f24b18);
  transform: scale(1.25);
}
.bbcode-gallery-edit {
  display: flex; gap: 6px; flex-wrap: wrap;
  padding: 8px; margin: 6px 0;
  border: 1px dashed var(--border, #2a2a2e);
  border-radius: 8px;
  position: relative;
}
.bbcode-gallery-edit::before {
  content: "🖼 Gallery";
  position: absolute; top: -9px; left: 8px;
  font-size: 10px; font-weight: 700; letter-spacing: .04em;
  background: var(--surface, #18181b); padding: 0 6px;
  color: var(--muted-foreground, #888);
}
.bbcode-gallery-edit img {
  width: 64px !important; height: 64px !important;
  object-fit: cover; border-radius: 6px; margin: 0 !important;
}
.rb-gallery-build {
  margin: 12px 0 4px; padding: 10px;
  border: 1px solid var(--border, #2a2a2e); border-radius: 10px;
}
.rb-gallery-build__head {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; font-weight: 600; margin-bottom: 8px;
  color: var(--foreground, #fff);
}
.rb-gallery-build__grid { display: flex; flex-wrap: wrap; gap: 8px; }
.rb-gallery-build__item { position: relative; width: 64px; height: 64px; }
.rb-gallery-build__item img {
  width: 64px; height: 64px; object-fit: cover; border-radius: 6px;
  border: 1px solid var(--border, #2a2a2e);
}
.rb-gallery-build__rm {
  position: absolute; top: -6px; right: -6px;
  width: 20px; height: 20px; border-radius: 50%;
  border: 0; cursor: pointer;
  background: #ef4444; color: #fff; font-size: 10px;
  display: flex; align-items: center; justify-content: center;
}
.rb-gallery-build__hint { font-size: 12px; color: var(--muted-foreground, #888); margin: 0; }
.username--banned {
    text-decoration: line-through;
    text-decoration-color: var(--danger, #dc2626);
    text-decoration-thickness: 2px;
    opacity: 0.7;
}
.avatar--banned {
    position: relative;
    display: inline-block;
    border-radius: 9999px;
    overflow: hidden;
}
.avatar--banned>div:last-of-type,
.avatar--banned::after {
    border-radius: 9999px;
}
.avatar--banned .avatar-ban-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #ef4444;
    font-size: 1.25em;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
    pointer-events: none;
}
.ban-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.25);
    vertical-align: middle;
    margin-left: 0.35rem;
    white-space: nowrap;
}
.ban-badge i {
    font-size: 0.6rem;
}
.skeleton {
    position: relative;
    overflow: hidden;
    background: var(--skeleton-bg, rgba(128, 128, 128, 0.12));
    border-radius: var(--radius-sm, 0.375rem);
}
.skeleton::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.08) 40%,
            rgba(255, 255, 255, 0.14) 50%,
            rgba(255, 255, 255, 0.08) 60%,
            transparent 100%);
    animation: skeleton-shimmer 1.8s infinite ease-in-out;
    transform: translateX(-100%);
}
[data-theme="light"] .skeleton::after {
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.04) 40%,
            rgba(0, 0, 0, 0.07) 50%,
            rgba(0, 0, 0, 0.04) 60%,
            transparent 100%);
}
@keyframes skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}
.skeleton--circle {
    border-radius: 50%;
}
.skeleton--text {
    height: 0.875rem;
    border-radius: 0.25rem;
}
.skeleton--text-sm {
    height: 0.625rem;
    border-radius: 0.25rem;
}
.skeleton--text-lg {
    height: 1.125rem;
    border-radius: 0.25rem;
}
.skeleton--block {
    border-radius: var(--radius, 0.75rem);
}
.skeleton-thread-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.skeleton-thread-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--card-bg, rgba(255, 255, 255, 0.03));
    border-radius: var(--radius, 0.75rem);
    border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
}
.skeleton-thread-item__avatar {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
}
.skeleton-thread-item__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.skeleton-thread-item__title {
    width: 65%;
}
.skeleton-thread-item__meta {
    display: flex;
    gap: 1rem;
}
.skeleton-thread-item__meta-item {
    width: 4rem;
}
.skeleton-thread-item__stats {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.375rem;
    flex-shrink: 0;
}
.skeleton-thread-item__stat {
    width: 2.5rem;
    height: 0.75rem;
}
.skeleton-thread-item:nth-child(2) .skeleton-thread-item__title {
    width: 80%;
}
.skeleton-thread-item:nth-child(3) .skeleton-thread-item__title {
    width: 50%;
}
.skeleton-thread-item:nth-child(4) .skeleton-thread-item__title {
    width: 72%;
}
.skeleton-thread-item:nth-child(5) .skeleton-thread-item__title {
    width: 60%;
}
.skeleton-widget {
    padding: 1rem;
    background: var(--card-bg, rgba(255, 255, 255, 0.03));
    border-radius: var(--radius, 0.75rem);
    border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
    margin-bottom: 1rem;
}
.skeleton-widget__title {
    width: 40%;
    height: 1rem;
    margin-bottom: 1rem;
}
.skeleton-widget__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
}
.skeleton-widget__item+.skeleton-widget__item {
    border-top: 1px solid var(--border, rgba(255, 255, 255, 0.04));
}
.skeleton-widget__item-avatar {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
}
.skeleton-widget__item-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}
.skeleton-widget__item-line1 {
    width: 70%;
}
.skeleton-widget__item-line2 {
    width: 45%;
}
.skeleton-widget__item:nth-child(2) .skeleton-widget__item-line1 {
    width: 55%;
}
.skeleton-widget__item:nth-child(3) .skeleton-widget__item-line1 {
    width: 80%;
}
.skeleton-forum-card {
    padding: 1.25rem;
    background: var(--card-bg, rgba(255, 255, 255, 0.03));
    border-radius: var(--radius, 0.75rem);
    border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}
.skeleton-forum-card__icon {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
}
.skeleton-forum-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.skeleton-forum-card__title {
    width: 45%;
    height: 1rem;
}
.skeleton-forum-card__desc {
    width: 70%;
}
.skeleton-forum-card__stats {
    display: flex;
    gap: 1.5rem;
    flex-shrink: 0;
}
.skeleton-forum-card__stat {
    width: 3rem;
    height: 2rem;
}
.htmx-indicator {
    opacity: 0;
    transition: opacity 200ms ease-in;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    opacity: 1;
}
#rb-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    transition: opacity 150ms ease;
}
#rb-progress.htmx-request {
    opacity: 1;
    background: linear-gradient(90deg,
            var(--primary, #ff5722) 0%,
            var(--primary-light, #ff8a5c) 50%,
            var(--primary, #ff5722) 100%);
    background-size: 200% 100%;
    animation: progress-slide 1.2s linear infinite;
}
@keyframes progress-slide {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}
[hx-boost] .htmx-swapping {
    opacity: 0.6;
    transition: opacity 200ms ease-out;
}
.skeleton--pulse {
    animation: skeleton-pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes skeleton-pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.4;
    }
}
@media (max-width: 640px) {
    .skeleton-thread-item {
        padding: 0.75rem;
    }
    .skeleton-thread-item__stats {
        display: none;
    }
    .skeleton-forum-card__stats {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .skeleton::after {
        animation: none;
    }
    .skeleton--pulse {
        animation: none;
    }
    #rb-progress.htmx-request {
        animation: none;
        background: var(--primary, #ff5722);
    }
}
h1 {
    font-size: var(--rb-text-2xl);
    font-weight: var(--rb-weight-bold);
    line-height: var(--rb-leading-tight);
    letter-spacing: var(--rb-tracking-tight);
}
h2 {
    font-size: var(--rb-text-xl);
    font-weight: var(--rb-weight-semibold);
    line-height: var(--rb-leading-tight);
}
h3 {
    font-size: var(--rb-text-lg);
    font-weight: var(--rb-weight-semibold);
    line-height: var(--rb-leading-snug);
}
h4 {
    font-size: var(--rb-text-md);
    font-weight: var(--rb-weight-semibold);
    line-height: var(--rb-leading-snug);
}
h5 {
    font-size: var(--rb-text-base);
    font-weight: var(--rb-weight-semibold);
    line-height: var(--rb-leading-normal);
}
h6 {
    font-size: var(--rb-text-sm);
    font-weight: var(--rb-weight-semibold);
    line-height: var(--rb-leading-normal);
    text-transform: uppercase;
    letter-spacing: var(--rb-tracking-wide);
}
small,
.text-sm {
    font-size: var(--rb-text-sm);
}
.text-xs {
    font-size: var(--rb-text-xs);
}
.text-2xs {
    font-size: var(--rb-text-2xs);
}
.text-base {
    font-size: var(--rb-text-base);
}
.text-lg {
    font-size: var(--rb-text-lg);
}
.text-xl {
    font-size: var(--rb-text-xl);
}
.text-2xl {
    font-size: var(--rb-text-2xl);
}
.text-3xl {
    font-size: var(--rb-text-3xl);
}
code,
pre,
.font-mono {
    font-family: var(--rb-font-mono);
    font-size: 0.9em;
}
@media (max-width: 640px) {
    :root {
        --rb-text-2xl: 1.375rem;
        --rb-text-3xl: 1.625rem;
        --rb-text-4xl: 1.875rem;
    }
}
@view-transition {
    navigation: auto;
}
::view-transition-old(root) {
    animation: rb-fade-out 0.15s ease-out;
}
::view-transition-new(root) {
    animation: rb-fade-in 0.15s ease-in;
}
@keyframes rb-fade-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-8px);
    }
}
@keyframes rb-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
#rb-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    z-index: 99999;
    background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 60%, #fff));
    transition: width 0.2s ease;
    box-shadow: 0 0 8px var(--primary);
    pointer-events: none;
    display: none;
}
.htmx-swapping {
    opacity: 0;
    transition: opacity 0.1s ease-out;
}
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100000;
    padding: 0.75rem 1.5rem;
    background: var(--primary);
    color: #fff;
    border-radius: 0 0 0.5rem 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: top 0.2s ease;
}
.skip-to-content:focus {
    top: 0;
    outline: none;
}
*:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 4px;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    @view-transition {
        navigation: none;
    }
    .htmx-swapping {
        transition: none;
    }
}
footer {
    color: var(--rb-footer-text-color, var(--muted-foreground));
}
footer h4 {
    color: var(--rb-footer-text-color, var(--foreground)) !important;
}
footer a:not(.no-underline-override) {
    color: var(--rb-footer-link-color, var(--muted-foreground)) !important;
}
footer a:hover {
    color: var(--rb-footer-link-color, var(--primary)) !important;
    opacity: 0.85;
}
a:not([class*="btn"]):not([class*="badge"]):not(.no-underline):not(nav a):not(footer a):not(header a):not([class*="-card"]):not([class*="-row"]):not([class*="-tile"]):not([class*="-link"]):not([class*="-item"]):not([class*="-chip"]):not(.chip):not(.tag) {
    color: var(--rb-link-color, inherit);
}
a:not([class*="btn"]):not([class*="badge"]):not(.no-underline):not(nav a):not(footer a):not(header a):not([class*="-card"]):not([class*="-row"]):not([class*="-tile"]):not([class*="-link"]):not([class*="-item"]):not([class*="-chip"]):not(.chip):not(.tag):hover {
    color: var(--rb-link-hover-color, var(--rb-link-color, inherit));
}
.btn-primary,
button[class*="primary"],
[class*="btn-primary"] {
    background: var(--rb-btn-primary-bg, var(--primary)) !important;
    color: var(--rb-btn-primary-text, #fff) !important;
    border-radius: var(--rb-btn-border-radius, var(--radius-sm, 6px));
    font-size: var(--rb-btn-font-size, inherit);
}
.btn-primary:hover,
button[class*="primary"]:hover,
[class*="btn-primary"]:hover {
    background: var(--rb-btn-primary-hover, var(--rb-btn-primary-bg, var(--primary))) !important;
}
.btn-secondary,
[class*="btn-secondary"] {
    background: var(--rb-btn-secondary-bg, var(--secondary)) !important;
    color: var(--rb-btn-secondary-text, inherit) !important;
}
.btn-danger,
[class*="btn-danger"] {
    background: var(--rb-btn-danger-bg, var(--destructive)) !important;
}
input[type="color"] {
    cursor: pointer;
}
input:not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
    border-radius: var(--rb-input-border-radius, var(--radius-sm, 4px));
    font-size: var(--rb-input-font-size, inherit);
}
.card,
[class*="rounded-xl"][class*="border"],
.thread-card {
    border-radius: var(--rb-card-border-radius, var(--radius-lg, 8px));
}
.badge,
[class*="badge"] {
    border-radius: var(--rb-badge-border-radius, 9999px);
    font-size: var(--rb-badge-font-size, 0.65rem);
}
.message-content {
    padding: var(--rb-message-padding, 1.25rem);
}
pre,
code:not([class]) {
    border-radius: var(--rb-card-border-radius, 6px);
}
.max-w-screen-2xl {
    max-width: var(--container, var(--container-max, var(--rb-max-page-width, 1280px)));
}
body {
    font-family: var(--font-sans, var(--rb-font-sans, inherit));
    font-size: var(--font-size, var(--rb-font-size-normal, 1rem));
}
.rb-sub-bar,
[data-component="sub-bar"] {
    background: var(--rb-sub-bar-bg, color-mix(in srgb, var(--muted) 30%, transparent));
    height: var(--rb-sub-bar-height, 44px);
}
.rb-sub-bar a,
[data-component="sub-bar"] a {
    color: var(--rb-sub-bar-text-color, var(--muted-foreground));
}
.rb-sub-bar a:hover,
[data-component="sub-bar"] a:hover {
    color: var(--rb-sub-bar-text-color, var(--foreground));
}
.breadcrumb,
nav.breadcrumb,
[data-component="breadcrumb"] {
    color: var(--rb-breadcrumb-color, var(--muted-foreground));
}
.breadcrumb .active,
.breadcrumb [aria-current],
.breadcrumb span:last-child {
    color: var(--rb-breadcrumb-active-color, var(--foreground));
}
.forum-node,
[data-component="forum-node"] {
    background: var(--rb-forum-node-bg, var(--surface));
    border-color: var(--rb-forum-node-border, var(--border));
}
.forum-node:hover,
[data-component="forum-node"]:hover {
    background: var(--rb-forum-node-hover-bg, color-mix(in srgb, var(--muted) 50%, transparent));
}
.forum-node .forum-icon,
.forum-node i.fas {
    color: var(--rb-forum-node-icon-color, var(--primary));
}
.thread-item,
[data-component="thread-item"] {
    background: var(--rb-thread-list-bg, var(--surface));
    border-color: var(--rb-thread-list-border, var(--border));
}
.thread-item:hover,
[data-component="thread-item"]:hover {
    background: var(--rb-thread-list-hover-bg, var(--muted));
}
.thread-item .thread-title,
.thread-item h4 a {
    color: var(--rb-thread-list-title-color, var(--foreground));
}
.profile-banner,
[data-component="profile-banner"] {
    height: var(--rb-profile-banner-height, 200px);
    background: var(--rb-profile-banner-gradient, linear-gradient(135deg, var(--primary), var(--accent)));
}
.profile-avatar,
[data-component="profile-avatar"] {
    width: var(--rb-profile-avatar-size, 120px);
    height: var(--rb-profile-avatar-size, 120px);
    border-color: var(--rb-profile-avatar-border, var(--surface));
}
.auth-form,
[data-component="auth-form"] {
    background: var(--rb-auth-form-bg, var(--surface));
    border-color: var(--rb-auth-form-border, var(--border));
    max-width: var(--rb-auth-form-max-width, 420px);
}
.content-body a,
.post-content a,
.message-body a {
    color: var(--rb-content-link-color, var(--primary));
}
.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4 {
    color: var(--rb-content-heading-color, var(--foreground));
}
.content-body,
.post-content,
.message-body {
    line-height: var(--rb-content-line-height, 1.7);
}
.thread-title-main,
h1.thread-title {
    font-size: var(--rb-thread-title-size, 1.5rem);
}
.section-title {
    font-size: var(--rb-section-title-size, 1.25rem);
}
.mobile-nav,
[data-component="mobile-nav"] {
    background: var(--rb-mobile-nav-bg, var(--surface));
    color: var(--rb-mobile-nav-text-color, var(--foreground));
}
.rb-avatar,
.avatar,
img.avatar,
[data-component="avatar"] {
    border-radius: var(--rb-avatar-border-radius);
    overflow: hidden;
}
a:has(> .rb-avatar),
a:has(> .avatar),
a:has(> img.avatar),
a .rb-avatar,
a .avatar,
.rb-avatar,
.avatar {
    text-decoration: none !important;
}
.rounded-sm {
    border-radius: var(--rb-border-radius-small, 2px) !important;
}
.rounded,
.rounded-md {
    border-radius: var(--rb-border-radius, 4px) !important;
}
.rounded-lg {
    border-radius: var(--rb-border-radius-large, 6px) !important;
}
.rounded-xl {
    border-radius: var(--rb-border-radius-medium, 0.75rem) !important;
}
.rounded-2xl {
    border-radius: var(--rb-border-radius-medium, 0.75rem) !important;
}
.rounded-full {
    border-radius: var(--rb-border-radius-full, 9999px) !important;
}
img.rounded-full[class*="w-"],
img.rounded-full[class*="h-"],
div.rounded-full[class*="w-"][class*="items-center"][class*="justify-center"],
img[class*="avatar"],
div[class*="avatar"],
[data-avatar],
img.rounded-full.object-cover {
    border-radius: var(--rb-avatar-border-radius);
}
.widget-no-card img[style*="border-radius"],
.widget-no-card div[style*="border-radius"] {
    border-radius: var(--rb-avatar-border-radius);
}
.member-avatar,
.member-list img[style*="border-radius: 50%"],
.member-list img[style*="border-radius:50%"] {
    border-radius: var(--rb-avatar-border-radius);
}
[data-tooltip],
.tooltip-content {
    background: var(--rb-tooltip-bg, var(--popover));
}
body > header,
[data-component="header"] {
    background: var(--rb-header-bg, var(--surface));
    color: var(--rb-header-text-color, var(--foreground));
    min-height: var(--rb-header-height, 4rem);
    border-bottom-color: var(--rb-header-border-color, var(--border));
}
body > header a:not(.rb-nav-active),
[data-component="header"] a:not(.rb-nav-active) {
    color: var(--rb-header-text-color, var(--foreground));
}
body > header.sticky {
    position: sticky;
    top: 0;
}
footer,
.rax-footer,
[data-component="footer"] {
    background: var(--rb-footer-bg, var(--surface));
    color: var(--rb-footer-text-color, var(--muted-foreground));
    border-top-color: var(--rb-header-border-color, var(--border));
}
footer a,
.rax-footer a,
[data-component="footer"] a {
    color: var(--rb-footer-link-color, var(--primary));
}
.rb-nav-item {
    color: var(--rb-nav-text-color, var(--muted-foreground));
}
.rb-nav-item:hover {
    background: var(--rb-nav-hover-bg, var(--muted));
}
.rb-nav-active,
.rb-nav-item.rb-nav-active {
    color: var(--rb-nav-active-color, var(--primary)) !important;
}
.rax-sub-bar,
[data-component="sub-bar"],
nav[aria-label*="sub"] {
    background: var(--rb-sub-bar-bg, color-mix(in srgb, var(--muted) 30%, transparent));
    min-height: var(--rb-sub-bar-height, 44px);
    color: var(--rb-sub-bar-text-color, var(--muted-foreground));
}
.breadcrumb,
nav[aria-label="breadcrumb"],
[data-component="breadcrumb"] {
    color: var(--rb-breadcrumb-color, var(--muted-foreground));
}
.breadcrumb .active,
.breadcrumb [aria-current],
[data-component="breadcrumb"] .active {
    color: var(--rb-breadcrumb-active-color, var(--foreground));
}
.breadcrumb li + li::before,
.breadcrumb .separator {
    content: var(--rb-breadcrumb-separator, '›');
}
.popover,
[data-component="popover"],
[x-show][role="menu"],
[x-show][role="listbox"] {
    background: var(--rb-popover-bg, var(--popover));
}
.btn-secondary,
[data-variant="secondary"] {
    color: var(--rb-secondary-fg, var(--secondary-foreground, var(--foreground)));
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
textarea,
select {
    background: var(--rb-input-bg, var(--input-background, var(--surface)));
    border-color: var(--rb-input-border, var(--input, var(--border)));
}
.rb-input {
    border: 1px solid var(--border);
    background: var(--input-background, var(--surface, var(--background)));
    color: var(--foreground);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.rb-input::placeholder {
    color: var(--muted-foreground);
    opacity: 0.7;
}
.rb-input:focus,
.rb-input:focus-visible {
    outline: 0;
    border-color: var(--ring);
    box-shadow: 0 0 0 3px var(--ring-alpha);
}
.rb-input[aria-invalid="true"],
.rb-input.is-invalid {
    border-color: var(--danger, #dc2626);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger, #dc2626) 18%, transparent);
}
.rb-field-error {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: var(--danger, #dc2626);
    animation: rb-field-err-in 180ms ease-out;
}
@keyframes rb-field-err-in {
    from { opacity: 0; transform: translateY(-2px); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-input { transition: none; }
    .rb-field-error { animation: none; }
}
.card,
[data-component="card"] {
    color: var(--rb-card-fg, var(--card-foreground, var(--foreground)));
}
.popover,
[data-component="popover"],
[x-show][x-cloak][role="dialog"] {
    color: var(--rb-popover-fg, var(--popover-foreground, var(--foreground)));
}
.btn-destructive,
.btn-danger,
[data-variant="destructive"] {
    color: var(--rb-destructive-fg, #ffffff);
}
.flash-banner {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .875rem 1.25rem;
    border-radius: .5rem;
    margin-bottom: 1rem;
    font-size: .9rem;
    font-weight: 500;
    animation: flashSlideIn .3s ease-out;
    cursor: pointer;
    transition: opacity .2s;
}
.flash-success {
    background: rgba(34, 197, 94, .12);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, .25);
}
.flash-error {
    background: rgba(239, 68, 68, .12);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, .25);
}
@keyframes flashSlideIn {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.flash-banner.fade-out {
    opacity: 0;
    transform: translateY(-12px);
}
.htmx-error-toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    max-width: 420px;
    padding: 14px 20px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #fff;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    border: 1px solid rgba(255, 255, 255, .15);
    box-shadow: 0 8px 32px rgba(220, 38, 38, .35), 0 2px 8px rgba(0, 0, 0, .2);
    transform: translateY(100px);
    opacity: 0;
    transition: transform .35s cubic-bezier(.4, 0, .2, 1), opacity .35s ease;
    cursor: pointer;
}
.htmx-error-toast.show {
    transform: translateY(0);
    opacity: 1;
}
.htmx-error-toast i {
    margin-right: 8px;
}
.thread-heat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    flex-shrink: 0;
}
.thread-heat--trending {
    background: rgba(239, 68, 68, 0.12);
    animation: heatPulse 1.5s ease-in-out infinite;
}
.thread-heat--hot {
    background: rgba(249, 115, 22, 0.12);
    animation: heatPulse 2s ease-in-out infinite;
}
.thread-heat--warm {
    background: rgba(234, 179, 8, 0.1);
}
@keyframes heatPulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.15);
        opacity: 0.8;
    }
}
.floating-reply-fab {
    display: none;
}
@media (max-width: 767px) {
    .floating-reply-fab {
        display: flex;
        align-items: center;
        gap: 8px;
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 9999;
        padding: 12px 20px;
        background: var(--primary);
        color: #fff;
        border-radius: 50px;
        font-size: 0.875rem;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25), 0 0 0 0 var(--primary);
        transition: transform 0.3s cubic-bezier(.4, 0, .2, 1), box-shadow 0.2s ease;
        animation: fabSlideUp 0.4s ease-out;
    }
    .floating-reply-fab:active {
        transform: scale(0.95) !important;
    }
    .floating-reply-fab i {
        font-size: 0.8rem;
    }
}
@keyframes fabSlideUp {
    from {
        transform: translateY(80px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.reaction-btn {
    position: relative;
    overflow: visible;
}
.reaction-btn.reaction-animate {
    animation: reactionPop 0.4s cubic-bezier(.17, .89, .32, 1.28);
}
@keyframes reactionPop {
    0% {
        transform: scale(1);
    }
    30% {
        transform: scale(1.25);
    }
    50% {
        transform: scale(0.92);
    }
    75% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}
.reaction-btn.reaction-animate::after {
    content: '👍';
    position: absolute;
    top: -4px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.9rem;
    animation: reactionFloat 0.7s ease-out forwards;
    pointer-events: none;
}
@keyframes reactionFloat {
    0% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-30px) scale(1.3);
    }
}
.reaction-picker {
    animation: pickerSlideUp 0.15s ease-out;
}
@keyframes pickerSlideUp {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.reaction-emoji-btn:hover {
    transform: scale(1.35) !important;
    background: color-mix(in srgb, var(--primary) 12%, transparent) !important;
}
.reaction-emoji-active {
    background: color-mix(in srgb, var(--primary) 20%, transparent) !important;
    border-radius: 50%;
    transform: scale(1.15);
}
.reaction-btn.reaction-animate::after {
    content: '';
}
@media (max-width: 767px) {
    .reaction-picker {
        border-radius: 16px !important;
        padding: 3px 4px !important;
    }
    .reaction-emoji-btn {
        font-size: 1.1rem !important;
        padding: 3px 4px !important;
    }
}
@media (max-width: 767px) {
    
    .btn-icon,
    .btn.btn-sm.btn-ghost.btn-icon,
    .btn.btn-sm.btn-ghost {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    .w-8.h-8.rounded-lg {
        min-width: 44px;
        min-height: 44px;
        width: 44px;
        height: 44px;
    }
}
@media (max-width: 768px) {
}
.rb-widget-container {
    background: var(--rb-widget-bg, var(--surface));
    border: var(--rb-widget-border, 1px solid var(--border));
    border-radius: var(--rb-widget-radius, 0.75rem);
    margin-bottom: 0.75rem;
    overflow: hidden;
}
.rb-widget-header {
    padding: 10px 14px 6px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rb-widget-icon {
    font-size: 0.8rem;
    color: var(--rb-widget-icon-color, var(--primary));
}
.rb-widget-title {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--rb-widget-title-color, var(--foreground));
}
.rb-widget-body {
    padding: 6px 14px 14px 14px;
}
.rb-avatar-img {
    object-fit: cover;
    flex-shrink: 0;
}
.rb-avatar-letter {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    font-weight: 700;
    letter-spacing: -0.02em;
}
:root {
   --rb-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --rb-font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
   --rb-text-2xs: 0.625rem;
   --rb-text-xs: 0.6875rem;
   --rb-text-sm: 0.8125rem;
   --rb-text-base: 0.875rem;
   --rb-text-md: 0.9375rem;
   --rb-text-lg: 1.0625rem;
   --rb-text-xl: 1.25rem;
   --rb-text-2xl: 1.5rem;
   --rb-text-3xl: 1.875rem;
   --rb-text-4xl: 2.25rem;
    --rb-leading-none: 1;
  --rb-leading-tight: 1.25;
  --rb-leading-snug: 1.375;
  --rb-leading-normal: 1.5;
  --rb-leading-relaxed: 1.625;
  --rb-leading-loose: 1.75;
   --rb-weight-normal: 400;
  --rb-weight-medium: 500;
  --rb-weight-semibold: 600;
  --rb-weight-bold: 700;
  --rb-weight-extrabold: 800;
   --rb-tracking-tighter: -0.03em;
  --rb-tracking-tight: -0.015em;
  --rb-tracking-normal: 0;
  --rb-tracking-wide: 0.025em;
  --rb-tracking-wider: 0.05em;
  --rb-tracking-widest: 0.1em;
  --ring: var(--primary);
  --ring-alpha: color-mix(in srgb, var(--primary) 22%, transparent);
  --transition-fast: var(--rb-duration-fast, 100ms);
  --transition-normal: var(--rb-duration-normal, 200ms);
  --transition-slow: var(--rb-duration-slow, 300ms);
  --ease-spring: var(--rb-ease-spring, cubic-bezier(0.34, 1.56, 0.64, 1));
  --font-weight-normal: var(--rb-font-weight-normal, 400);
  --font-weight-semibold: var(--rb-font-weight-semibold, 600);
  --notif-reply: var(--primary, #3b82f6);
  --notif-reaction: #ec4899;
  --notif-mention: #ff8a5c;
  --notif-quote: #14b8a6;
  --notif-conversation: #22c55e;
  --notif-warning: #f59e0b;
  --notif-follow: #06b6d4;
  --notif-default: var(--muted-foreground, #9ca3af);
  --notif-unread-bg: color-mix(in srgb, var(--primary) 5%, transparent);
  --notif-hover-bg: color-mix(in srgb, var(--muted) 50%, transparent);
  --notif-accent-w: 3px;
}
.notification-item-wrap {
    position: relative;
    border-bottom: 1px solid var(--border);
    transition: opacity 220ms ease;
}
.notification-item-wrap[data-read="0"]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--notif-accent-w);
    background: var(--primary);
    pointer-events: none;
}
.notification-item-wrap.is-fading {
    opacity: 0.4;
}
.notification-item {
    display: block;
    padding: 1rem;
    text-decoration: none;
    background: transparent;
    transition: background 180ms ease, opacity 220ms ease;
    position: relative;
}
.notification-item[data-read="0"],
.notification-item-wrap[data-read="0"] .notification-item {
    background: var(--notif-unread-bg);
}
.notification-item:hover {
    background: var(--notif-hover-bg);
}
.notification-item[data-read="0"]:hover,
.notification-item-wrap[data-read="0"] .notification-item:hover {
    background: color-mix(in srgb, var(--primary) 9%, transparent);
}
.notification-item.is-fading {
    opacity: 0.55;
}
.notification-item__icon-badge {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -0.125rem;
    right: -0.125rem;
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
}
.notification-item__icon-badge i {
    font-size: 0.55rem;
}
.notification-item__icon--reply { color: var(--notif-reply); }
.notification-item__icon--reaction { color: var(--notif-reaction); }
.notification-item__icon--mention { color: var(--notif-mention); }
.notification-item__icon--quote { color: var(--notif-quote); }
.notification-item__icon--conversation_reply { color: var(--notif-conversation); }
.notification-item__icon--warning,
.notification-item__icon--warning_issued { color: var(--notif-warning); }
.notification-item__icon--follow { color: var(--notif-follow); }
.notification-item__icon--default { color: var(--notif-default); }
@media (prefers-reduced-motion: reduce) {
    .notification-item { transition: none; }
}
.rb-recipient-picker {
    position: relative;
}
.rb-recipient-picker__field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface, var(--background));
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
.rb-recipient-picker__field:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
}
.rb-recipient-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.25rem 0.25rem 0.625rem;
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    animation: rb-chip-in 160ms ease-out;
}
.rb-recipient-picker__chip--invalid {
    background: color-mix(in srgb, var(--danger, #dc2626) 12%, transparent);
    color: var(--danger, #dc2626);
}
.rb-recipient-picker__chip-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    opacity: 0.7;
    transition: background 120ms ease, opacity 120ms ease;
    padding: 0;
    font-size: 0.625rem;
}
.rb-recipient-picker__chip-x:hover {
    background: color-mix(in srgb, currentColor 18%, transparent);
    opacity: 1;
}
.rb-recipient-picker__input {
    flex: 1;
    min-width: 8rem;
    border: 0;
    outline: 0;
    padding: 0.25rem 0.25rem;
    background: transparent;
    color: var(--foreground);
    font-size: 0.875rem;
}
.rb-recipient-picker__menu {
    position: absolute;
    z-index: 50;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    max-height: 18rem;
    overflow-y: auto;
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    padding: 0.25rem;
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
    transition: opacity 140ms ease, transform 140ms ease;
}
.rb-recipient-picker__menu[data-open="1"] {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
.rb-recipient-picker__option {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.625rem;
    border-radius: 0.375rem;
    cursor: pointer;
    color: var(--foreground);
    transition: background 120ms ease;
}
.rb-recipient-picker__option:hover,
.rb-recipient-picker__option[aria-selected="true"] {
    background: color-mix(in srgb, var(--primary) 10%, transparent);
}
.rb-recipient-picker__option-avatar {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    object-fit: cover;
    background: var(--muted);
    flex-shrink: 0;
}
.rb-recipient-picker__option-name {
    font-size: 0.875rem;
    font-weight: 500;
}
.rb-recipient-picker__hint {
    padding: 0.625rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    text-align: center;
}
@keyframes rb-chip-in {
    from { opacity: 0; transform: translateY(2px) scale(0.96); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-recipient-picker__field,
    .rb-recipient-picker__menu,
    .rb-recipient-picker__option,
    .rb-recipient-picker__chip { transition: none; animation: none; }
}
.rb-form-errors {
    margin-bottom: 1rem;
    padding: 1rem 1.125rem;
    background: color-mix(in srgb, var(--danger, #dc2626) 7%, transparent);
    border: 1px solid color-mix(in srgb, var(--danger, #dc2626) 25%, transparent);
    border-radius: 0.75rem;
    color: var(--danger, #dc2626);
    animation: rb-form-errors-in 220ms ease-out;
}
.rb-form-errors__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
}
.rb-form-errors__head i {
    font-size: 1rem;
}
.rb-form-errors__list {
    margin: 0;
    padding-left: 1.5rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--foreground);
}
.rb-form-errors__list li {
    list-style: disc;
}
.rb-form-errors__list li + li {
    margin-top: 0.125rem;
}
@keyframes rb-form-errors-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}
.rb-editor-skeleton {
    min-height: 220px;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--muted) 18%, transparent) 0%,
        color-mix(in srgb, var(--muted) 30%, transparent) 50%,
        color-mix(in srgb, var(--muted) 18%, transparent) 100%
    );
    background-size: 200% 100%;
    animation: rb-skel-shimmer 1.4s ease-in-out infinite;
}
.rb-editor-skeleton[data-ready="1"] {
    display: none;
}
@keyframes rb-skel-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-editor-skeleton { animation: none; }
    .rb-form-errors { animation: none; }
}
[role="tablist"].rb-tabs {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 1rem;
}
.rb-tabs [role="tab"] {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0.5rem 0.875rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--muted-foreground);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: color 140ms ease, border-color 140ms ease;
}
.rb-tabs [role="tab"]:hover {
    color: var(--foreground);
}
.rb-tabs [role="tab"][aria-selected="true"] {
    color: var(--primary);
    border-bottom-color: var(--primary);
}
.rb-tabs [role="tab"]:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px var(--ring-alpha);
    border-radius: 0.375rem 0.375rem 0 0;
}
@media (prefers-reduced-motion: reduce) {
    .rb-tabs [role="tab"] { transition: none; }
}
.rb-auth-mount {
    animation: rb-auth-card-in 320ms cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes rb-auth-card-in {
    from { opacity: 0; transform: translateY(8px) scale(0.985); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-auth-mount { animation: none; }
}
.rb-auth-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
    border-radius: 0.5rem;
    border: 1px solid transparent;
    animation: rb-auth-chip-in 180ms ease-out;
}
.rb-auth-chip i { font-size: 0.875rem; }
.rb-auth-chip--info {
    background: color-mix(in srgb, var(--muted) 30%, transparent);
    color: var(--muted-foreground);
    border-color: var(--border);
}
.rb-auth-chip--warning {
    background: color-mix(in srgb, var(--warning, #f59e0b) 12%, transparent);
    color: var(--warning, #f59e0b);
    border-color: color-mix(in srgb, var(--warning, #f59e0b) 30%, transparent);
}
.rb-auth-chip--success {
    background: color-mix(in srgb, var(--success, #22c55e) 12%, transparent);
    color: var(--success, #22c55e);
    border-color: color-mix(in srgb, var(--success, #22c55e) 30%, transparent);
}
.rb-auth-chip--danger {
    background: color-mix(in srgb, var(--danger, #dc2626) 12%, transparent);
    color: var(--danger, #dc2626);
    border-color: color-mix(in srgb, var(--danger, #dc2626) 30%, transparent);
}
@keyframes rb-auth-chip-in {
    from { opacity: 0; transform: translateY(-2px); }
    to { opacity: 1; transform: none; }
}
.rb-input:-webkit-autofill,
.rb-input:-webkit-autofill:hover,
.rb-input:-webkit-autofill:focus,
.rb-input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--foreground) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--surface, var(--background)) inset !important;
    box-shadow: 0 0 0 1000px var(--surface, var(--background)) inset !important;
    transition: background-color 5000s ease-in-out 0s;
    caret-color: var(--foreground);
}
@media (prefers-reduced-motion: reduce) {
    .rb-auth-chip { animation: none; }
}
.rb-dropdown-panel {
    background: var(--popover, var(--surface));
    border: 1px solid var(--border);
    overflow: hidden;
}
.rb-dropdown-panel__head,
.rb-dropdown-panel__foot {
    background: color-mix(in srgb, var(--muted) 25%, transparent);
}
.rb-dropdown-panel__head {
    border-bottom-color: var(--border) !important;
}
.rb-dropdown-panel__foot {
    border-top-color: var(--border) !important;
}
.rb-dropdown-panel__action {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    transition: background 140ms ease, color 140ms ease;
}
.rb-dropdown-panel__action:hover,
.rb-dropdown-panel__action:focus-visible {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
}
.rb-dropdown-panel__empty {
    color: var(--muted-foreground);
}
.rb-dropdown-panel__empty-icon {
    font-size: 2rem;
    opacity: 0.45;
    color: var(--muted-foreground);
}
.rb-conv-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: var(--foreground);
    transition: background 160ms ease, box-shadow 160ms ease;
    position: relative;
}
.rb-conv-row:last-child { border-bottom: 0; }
.rb-conv-row[data-unread="1"] {
    background: color-mix(in srgb, var(--primary) 6%, transparent);
    box-shadow: inset 3px 0 0 var(--primary);
}
.rb-conv-row:hover,
.rb-conv-row:focus-visible {
    background: color-mix(in srgb, var(--muted) 50%, transparent);
}
.rb-conv-row[data-unread="1"]:hover {
    background: color-mix(in srgb, var(--primary) 10%, transparent);
}
html[data-theme="dark"] .rb-conv-row {
    background: color-mix(in srgb, var(--surface) 92%, white 8%);
}
html[data-theme="dark"] .rb-conv-row[data-unread="1"] {
    background: color-mix(in srgb, var(--primary) 14%, var(--surface));
}
html[data-theme="dark"] .rb-conv-row:hover,
html[data-theme="dark"] .rb-conv-row:focus-visible {
    background: color-mix(in srgb, var(--surface) 80%, white 20%);
}
html[data-theme="dark"] .rb-conv-row[data-unread="1"]:hover {
    background: color-mix(in srgb, var(--primary) 22%, var(--surface));
}
.rb-conv-row__avatar {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    border-radius: 9999px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rb-conv-row__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rb-conv-row__avatar-letter {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: -0.02em;
}
.rb-conv-row__body {
    flex: 1;
    min-width: 0;
}
.rb-conv-row__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.rb-conv-row__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}
.rb-conv-row[data-unread="1"] .rb-conv-row__title {
    color: var(--foreground);
    font-weight: 700;
}
.rb-conv-row__time {
    flex-shrink: 0;
    font-size: 0.7rem;
    color: var(--muted-foreground);
    font-variant-numeric: tabular-nums;
}
.rb-conv-row[data-unread="1"] .rb-conv-row__time {
    color: var(--primary);
    font-weight: 600;
}
.rb-conv-row__preview {
    margin-top: 0.125rem;
    font-size: 0.8125rem;
    color: var(--muted-foreground);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}
.rb-conv-row__author {
    color: var(--foreground);
    font-weight: 600;
}
.rb-conv-row__pip {
    position: absolute;
    top: 50%;
    right: 0.875rem;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);
}
.rb-conv-row__skel {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border);
}
.rb-conv-row__skel-avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 9999px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--muted) 18%, transparent) 0%,
        color-mix(in srgb, var(--muted) 30%, transparent) 50%,
        color-mix(in srgb, var(--muted) 18%, transparent) 100%);
    background-size: 200% 100%;
    animation: rb-skel-shimmer 1.4s ease-in-out infinite;
    flex-shrink: 0;
}
.rb-conv-row__skel-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
}
.rb-conv-row__skel-text > div {
    height: 0.625rem;
    border-radius: 4px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--muted) 18%, transparent) 0%,
        color-mix(in srgb, var(--muted) 30%, transparent) 50%,
        color-mix(in srgb, var(--muted) 18%, transparent) 100%);
    background-size: 200% 100%;
    animation: rb-skel-shimmer 1.4s ease-in-out infinite;
}
.rb-conv-row__skel-text > div:first-child { width: 70%; }
.rb-conv-row__skel-text > div:last-child { width: 90%; }
@media (prefers-reduced-motion: reduce) {
    .rb-conv-row, .rb-dropdown-panel__action { transition: none; }
    .rb-conv-row__skel-avatar, .rb-conv-row__skel-text > div { animation: none; }
}
.profile-cover.has-cover .cover-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.cover-bg-edit {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 5;
}
main > .page,
#main-content > .page {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.cover-bg-edit__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.4rem 0.75rem;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border-radius: 9999px;
    font-size: 0.8125rem;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: background 160ms ease;
}
.cover-bg-edit__btn:hover { background: rgba(0, 0, 0, 0.7); }
.cover-bg-edit__btn .hidden { display: none !important; }
.rb-pp-list { display: flex; flex-direction: column; gap: 0.875rem; }
.rb-pp-card {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
    border-radius: 0.625rem;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
.rb-pp-card:hover {
    border-color: color-mix(in srgb, var(--primary) 25%, var(--border));
    box-shadow: 0 2px 12px color-mix(in srgb, var(--primary) 5%, transparent);
}
.rb-pp-avatar,
.rb-pp-comment__avatar,
.rb-pp-reply__avatar,
.rb-pp-composer__avatar {
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 9999px;
    overflow: hidden;
    background: var(--muted);
    display: flex;
    align-items: center;
    justify-content: center;
}
.rb-pp-avatar { width: 2.5rem; height: 2.5rem; }
.rb-pp-avatar img,
.rb-pp-comment__avatar img,
.rb-pp-reply__avatar img,
.rb-pp-composer__avatar img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.rb-pp-avatar-letter {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: -0.02em;
}
.rb-pp-body { flex: 1; min-width: 0; }
.rb-pp-head {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.125rem;
    line-height: 1.25;
}
.rb-pp-author {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.95rem;
}
.rb-pp-author:hover { text-decoration: underline; }
.rb-pp-sep { color: var(--muted-foreground); font-weight: 400; }
.rb-pp-time {
    color: var(--muted-foreground);
    font-size: 0.825rem;
}
.rb-pp-msg {
    color: var(--foreground);
    font-size: 0.925rem;
    line-height: 1.55;
    word-wrap: break-word;
    white-space: pre-wrap;
}
.rb-pp-msg a { color: var(--primary); text-decoration: underline; }
.rb-pp-actions {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 0.625rem;
    padding-top: 0.5rem;
    border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
    flex-wrap: wrap;
}
.rb-pp-action,
.rb-pp-like {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0.25rem 0;
    color: var(--muted-foreground);
    font-size: 0.825rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: color 140ms ease;
}
.rb-pp-action:hover,
.rb-pp-like:hover { color: var(--primary); }
.rb-pp-action--danger:hover { color: var(--danger, #dc2626); }
.rb-pp-action--meta { cursor: default; }
.rb-pp-action--meta:hover { color: var(--muted-foreground); }
.rb-pp-action i,
.rb-pp-like i { font-size: 0.85rem; }
.rb-pp-spacer { flex: 1; }
.rb-pp-react-bar {
    align-items: center;
    gap: 4px;
    flex-wrap: nowrap;
}
.rb-pp-react-bar .react-picker {
    bottom: calc(100% + 6px);
    top: auto;
}
.rb-pp-react-bar--comment {
    margin-top: 0.375rem;
    gap: 3px;
}
.rb-pp-react-bar--comment .react-chip {
    padding: 0.1rem 0.4rem;
    font-size: 0.75rem;
}
.rb-pp-react-bar--comment .react-chip__emoji { font-size: 0.85rem; }
.rb-pp-reply__submit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}
.rb-pp-reply__submit i { font-size: 0.8rem; }
.rb-pp-like.is-liked { color: var(--primary); font-weight: 600; }
.rb-pp-like__count {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
    padding: 0.05rem 0.4rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 700;
    margin-left: 0.15rem;
}
.rb-pp-comments {
    margin-top: 0.625rem;
    padding-top: 0.5rem;
    border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.rb-pp-comment {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
}
.rb-pp-comment__body {
    flex: 1;
    background: color-mix(in srgb, var(--muted) 25%, transparent);
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    min-width: 0;
}
.rb-pp-comment__msg {
    color: var(--foreground);
    font-size: 0.875rem;
    margin-top: 0.125rem;
    word-wrap: break-word;
}
.rb-pp-composer,
.rb-pp-reply {
    display: none; 
    gap: 0.625rem;
    align-items: center;
    padding: 0.625rem;
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
    border-radius: 0.625rem;
}
.rb-pp-reply.is-open { display: flex; }
.rb-pp-composer { margin-bottom: 0.875rem; }
.rb-pp-reply { margin-top: 0.625rem; padding: 0.5rem; }
.rb-pp-composer__field,
.rb-pp-reply__field {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: color-mix(in srgb, var(--muted) 35%, var(--surface, var(--background)));
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    padding: 0.4rem 0.75rem;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}
.rb-pp-composer__field:focus-within,
.rb-pp-reply__field:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--ring-alpha);
    background: var(--surface, var(--background));
}
.rb-pp-composer__icon { color: var(--muted-foreground); font-size: 0.8rem; }
.rb-pp-composer__input,
input.rb-pp-composer__input {
    flex: 1;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    font-size: 0.875rem;
    color: var(--foreground) !important;
    box-shadow: none !important;
}
.rb-pp-composer__input::placeholder {
    color: var(--muted-foreground);
    opacity: 0.7;
}
.rb-pp-composer-wrap { margin-bottom: 0.875rem; }
.rb-pp-composer--collapsed {
    cursor: pointer;
    margin-bottom: 0;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
.rb-pp-composer--collapsed:hover,
.rb-pp-composer--collapsed:focus-visible {
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
    box-shadow: 0 2px 12px color-mix(in srgb, var(--primary) 8%, transparent);
}
.rb-pp-composer__placeholder {
    color: var(--muted-foreground);
    font-size: 0.875rem;
    user-select: none;
}
.rb-pp-composer-expanded {
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
    border-radius: 0.625rem;
    padding: 0.625rem;
    animation: rb-pp-composer-in 220ms ease-out;
}
.rb-pp-composer-expanded__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.625rem;
    padding-top: 0.5rem;
    border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
}
@keyframes rb-pp-composer-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rb-pp-composer--collapsed { transition: none; }
    .rb-pp-composer-expanded { animation: none; }
}
.rb-pp-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--muted-foreground);
    background: var(--surface, var(--background));
    border: 1px dashed var(--border);
    border-radius: 0.625rem;
}
.rb-pp-empty__icon {
    font-size: 2rem;
    opacity: 0.45;
    margin-bottom: 0.5rem;
    display: block;
}
@media (prefers-reduced-motion: reduce) {
    .rb-pp-card, .rb-pp-composer__field, .rb-pp-reply__field, .cover-bg-edit__btn { transition: none; }
}
.rb-hover-card {
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    border: 1px solid var(--border);
}
.rb-hover-card:hover,
.rb-hover-card:focus-within {
    border-color: var(--primary);
    box-shadow: 0 4px 20px color-mix(in srgb, var(--primary) 10%, transparent);
    transform: translateY(-1px);
}
.rb-btn-danger-soft {
    background: color-mix(in srgb, var(--danger, #dc2626) 8%, transparent);
    color: var(--danger, #dc2626);
    border: 1px solid color-mix(in srgb, var(--danger, #dc2626) 20%, transparent);
    transition: background 140ms ease, border-color 140ms ease;
    cursor: pointer;
}
.rb-btn-danger-soft:hover,
.rb-btn-danger-soft:focus-visible {
    background: color-mix(in srgb, var(--danger, #dc2626) 15%, transparent);
    border-color: color-mix(in srgb, var(--danger, #dc2626) 35%, transparent);
}
@media (prefers-reduced-motion: reduce) {
    .rb-hover-card, .rb-btn-danger-soft { transition: none; }
}
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.rb-char-counter {
    transition: color 160ms ease;
}
.rb-char-counter--warn {
    color: var(--warning, #f59e0b);
    font-weight: 600;
}
.rb-char-counter--danger {
    color: var(--danger, #dc2626);
    font-weight: 700;
}
.rb-tag-picker {
    position: relative;
}
.rb-tag-picker__field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface, var(--background));
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
.rb-tag-picker__field:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--ring-alpha);
}
.rb-tag-picker__chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.25rem 0.25rem 0.625rem;
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    animation: rb-chip-in 160ms ease-out;
}
.rb-tag-picker__chip-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    opacity: 0.7;
    padding: 0;
    font-size: 0.625rem;
    transition: background 120ms ease, opacity 120ms ease;
}
.rb-tag-picker__chip-x:hover {
    background: color-mix(in srgb, currentColor 18%, transparent);
    opacity: 1;
}
.rb-tag-picker__input {
    flex: 1;
    min-width: 8rem;
    border: 0;
    outline: 0;
    padding: 0.25rem;
    background: transparent;
    color: var(--foreground);
    font-size: 0.875rem;
}
.rb-tag-picker__input:disabled {
    opacity: 0.6;
}
.rb-tag-picker__counter {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    font-family: var(--rb-font-mono);
}
.rb-tag-picker__counter.is-full {
    color: var(--warning, #f59e0b);
    font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
    .rb-tag-picker__field,
    .rb-tag-picker__chip { transition: none; animation: none; }
}
.node-select {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}
.node-select .node-pick,
.prefix-row .prefix-pill {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .node-select .node-pick,
    .prefix-row .prefix-pill {
        max-width: 14rem;
    }
}
body[data-reader-mode="1"] #rb-progress,
body[data-reader-mode="2"] #rb-progress {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px;
    z-index: 99999;
    display: block;
    opacity: 0.85;
}
.notification-item {
}
.notification-item__actions {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    display: flex;
    gap: 0.25rem;
    opacity: 0;
    transform: translateX(4px);
    transition: opacity 140ms ease, transform 140ms ease;
    pointer-events: none;
    z-index: 2;
}
.notification-item-wrap:hover .notification-item__actions,
.notification-item-wrap:focus-within .notification-item__actions {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}
.notification-item__action {
    appearance: none;
    background: var(--surface, var(--background));
    border: 1px solid var(--border);
    color: var(--muted-foreground);
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.75rem;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}
.notification-item__action:hover,
.notification-item__action:focus-visible {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
    border-color: color-mix(in srgb, var(--primary) 35%, var(--border));
}
@media (prefers-reduced-motion: reduce) {
    .notification-item__actions,
    .notification-item__action { transition: none; }
}
body[data-reader-mode="2"] {
    background: #f4ecd8 !important;
    color: #5b4636 !important;
}
body[data-reader-mode="2"] header,
body[data-reader-mode="2"] aside,
body[data-reader-mode="2"] footer,
body[data-reader-mode="2"] .rb-lt-sidebar,
body[data-reader-mode="2"] .rh-sidebar-card,
body[data-reader-mode="2"] [data-region="sidebar"],
body[data-reader-mode="2"] [role="banner"],
body[data-reader-mode="2"] nav[role="navigation"],
body[data-reader-mode="2"] .flash-banner,
body[data-reader-mode="2"] [data-notifications-endpoint],
body[data-reader-mode="2"] .rb-post__sidebar {
    display: none !important;
}
body[data-reader-mode="2"] main {
    max-width: 760px !important;
    margin: 40px auto !important;
    padding: 0 1rem !important;
    font-size: 1.08rem;
    line-height: 1.8;
    font-family: 'Charter', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
}
body[data-reader-mode="2"] .rb-post,
body[data-reader-mode="2"] .rb-post__body,
body[data-reader-mode="2"] h1,
body[data-reader-mode="2"] h2,
body[data-reader-mode="2"] h3,
body[data-reader-mode="2"] h4,
body[data-reader-mode="2"] p,
body[data-reader-mode="2"] li,
body[data-reader-mode="2"] blockquote {
    color: #5b4636 !important;
    background: transparent !important;
    border-color: rgba(91, 70, 54, 0.18) !important;
}
body[data-reader-mode="2"] .rb-post {
    flex-direction: column !important;
    gap: 0.5rem !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 1rem 0 !important;
    border-bottom: 1px solid rgba(91, 70, 54, 0.18) !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
body[data-reader-mode="2"] a {
    color: #8b5a2b !important;
}
body[data-reader-mode="2"] .rb-reader-toggle {
    background: #8b5a2b !important;
    color: #f4ecd8 !important;
    border-color: #8b5a2b !important;
    opacity: 1;
}
.rb-unfurl-card {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 0;
    max-width: 540px;
    margin: 10px 0;
    border: 1px solid var(--border, rgba(0,0,0,.1));
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: var(--surface, var(--card, #fff));
    transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.rb-unfurl-card:hover {
    border-color: var(--primary, #4f7aff);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.rb-unfurl-card__media {
    width: 120px;
    height: 100%;
    min-height: 100px;
    background: var(--muted, #f3f4f6);
    overflow: hidden;
}
.rb-unfurl-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rb-unfurl-card:has(.rb-unfurl-card__media:empty),
.rb-unfurl-card:not(:has(.rb-unfurl-card__media)) {
    grid-template-columns: 1fr;
}
.rb-unfurl-card__body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.rb-unfurl-card__site {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--muted-foreground, #6b7280);
    text-transform: lowercase;
    letter-spacing: .01em;
}
.rb-unfurl-card__favicon {
    width: 14px;
    height: 14px;
    border-radius: 2px;
}
.rb-unfurl-card__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--foreground, inherit);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.rb-unfurl-card__desc {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--muted-foreground, #6b7280);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@media (max-width: 480px) {
    .rb-unfurl-card { grid-template-columns: 1fr; }
    .rb-unfurl-card__media { width: 100%; max-height: 180px; }
}
@media (max-width: 640px) {
    body .profile-cover { overflow: visible; }
    body .profile-cover .cover-bg { border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0; }
    .profile-cover .cover-content {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: -36px;
        padding: 0 16px 18px;
    }
    .profile-cover .cover-info { padding-bottom: 0; }
}
.rb-submenu .rb-submenu__inner {
    max-width: var(--container, var(--container-max, var(--rb-max-page-width, 1280px)));
    margin-inline: auto;
    padding-inline: 0;
}
.rb-submenu__nav { margin-left: -0.7rem; }
@media (max-width: 767px) {
    body header .max-w-screen-2xl.flex.items-center { padding-left: 4px !important; }
    .rb-submenu .rb-submenu__inner { padding-inline: 4px; }
}
:root {
    --rb-info: var(--info, #3b82f6);
    --rb-info-soft: color-mix(in srgb, var(--rb-info) 14%, transparent);
 
    --rb-space-1: 4px;
    --rb-space-2: 8px;
    --rb-space-3: 12px;
    --rb-space-4: 16px;
    --rb-space-5: 20px;
    --rb-space-6: 24px;
    --rb-space-8: 32px;
 
    --rb-fs-xs: 0.72rem;
    --rb-fs-sm: 0.82rem;
    --rb-fs-md: 0.92rem;
    --rb-fs-lg: 1.05rem;
    --rb-fs-xl: 1.25rem;
 
    --rb-elev-1: var(--shadow-sm);
    --rb-elev-2: var(--shadow-md);
    --rb-elev-3: var(--shadow-lg);
}
.rb-block {
    background: var(--surface-2, var(--card, #fff));
    border: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    border-radius: var(--radius, 10px);
    overflow: hidden;
    box-shadow: var(--rb-elev-1);
}
.rb-block__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rb-space-3);
    padding: var(--rb-space-3) var(--rb-space-4);
    border-bottom: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--surface-2) 92%, var(--accent) 8%),
        var(--surface-2)
    );
}
.rb-block__title {
    font-size: var(--rb-fs-md);
    font-weight: 600;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: var(--rb-space-2);
}
.rb-block__title > i {
    color: var(--accent);
    font-size: 0.9em;
}
.rb-block__actions {
    display: flex;
    align-items: center;
    gap: var(--rb-space-2);
}
.rb-block__body {
    padding: var(--rb-space-4);
}
.rb-block__body--flush {
    padding: 0;
}
.rb-block__footer {
    padding: var(--rb-space-3) var(--rb-space-4);
    border-top: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    background: var(--bg-alt, transparent);
    font-size: var(--rb-fs-sm);
    color: var(--text-muted);
}
.rb-block--compact .rb-block__header {
    padding: var(--rb-space-2) var(--rb-space-3);
}
.rb-block--compact .rb-block__body {
    padding: var(--rb-space-3);
}
.rb-block--accent {
    border-color: color-mix(in srgb, var(--accent) 35%, transparent);
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent) inset,
        var(--rb-elev-1);
}
.rb-card {
    background: var(--surface-2, var(--card, #fff));
    border: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    border-radius: var(--radius, 10px);
    padding: var(--rb-space-4);
}
.rb-card--elevated {
    box-shadow: var(--rb-elev-2);
}
.rb-card--interactive {
    cursor: pointer;
    transition:
        transform 150ms ease,
        border-color 150ms ease,
        box-shadow 150ms ease;
}
.rb-card--interactive:hover {
    border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
    box-shadow: var(--rb-elev-2);
    transform: translateY(-1px);
}
.rb-card--compact {
    padding: var(--rb-space-3);
}
.rb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--rb-space-2);
    padding: 8px 14px;
    border-radius: var(--radius-sm, 6px);
    font-family: var(--font-sans);
    font-size: var(--rb-fs-sm);
    font-weight: 500;
    line-height: 1.2;
    border: 1px solid var(--border, rgba(0, 0, 0, 0.08));
    background: var(--surface-2, transparent);
    color: var(--text);
    cursor: pointer;
    user-select: none;
    transition:
        background 120ms ease,
        border-color 120ms ease,
        color 120ms ease;
    white-space: nowrap;
}
.rb-button:hover {
    background: var(--bg-alt);
    border-color: var(--border-strong, var(--border));
    color: var(--text);
    text-decoration: none;
}
.rb-button:focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
}
.rb-button[disabled],
.rb-button--disabled {
    opacity: 0.55;
    pointer-events: none;
}
.rb-button--primary {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-fg, #fff);
}
.rb-button--primary:hover {
    background: color-mix(in srgb, var(--accent) 88%, #000);
    border-color: color-mix(in srgb, var(--accent) 88%, #000);
    color: var(--accent-fg, #fff);
}
.rb-button--danger {
    background: var(--danger, #ef4444);
    border-color: var(--danger, #ef4444);
    color: #fff;
}
.rb-button--danger:hover {
    background: color-mix(in srgb, var(--danger, #ef4444) 88%, #000);
    border-color: color-mix(in srgb, var(--danger, #ef4444) 88%, #000);
    color: #fff;
}
.rb-button--ghost {
    background: transparent;
    border-color: transparent;
    color: var(--text-muted);
}
.rb-button--ghost:hover {
    background: var(--bg-alt);
    color: var(--text);
    border-color: transparent;
}
.rb-button--link {
    background: transparent;
    border-color: transparent;
    color: var(--accent);
    padding: 0;
}
.rb-button--link:hover {
    background: transparent;
    text-decoration: underline;
}
.rb-button--sm {
    padding: 5px 10px;
    font-size: var(--rb-fs-xs);
}
.rb-button--lg {
    padding: 10px 18px;
    font-size: var(--rb-fs-md);
}
.rb-button--block {
    width: 100%;
}
.rb-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: var(--rb-fs-xs);
    font-weight: 500;
    line-height: 1.4;
    background: var(--bg-alt);
    color: var(--text-muted);
    border: 1px solid transparent;
}
.rb-pill--success {
    background: color-mix(in srgb, var(--success, #10b981) 12%, transparent);
    color: var(--success, #10b981);
}
.rb-pill--warning {
    background: color-mix(in srgb, var(--warning, #f59e0b) 12%, transparent);
    color: var(--warning, #f59e0b);
}
.rb-pill--danger {
    background: color-mix(in srgb, var(--danger, #ef4444) 12%, transparent);
    color: var(--danger, #ef4444);
}
.rb-pill--info {
    background: var(--rb-info-soft);
    color: var(--rb-info);
}
.rb-pill--accent {
    background: var(--accent-soft);
    color: var(--accent);
}
.rb-pill--solid {
    color: #fff;
    background: var(--text);
    border-color: var(--text);
}
.rb-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--rb-space-3);
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    min-width: 0;
}
.rb-stat__value {
    font-size: var(--rb-fs-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text);
    line-height: 1.1;
}
.rb-stat__label {
    font-size: var(--rb-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}
.rb-stat__trend {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: var(--rb-fs-xs);
    font-weight: 600;
}
.rb-stat__trend--up {
    color: var(--success, #10b981);
}
.rb-stat__trend--down {
    color: var(--danger, #ef4444);
}
.rb-media {
    display: flex;
    align-items: flex-start;
    gap: var(--rb-space-3);
}
.rb-media__avatar {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bg-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--text);
    overflow: hidden;
}
.rb-media__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rb-media__avatar--sm {
    width: 28px;
    height: 28px;
    font-size: 0.7rem;
}
.rb-media__avatar--lg {
    width: 56px;
    height: 56px;
    font-size: 1.1rem;
}
.rb-media__body {
    flex: 1;
    min-width: 0;
}
.rb-media__title {
    font-weight: 600;
    font-size: var(--rb-fs-sm);
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 6px;
}
.rb-media__meta {
    font-size: var(--rb-fs-xs);
    color: var(--text-muted);
    margin-top: 2px;
}
.rb-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: var(--rb-space-4);
}
.rb-form-label {
    font-size: var(--rb-fs-sm);
    font-weight: 500;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.rb-form-label--required::after {
    content: "*";
    color: var(--danger);
    margin-left: 2px;
}
.rb-form-control {
    display: block;
    width: 100%;
    padding: 8px 12px;
    font-family: inherit;
    font-size: var(--rb-fs-sm);
    color: var(--text);
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, 6px);
    transition:
        border-color 120ms ease,
        box-shadow 120ms ease;
    box-sizing: border-box;
}
.rb-form-control:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--ring);
}
.rb-form-control--error {
    border-color: var(--danger);
}
.rb-form-control--error:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent);
}
.rb-form-hint {
    font-size: var(--rb-fs-xs);
    color: var(--text-muted);
}
.rb-form-error {
    font-size: var(--rb-fs-xs);
    color: var(--danger);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
textarea.rb-form-control {
    resize: vertical;
    min-height: 80px;
}
.rb-list {
    display: flex;
    flex-direction: column;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    overflow: hidden;
}
.rb-list__item {
    display: flex;
    align-items: center;
    gap: var(--rb-space-3);
    padding: var(--rb-space-3) var(--rb-space-4);
    border-bottom: 1px solid var(--border);
    background: var(--surface-2);
    transition: background 120ms ease;
}
.rb-list__item:last-child {
    border-bottom: 0;
}
.rb-list__item:hover {
    background: var(--bg-alt);
}
.rb-list--striped .rb-list__item:nth-child(even) {
    background: var(--bg-alt);
}
.rb-list--flush {
    border: 0;
    border-radius: 0;
    background: transparent;
}
.rb-list--flush .rb-list__item {
    background: transparent;
}
.rb-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--border);
    margin-bottom: var(--rb-space-4);
}
.rb-tabs__tab {
    padding: 8px 14px;
    font-size: var(--rb-fs-sm);
    font-weight: 500;
    color: var(--text-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    background: transparent;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    transition:
        color 120ms ease,
        border-color 120ms ease;
}
.rb-tabs__tab:hover {
    color: var(--text);
}
.rb-tabs__tab--active {
    color: var(--accent);
    border-bottom-color: var(--accent);
}
.rb-alert {
    display: flex;
    align-items: flex-start;
    gap: var(--rb-space-2);
    padding: var(--rb-space-3) var(--rb-space-4);
    border-radius: var(--radius-sm, 6px);
    border: 1px solid var(--border);
    background: var(--bg-alt);
    color: var(--text);
    font-size: var(--rb-fs-sm);
}
.rb-alert__icon {
    flex-shrink: 0;
    margin-top: 2px;
}
.rb-alert__body {
    flex: 1;
}
.rb-alert__close {
    background: transparent;
    border: 0;
    color: var(--text-muted);
    cursor: pointer;
    padding: 2px 6px;
}
.rb-alert--success {
    border-color: color-mix(in srgb, var(--success) 40%, transparent);
    background: color-mix(in srgb, var(--success) 10%, var(--bg-alt));
}
.rb-alert--warning {
    border-color: color-mix(in srgb, var(--warning) 40%, transparent);
    background: color-mix(in srgb, var(--warning) 10%, var(--bg-alt));
}
.rb-alert--danger {
    border-color: color-mix(in srgb, var(--danger) 40%, transparent);
    background: color-mix(in srgb, var(--danger) 10%, var(--bg-alt));
}
.rb-alert--info {
    border-color: color-mix(in srgb, var(--rb-info) 40%, transparent);
    background: color-mix(in srgb, var(--rb-info) 10%, var(--bg-alt));
}
.rb-empty-state {
    padding: var(--rb-space-8) var(--rb-space-4);
    text-align: center;
    color: var(--text-muted);
}
.rb-empty-state__icon {
    font-size: 2.5rem;
    opacity: 0.25;
    margin-bottom: var(--rb-space-3);
    color: var(--text-faint);
}
.rb-empty-state__title {
    font-size: var(--rb-fs-md);
    font-weight: 600;
    color: var(--text);
    margin-bottom: 4px;
}
.rb-empty-state__hint {
    font-size: var(--rb-fs-sm);
    color: var(--text-muted);
}
.rb-skeleton {
    display: block;
    height: 14px;
    border-radius: var(--radius-sm, 6px);
    background: linear-gradient(
        90deg,
        var(--bg-alt) 0%,
        color-mix(in srgb, var(--bg-alt) 55%, var(--text-faint)) 50%,
        var(--bg-alt) 100%
    );
    background-size: 200% 100%;
    animation: rb-skel 1.4s ease-in-out infinite;
}
.rb-skeleton + .rb-skeleton {
    margin-top: 8px;
}
.rb-skeleton--sm {
    height: 10px;
    width: 40%;
}
.rb-skeleton--lg {
    height: 20px;
}
.rb-skeleton--circle {
    border-radius: 50%;
    width: 40px;
    height: 40px;
}
@keyframes rb-skel {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}
.rb-stack {
    display: flex;
    flex-direction: column;
    gap: var(--rb-stack-gap, var(--rb-space-4));
}
.rb-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--rb-cluster-gap, var(--rb-space-3));
}
.rb-grid {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(var(--rb-grid-min, 220px), 1fr)
    );
    gap: var(--rb-grid-gap, var(--rb-space-4));
}
.rb-thread-item {
    display: flex;
    align-items: flex-start;
    gap: var(--rb-space-3);
    padding: var(--rb-space-3) var(--rb-space-4);
    border-bottom: 1px solid var(--border);
    background: var(--surface-2);
    transition: background 120ms ease;
}
.rb-thread-item:hover {
    background: var(--bg-alt);
}
.rb-thread-item__title {
    font-weight: 600;
    font-size: var(--rb-fs-md);
    color: var(--text);
}
.rb-thread-item__title a {
    color: inherit;
}
.rb-thread-item__meta {
    font-size: var(--rb-fs-xs);
    color: var(--text-muted);
    margin-top: 2px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.rb-thread-item__counters {
    display: flex;
    gap: var(--rb-space-4);
    color: var(--text-muted);
    font-size: var(--rb-fs-xs);
}
.rb-post {
    display: flex;
    gap: var(--rb-space-4);
    padding: var(--rb-space-4);
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    margin-bottom: var(--rb-space-3);
}
.rb-post__sidebar {
    flex-shrink: 0;
    width: var(--rb-postbit-width, 180px);
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rb-post__body {
    flex: 1;
    min-width: 0;
    color: var(--text);
    font-size: var(--rb-fs-md);
    line-height: 1.65;
}
.post-wrapper .post-body {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.post-wrapper .rb-postbit {
    border-right: 1px solid var(--border, rgba(245, 244, 242, 0.08));
}
[dir="rtl"] .post-wrapper .rb-postbit {
    border-right: none;
    border-left: 1px solid var(--border, rgba(245, 244, 242, 0.08));
}
.post-wrapper .post-head {
    padding: 0.6rem 1.1rem;
    border-bottom: 1px solid var(--border, rgba(245, 244, 242, 0.06));
    background: color-mix(in srgb, var(--muted, rgba(245, 244, 242, 0.04)) 25%, transparent);
    font-size: 0.8125rem;
}
.post-wrapper .post-prose {
    padding: var(--rb-post-prose-padding, 1.25rem) !important;
    line-height: var(--rb-post-prose-line-height, 1.65);
}
.post-wrapper .post-body > .post-foot,
.post-wrapper .post-body > .react-bar,
.post-wrapper .post-body > footer.post-foot {
    margin-top: auto;
    border-top: 1px solid var(--border, rgba(245, 244, 242, 0.06));
    background: color-mix(in srgb, var(--muted, rgba(245, 244, 242, 0.04)) 20%, transparent);
    padding: 0.55rem 1rem;
}
.post-wrapper .post-foot .react-bar {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
}
.post-wrapper footer.post-foot {
    flex-wrap: wrap;
    row-gap: 6px;
}
.post-wrapper footer.post-foot .react-bar.react-bar--row {
    order: -1;
    flex: 0 0 100%;
    width: 100%;
}
.post-wrapper footer.post-foot .react-bar.react-bar--row .react-picker-wrap {
    margin-left: auto;
}
.post-wrapper .post-body .signature,
.post-wrapper .post-body .post-signature {
    margin: 0;
    padding: 0.9rem 1.25rem;
    border-top: 1px dashed var(--border, rgba(245, 244, 242, 0.08));
    color: var(--muted-foreground, #8a8680);
    font-size: 0.8125rem;
}
.post-wrapper .post-body .edit-notice,
.post-wrapper .post-body [data-post-edit-notice] {
    padding: 0.35rem 1.1rem;
    border-top: 1px solid var(--border, rgba(245, 244, 242, 0.05));
    font-size: 0.72rem;
    color: var(--muted-foreground, #8a8680);
}
@media (max-width: 768px) {
    .post-wrapper .rb-postbit {
        border-right: 0;
        border-bottom: 1px solid var(--border, rgba(245, 244, 242, 0.08));
    }
    .post-wrapper .post-body {
        border-left: 0;
    }
}
.rb-postbit-modern {
    display: flex;
    flex-direction: column;
    padding: 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    width: var(--rb-postbit-width, 230px);
    text-align: left;
    flex-shrink: 0;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.04);
}
.rb-postbit-modern.rb-postbit--compact {
    width: var(--rb-postbit-width, 200px);
}
.rb-postbit-modern .rb-pb-avatar-link {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: calc(var(--radius, 12px) + 2px);
    overflow: hidden;
    background: var(--muted);
    margin-bottom: 10px;
}
.rb-postbit-modern .rb-pb-online-dot {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--muted-foreground);
    border: 3px solid var(--surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.7rem;
}
.rb-postbit-modern .rb-pb-online-dot[data-online="1"] {
    background: #22c55e;
}
.rb-postbit-modern .rb-pb-username {
    font-weight: 800;
    font-size: 1rem;
    text-align: center;
    display: block;
    margin-bottom: 2px;
    color: var(--foreground);
    text-decoration: none;
}
.rb-postbit-modern .rb-pb-title {
    text-align: center;
    font-size: 0.75rem;
    color: var(--muted-foreground);
    margin-bottom: 6px;
    font-weight: 500;
}
.rb-postbit-modern .rb-pb-badges {
    margin-bottom: 10px;
}
.rb-postbit-modern .rb-pb-avatar-link > .rb-avatar,
.rb-postbit-modern .rb-pb-avatar-link > .avatar {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(2rem, 5vw, 3.25rem);
    border-radius: inherit;
}
.rb-pbm { display: none; }
@media (max-width: 639px) {
    .rb-postbit.hidden,
    .rb-postbit-modern.hidden {
        display: none !important;
    }
    .rb-pbm {
        display: flex !important;
        align-items: center;
    }
}
@media (max-width: 768px) {
    
    .post-head { flex-wrap: wrap; gap: 8px; row-gap: 6px; }
    .rb-pbm .rb-avatar,
    .rb-pbm .avatar {
        width: 38px !important;
        height: 38px !important;
        font-size: 0.95rem !important;
    }
    .rb-pbm__name { font-size: 0.9rem; }
    .rb-pbm__top .rb-banner,
    .rb-pbm__top [class*="banner"],
    .rb-pbm__top [class*="badge"],
    .rb-pbm__top .pill,
    .rb-pbm-badges .rb-banner,
    .rb-pbm-badges [class*="banner"],
    .rb-pbm-badges [class*="badge"] {
        font-size: 0.56rem !important;
        padding: 1px 6px !important;
        line-height: 1.3 !important;
    }
    
    .rb-s7-0794 {
        padding: 12px 14px !important;
        gap: 10px !important;
    }
    .rb-s7-0794 .rb-avatar,
    .rb-s7-0794 .avatar {
        width: 48px !important;
        height: 48px !important;
        font-size: 1.15rem !important;
    }
    .rb-s7-0794 [class*="banner"],
    .rb-s7-0794 [class*="badge"],
    .rb-s7-0794 .pill {
        font-size: 0.58rem !important;
        padding: 1px 6px !important;
    }
    .rb-postbit-modern.rb-postbit--compact {
        width: var(--rb-postbit-width-mobile, 140px);
        padding: 12px 10px;
    }
    .rb-postbit-modern .rb-pb-username {
        font-size: 0.85rem;
        line-height: 1.15;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .rb-postbit-modern .rb-pb-title {
        font-size: 0.68rem;
        line-height: 1.2;
        margin-bottom: 0;
    }
    .rb-postbit-modern .rb-pb-badges,
    .rb-postbit-modern .rb-pb-trophies,
    .rb-postbit-modern .rb-pb-hero,
    .rb-postbit-modern .rb-pb-rows,
    .rb-postbit-modern .rb-pb-customfields,
    .rb-postbit-modern [data-rb-postbit-cf],
    .rb-postbit-modern .rb-pb-actions {
        display: none !important;
    }
}
.rb-postbit-modern .rb-pb-hero {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 12px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--muted) 35%, transparent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.rb-postbit-modern .rb-pb-hero-cell {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 10px 6px;
    text-align: center;
    transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.rb-postbit-modern .rb-pb-hero-cell:hover {
    border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.rb-postbit-modern .rb-pb-hero-cell--icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.rb-postbit-modern .rb-pb-hero-cell i {
    color: var(--muted-foreground);
    font-size: 1.1rem;
}
.rb-postbit-modern .rb-pb-hero-cell__label {
    font-size: 0.65rem;
    color: var(--muted-foreground);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.rb-postbit-modern .rb-pb-hero-cell__value {
    font-size: 1rem;
    font-weight: 800;
    color: var(--primary);
    margin-top: 2px;
}
.rb-postbit-modern .rb-pb-rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rb-postbit-modern .rb-pb-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--muted) 40%, transparent);
    font-size: 0.78rem;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.rb-postbit-modern .rb-pb-row:hover {
    background: color-mix(in srgb, var(--muted) 70%, transparent);
    border-color: color-mix(in srgb, var(--primary) 40%, var(--border));
    transform: translateX(2px);
}
.rb-postbit-modern .rb-pb-row__icon {
    color: var(--muted-foreground);
    width: 14px;
    text-align: center;
    font-size: 0.8rem;
}
.rb-postbit-modern .rb-pb-row__label {
    flex: 1;
    color: var(--muted-foreground);
}
.rb-postbit-modern .rb-pb-row__value {
    color: var(--foreground);
    font-weight: 700;
}
.rb-postbit-modern .rb-pb-row__value--link {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
    max-width: 55%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-postbit-modern .rb-pb-row--warn .rb-pb-row__icon,
.rb-postbit-modern .rb-pb-row--warn .rb-pb-row__value {
    color: #ef4444;
}
.rb-postbit-modern .rb-pb-custom {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}
.rb-postbit-modern .rb-pb-profile-btn {
    display: block;
    text-align: center;
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--border);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--foreground);
    background: transparent;
    transition: background 0.15s;
    text-decoration: none;
}
.rb-postbit-modern .rb-pb-profile-btn:hover {
    background: var(--muted);
}
.rb-stack { display: flex; flex-direction: column; gap: 8px; }
.rb-row { display: flex; align-items: center; gap: 8px; }
.rb-row--between { justify-content: space-between; }
.rb-row--wrap { flex-wrap: wrap; }
.rb-grid { display: grid; gap: 16px; }
.rb-container {
  max-width: var(--rb-max-page-width, 1280px);
  margin: 0 auto;
  padding: 0 16px;
}
.rb-card {
  background: var(--rb-surface);
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius);
  overflow: hidden;
}
.rb-card__head {
  padding: 12px 16px;
  border-bottom: 1px solid var(--rb-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-weight: 600;
  color: var(--rb-text);
}
.rb-card__head--brand {
  background: linear-gradient(180deg, var(--rb-primary) 0%, var(--rb-accent) 100%);
  color: var(--rb-primary-fg, #fff);
  border-bottom-color: transparent;
}
.rb-card__body { padding: 16px; color: var(--rb-text); }
.rb-card__foot {
  padding: 10px 16px;
  border-top: 1px solid var(--rb-border-soft, var(--rb-border));
  background: var(--rb-bg-alt);
  font-size: 0.875rem;
}
.rb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-sm);
  background: var(--rb-surface);
  color: var(--rb-text);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--rb-duration-fast, 150ms), color var(--rb-duration-fast, 150ms), border-color var(--rb-duration-fast, 150ms);
}
.rb-btn:hover { background: var(--rb-bg-alt); }
.rb-btn:focus-visible { outline: 2px solid var(--rb-primary); outline-offset: 2px; }
.rb-btn--primary {
  background: var(--rb-primary);
  color: var(--rb-primary-fg, #fff);
  border-color: var(--rb-primary);
}
.rb-btn--primary:hover { background: var(--rb-primary); filter: brightness(1.08); }
.rb-btn--ghost {
  background: transparent;
  border-color: transparent;
}
.rb-btn--ghost:hover { background: var(--rb-bg-alt); }
.rb-btn--danger {
  background: var(--rb-danger);
  color: #fff;
  border-color: var(--rb-danger);
}
.rb-btn--sm { padding: 5px 10px; font-size: 12.5px; }
.rb-btn--lg { padding: 11px 18px; font-size: 15px; }
.rb-btn--icon {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: var(--rb-radius-sm);
}
.rb-btn[disabled],
.rb-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.rb-input,
.rb-select,
.rb-textarea {
  width: 100%;
  padding: 9px 12px;
  font-size: 14px;
  font-family: inherit;
  color: var(--rb-text);
  background: var(--rb-bg-elev);
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-sm);
  outline: 0;
  box-sizing: border-box;
}
.rb-input:focus,
.rb-select:focus,
.rb-textarea:focus {
  border-color: var(--rb-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rb-primary) 16%, transparent);
}
.rb-input--sm { padding: 6px 10px; font-size: 13px; }
.rb-textarea { resize: vertical; min-height: 80px; }
.rb-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--rb-text);
}
.rb-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--rb-border);
  background: var(--rb-surface);
  border-radius: var(--rb-radius) var(--rb-radius) 0 0;
  padding: 0 6px;
}
.rb-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rb-text-muted);
  border-bottom: 2px solid transparent;
  background: transparent;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  transition: color var(--rb-duration-fast, 150ms), border-color var(--rb-duration-fast, 150ms);
}
.rb-tab:hover { color: var(--rb-primary); }
.rb-tab[aria-selected="true"],
.rb-tab.is-active {
  color: var(--rb-primary);
  border-bottom-color: var(--rb-primary);
}
.rb-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 9999px;
  background: var(--rb-bg-alt);
  color: var(--rb-text-muted);
}
.rb-badge--primary { background: var(--rb-primary); color: var(--rb-primary-fg, #fff); }
.rb-badge--success { background: var(--rb-success); color: #fff; }
.rb-badge--warning { background: var(--rb-warning); color: #fff; }
.rb-badge--danger  { background: var(--rb-danger); color: #fff; }
.rb-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 9999px;
  background: var(--rb-bg-alt);
  border: 1px solid var(--rb-border);
  color: var(--rb-text-muted);
  text-decoration: none;
  transition: background var(--rb-duration-fast, 150ms);
}
.rb-pill:hover {
  background: var(--rb-primary);
  color: var(--rb-primary-fg, #fff);
  border-color: var(--rb-primary);
}
.rb-list-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--rb-border-soft, var(--rb-border));
  color: var(--rb-text);
  text-decoration: none;
  transition: background var(--rb-duration-fast, 150ms);
}
.rb-list-row:hover { background: var(--rb-bg-alt); }
.rb-list-row:last-child { border-bottom: 0; }
.rb-list-row--active {
  background: color-mix(in srgb, var(--rb-primary) 6%, transparent);
  border-left: 3px solid var(--rb-primary);
  padding-left: 11px;
}
.rb-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--rb-radius-full);
  background: var(--rb-bg-alt);
  color: var(--rb-text);
  font-weight: 700;
  overflow: hidden;
  flex-shrink: 0;
}
.rb-avatar--xs { width: 18px; height: 18px; font-size: 9px; border-radius: 50%; }
.rb-avatar--sm { width: 24px; height: 24px; font-size: 11px; }
.rb-avatar--md { width: 36px; height: 36px; font-size: 14px; }
.rb-avatar--lg { width: 48px; height: 48px; font-size: 18px; }
.rb-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rb-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 24px;
  color: var(--rb-text-muted);
  text-align: center;
}
.rb-empty__icon {
  font-size: 40px;
  color: var(--rb-border);
}
.rb-dropdown {
  position: absolute;
  min-width: 220px;
  padding: 6px;
  background: var(--rb-surface);
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-sm);
  box-shadow: var(--rb-shadow-lg);
  z-index: 200;
}
.rb-dropdown__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 13px;
  color: var(--rb-text);
  text-decoration: none;
  background: transparent;
  border: 0;
  width: 100%;
  font-family: inherit;
  cursor: pointer;
}
.rb-dropdown__item:hover {
  background: var(--rb-bg-alt);
  color: var(--rb-primary);
}
.rb-dropdown__divider {
  height: 1px;
  background: var(--rb-border);
  margin: 6px 0;
}
.rb-text-muted { color: var(--rb-text-muted); }
.rb-text-faint { color: var(--rb-text-faint); }
.rb-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-hidden { display: none !important; }
.rb-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 640px) {
  .sm\:flex         { display: flex !important; }
  .sm\:grid         { display: grid !important; }
  .sm\:block        { display: block !important; }
  .sm\:inline       { display: inline !important; }
  .sm\:inline-flex  { display: inline-flex !important; }
  .sm\:inline-block { display: inline-block !important; }
  .sm\:table-cell   { display: table-cell !important; }
  .sm\:hidden       { display: none !important; }
  .sm\:flex-row     { flex-direction: row !important; }
  .sm\:items-center { align-items: center !important; }
  .sm\:grid-cols-2  { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .sm\:grid-cols-3  { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .sm\:grid-cols-4  { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 768px) {
  .md\:flex         { display: flex !important; }
  .md\:grid         { display: grid !important; }
  .md\:block        { display: block !important; }
  .md\:inline       { display: inline !important; }
  .md\:inline-flex  { display: inline-flex !important; }
  .md\:inline-block { display: inline-block !important; }
  .md\:table-cell   { display: table-cell !important; }
  .md\:hidden       { display: none !important; }
  .md\:flex-row     { flex-direction: row !important; }
  .md\:items-center { align-items: center !important; }
  .md\:border-r     { border-right-width: 1px !important; }
  .md\:grid-cols-2  { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .md\:grid-cols-3  { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .md\:grid-cols-4  { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 1024px) {
  .lg\:flex         { display: flex !important; }
  .lg\:grid         { display: grid !important; }
  .lg\:block        { display: block !important; }
  .lg\:inline       { display: inline !important; }
  .lg\:inline-flex  { display: inline-flex !important; }
  .lg\:table-cell   { display: table-cell !important; }
  .lg\:hidden       { display: none !important; }
  .lg\:grid-cols-2  { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .lg\:grid-cols-3  { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .lg\:grid-cols-4  { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 1280px) {
  .xl\:flex   { display: flex !important; }
  .xl\:grid   { display: grid !important; }
  .xl\:block  { display: block !important; }
  .xl\:hidden { display: none !important; }
}
.rf-club-form { width: 100%; display: flex; flex-direction: column; gap: 16px; margin-top: 8px; }
.rf-form-row { display: flex; flex-direction: column; gap: 6px; }
.rf-form-row label { font-size: 13px; font-weight: 600; color: var(--foreground); }
.rf-form-row label .req { color: var(--danger, #ef4444); }
.rf-form-row input[type="text"],
.rf-form-row select,
.rf-form-row textarea {
    padding: 10px 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    font: inherit;
    color: var(--foreground);
    outline: none;
    transition: border-color .15s ease;
}
.rf-form-row input[type="text"]:focus,
.rf-form-row select:focus,
.rf-form-row textarea:focus { border-color: var(--primary); }
.rf-form-row textarea { resize: vertical; min-height: 90px; }
.rf-form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 4px; }
.rf-breadcrumb { margin-bottom: 12px; font-size: 13px; }
.rf-breadcrumb a { color: var(--muted-foreground); text-decoration: none; }
.rf-breadcrumb a:hover { color: var(--primary); }
.rf-club-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.rf-club-card {
    display: flex; flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none; color: inherit;
    transition: border-color .15s ease, transform .15s ease;
}
.rf-club-card:hover { border-color: var(--primary); transform: translateY(-1px); }
.rf-club-card__cover {
    display: block; height: 74px;
    background-size: cover; background-position: center;
    background-color: color-mix(in srgb, var(--primary) 14%, var(--surface));
}
.rf-club-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; flex: 1; }
.rf-club-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rf-club-card__heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.rf-club-card__heading h3 { margin: 0; font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-club-card__icon {
    width: 40px; height: 40px; flex-shrink: 0;
    border-radius: 9px; object-fit: cover; background: var(--surface);
    border: 1px solid var(--border);
}
.rf-club-card__type {
    font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em;
    padding: 2px 8px; border-radius: 999px;
    background: color-mix(in srgb, var(--muted) 50%, transparent);
    color: var(--muted-foreground);
}
.rf-club-card__type--public { background: color-mix(in srgb, #22c55e 18%, transparent); color: #15803d; }
.rf-club-card__type--closed { background: color-mix(in srgb, #f59e0b 18%, transparent); color: #b45309; }
.rf-club-card__type--private { background: color-mix(in srgb, #ef4444 18%, transparent); color: #b91c1c; }
.rf-club-card__desc { display: block; margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--muted-foreground); }
.rf-club-card__stats { display: flex; gap: 14px; margin-top: auto; padding-top: 6px; font-size: 12px; color: var(--muted-foreground); flex-wrap: wrap; }
.rf-club-section-head { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted-foreground); margin: 22px 0 10px; }
.rf-club-section-head:first-of-type { margin-top: 4px; }
.rf-club-card__tag { display: inline-block; padding: 1px 8px; background: color-mix(in srgb, var(--primary) 18%, transparent); color: var(--primary); border-radius: 999px; font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; }
.rf-club-detail { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 26px 30px; }
.rf-club-detail__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.rf-club-detail h1 { margin: 0 0 8px; font-size: 26px; }
.rf-club-detail__meta { display: flex; gap: 14px; flex-wrap: wrap; color: var(--muted-foreground); font-size: 13px; }
.rf-club-detail__desc { padding: 14px 0; border-top: 1px solid var(--border); font-size: 15px; line-height: 1.6; }
.rf-club-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin: 14px 0 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rf-club-tabs::-webkit-scrollbar { height: 0; }
.rf-club-tab { padding: 10px 18px; color: var(--muted-foreground); text-decoration: none; border-bottom: 2px solid transparent; font-size: 14px; }
.rf-club-tab:hover { color: var(--foreground); }
.rf-club-tab.is-active { color: var(--primary); border-bottom-color: var(--primary); }
.rf-club-detail__members { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 0; }
.rf-club-detail__member { display: inline-flex; gap: 6px; align-items: center; padding: 5px 12px; background: color-mix(in srgb, var(--primary) 10%, transparent); border-radius: 999px; font-size: 12.5px; color: var(--foreground); text-decoration: none; }
.rf-club-detail__member:hover { background: var(--primary); color: #fff; }
.rf-pill { display: inline-block; padding: 1px 8px; background: color-mix(in srgb, var(--muted) 50%, transparent); border-radius: 999px; font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); }
.rf-club-empty { color: var(--muted-foreground); font-size: 13.5px; padding: 16px 0; }
.rf-club-post-form, .rf-club-event-form > form { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: color-mix(in srgb, var(--muted) 15%, transparent); }
.rf-club-post-form input, .rf-club-post-form textarea, .rf-club-event-form input, .rf-club-event-form textarea { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; }
.rf-club-post-form button, .rf-club-event-form button { align-self: flex-end; }
.rf-club-event-form > summary { cursor: pointer; padding: 8px 0; color: var(--primary); font-weight: 600; }
.rf-club-post-list, .rf-club-event-list, .rf-club-mod-list, .rf-club-audit-list { list-style: none; padding: 0; margin: 0; }
.rf-club-post { padding: 14px 0; border-bottom: 1px solid var(--border); }
.rf-club-post--pinned { background: color-mix(in srgb, var(--primary) 6%, transparent); padding: 14px; border-radius: 10px; border: 1px dashed color-mix(in srgb, var(--primary) 50%, transparent); margin-bottom: 8px; }
.rf-club-post--hidden, .rf-club-post--deleted { opacity: 0.55; }
.rf-club-post__title { font-weight: 600; font-size: 15.5px; color: var(--foreground); text-decoration: none; }
.rf-club-post__title:hover { color: var(--primary); }
.rf-club-post__meta { color: var(--muted-foreground); font-size: 12.5px; margin: 4px 0; }
.rf-club-post__excerpt { color: var(--foreground); font-size: 14px; margin: 4px 0 0; line-height: 1.5; }
.rf-club-event { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.rf-club-event__date { background: color-mix(in srgb, var(--primary) 15%, transparent); width: 60px; min-width: 60px; text-align: center; padding: 8px 0; border-radius: 8px; }
.rf-club-event__month { display: block; font-size: 11px; text-transform: uppercase; color: var(--primary); letter-spacing: .06em; }
.rf-club-event__day { display: block; font-size: 24px; font-weight: 700; line-height: 1; color: var(--foreground); }
.rf-club-event__title { font-weight: 600; color: var(--foreground); text-decoration: none; }
.rf-club-event__title:hover { color: var(--primary); }
.rf-club-event__meta, .rf-club-event__rsvp { font-size: 13px; color: var(--muted-foreground); }
.rf-club-mod h3 { margin: 20px 0 8px; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); }
.rf-club-mod-list li { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
.rf-club-mod-list small { color: var(--muted-foreground); margin-left: 6px; }
.rf-club-mod-actions { display: flex; gap: 6px; }
.rf-club-audit-list li { padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.rf-club-audit-list code { font-family: monospace; padding: 1px 6px; background: color-mix(in srgb, var(--muted) 30%, transparent); border-radius: 4px; font-size: 12px; }
.rf-btn-sm { font-size: 12px; padding: 4px 10px; }
.rf-btn-danger { background: color-mix(in srgb, #dc3545 90%, transparent); color: #fff; }
.rf-club-pagination { display: flex; gap: 18px; align-items: center; justify-content: center; padding: 18px 0 4px; font-size: 13.5px; color: var(--muted-foreground); }
.rf-club-pagination a { color: var(--primary); text-decoration: none; }
.rf-club-tab { white-space: nowrap; flex-shrink: 0; }
.rf-club-cover { width: calc(100% + 60px); height: 160px; margin: -26px -30px 18px; background-size: cover; background-position: center; border-radius: 14px 14px 0 0; }
.rf-club-icon { width: 36px; height: 36px; border-radius: 8px; vertical-align: middle; margin-right: 8px; object-fit: cover; }
.rf-club-settings h3 { margin: 18px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); }
.rf-club-meta-form { display: flex; flex-direction: column; gap: 10px; max-width: 520px; }
.rf-club-meta-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--muted-foreground); }
.rf-club-meta-form input, .rf-club-meta-form select, .rf-club-meta-form textarea { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; }
.rf-club-meta-form button { align-self: flex-start; }
.rf-club-settings small { display: inline-block; margin-left: 8px; color: var(--muted-foreground); font-size: 12px; }
.rf-club-post-search { display: flex; gap: 8px; margin: 0 0 14px; align-items: center; }
.rf-club-post-search input { flex: 1; padding: 8px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; }
.rf-club-feed-links { float: right; }
.rf-club-feed-links a { color: var(--muted-foreground); margin-left: 10px; text-decoration: none; }
.rf-club-feed-links a:hover { color: var(--primary); }
.rf-club-settings form { margin: 0 0 14px; max-width: 520px; }
.rf-club-settings input[type="file"] {
    display: block; width: 100%; padding: 10px;
    border: 1px dashed var(--border); border-radius: 8px;
    background: color-mix(in srgb, var(--muted) 12%, transparent);
    color: var(--foreground); font: inherit; cursor: pointer; margin-bottom: 10px;
}
.rf-club-settings input[type="file"]:hover { border-color: var(--primary); }
.rf-club-settings input[type="file"]::file-selector-button {
    margin-right: 12px; padding: 6px 14px; border: 0; border-radius: 6px;
    background: var(--primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer;
}
.rf-club-settings input[type="file"]::file-selector-button:hover { filter: brightness(1.08); }
.rf-club-settings form button { margin-right: 8px; }
.rf-club-post-detail { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 26px 30px; }
.rf-club-post-detail--hidden, .rf-club-post-detail--deleted { opacity: 0.7; border-color: #dc3545; }
.rf-club-post-detail h1 { margin: 0 0 8px; font-size: 24px; }
.rf-club-post-detail__meta { color: var(--muted-foreground); font-size: 13px; margin-bottom: 18px; }
.rf-club-post-detail__body { font-size: 15px; line-height: 1.65; padding: 12px 0 18px; border-bottom: 1px solid var(--border); }
.rf-club-post-detail__mod, .rf-club-comment__mod { display: flex; gap: 6px; margin: 10px 0; }
.rf-club-post-detail h2 { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); margin: 22px 0 10px; }
.rf-club-comment-list { list-style: none; padding: 0; margin: 0; }
.rf-club-comment { padding: 12px 0; border-bottom: 1px solid var(--border); }
.rf-club-comment--hidden, .rf-club-comment--deleted { opacity: 0.55; }
.rf-club-comment__head { font-size: 12.5px; color: var(--muted-foreground); margin-bottom: 4px; }
.rf-club-comment__head a { color: var(--foreground); font-weight: 600; }
.rf-club-comment__body { font-size: 14.5px; line-height: 1.55; }
.rf-club-comment-form { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: color-mix(in srgb, var(--muted) 15%, transparent); }
.rf-club-comment-form textarea { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; }
.rf-club-comment-form button { align-self: flex-end; }
.rf-club-post-detail__actions { display: flex; gap: 6px; margin: 10px 0; flex-wrap: wrap; }
.rf-club-post-edit, .rf-club-comment-edit { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: color-mix(in srgb, var(--muted) 12%, transparent); }
.rf-club-post-edit input, .rf-club-post-edit textarea, .rf-club-comment-edit textarea { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--background); color: var(--foreground); font: inherit; }
.rf-club-post-edit div, .rf-club-comment-edit div { display: flex; gap: 6px; justify-content: flex-end; }
.rf-event-list { display: grid; gap: 10px; }
.rf-event-card {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 14px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s ease, transform .15s ease;
}
.rf-event-card:hover { border-color: var(--primary); transform: translateY(-1px); }
.rf-event-card__date {
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    border-radius: 10px;
    text-align: center;
    padding: 8px 0;
}
.rf-event-card__date .m { display: block; font-size: 11px; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: .04em; }
.rf-event-card__date .d { display: block; font-size: 22px; font-weight: 700; line-height: 1.1; color: var(--foreground); }
.rf-event-card__title { font-size: 15.5px; font-weight: 600; margin: 0 0 4px; }
.rf-event-card__meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--muted-foreground); }
.rf-event-card__rsvp { text-align: center; min-width: 56px; }
.rf-event-card__count { display: block; font-size: 18px; font-weight: 700; color: var(--primary); }
.rf-event-card__label { display: block; font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted-foreground); }
.rf-event-detail { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 26px 30px; }
.rf-event-detail__title { font-size: 26px; font-weight: 700; margin: 0 0 12px; }
.rf-event-detail__meta { display: flex; gap: 18px; flex-wrap: wrap; color: var(--muted-foreground); font-size: 13.5px; margin-bottom: 18px; }
.rf-event-detail__body { font-size: 15px; line-height: 1.65; padding: 14px 0; border-top: 1px solid var(--border); }
.rf-event-rsvp { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-top: 1px solid var(--border); }
.rf-event-rsvp__label { font-weight: 600; }
.rf-event-counts { display: flex; gap: 22px; padding: 12px 0; color: var(--muted-foreground); font-size: 13.5px; border-top: 1px solid var(--border); }
.rf-event-counts strong { color: var(--foreground); font-size: 16px; margin-right: 4px; }
.rf-event-attendees { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0 0; }
.rf-event-attendee { display: inline-block; padding: 5px 12px; background: color-mix(in srgb, var(--primary) 10%, transparent); border-radius: 999px; font-size: 12.5px; color: var(--foreground); text-decoration: none; }
.rf-event-attendee:hover { background: var(--primary); color: var(--primary-foreground, #fff); }
.rf-event-rsvp-locked { padding: 14px 0; color: var(--muted-foreground); }
.rf-event-detail__manage { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.rf-event-detail__manage .rf-btn-sm { font-size: 12.5px; padding: 6px 13px; }
.rf-event-delete-form { display: inline; margin: 0; }
.rf-event-detail__manage .rf-btn-danger { border-color: transparent; }
.rf-event-detail__manage .rf-btn-danger:hover { filter: brightness(1.08); }
.ev-create-page { width: 100%; max-width: 1280px; margin: 0 auto; }
.ev-breadcrumb { margin-bottom: 14px; font-size: 13.5px; }
.ev-breadcrumb a { color: var(--muted-foreground, #888); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.ev-breadcrumb a:hover { color: var(--primary, #f24b18); }
.ev-page-head {
    display: flex; align-items: center; gap: 18px;
    padding: 22px 26px; margin-bottom: 22px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--primary, #f24b18) 10%, transparent),
        color-mix(in srgb, var(--primary, #f24b18) 2%, transparent));
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 16px;
}
.ev-page-head__icon {
    width: 52px; height: 52px; flex-shrink: 0;
    display: grid; place-items: center;
    background: var(--primary, #f24b18); color: #fff;
    border-radius: 12px; font-size: 22px;
    box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--primary, #f24b18) 55%, transparent);
}
.ev-page-head h1 { margin: 0 0 4px; font-size: 24px; font-weight: 700; color: var(--foreground, #fff); }
.ev-page-head p { margin: 0; color: var(--muted-foreground, #999); font-size: 14px; }
.ev-form { display: grid; gap: 22px; }
.ev-form__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; }
@media (max-width: 980px) { .ev-form__grid { grid-template-columns: 1fr; } }
.ev-form__col { display: grid; gap: 18px; align-content: start; }
.ev-card {
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    padding: 22px 24px;
    display: grid; gap: 16px;
}
.ev-card__title {
    margin: 0; font-size: 13px; font-weight: 600;
    color: var(--muted-foreground, #999); text-transform: uppercase;
    letter-spacing: .06em; display: flex; align-items: center; gap: 8px;
}
.ev-card__title i { color: var(--primary, #f24b18); }
.ev-field { display: grid; gap: 6px; }
.ev-field label { font-size: 13px; font-weight: 600; color: var(--foreground, #fff); }
.ev-field label .req { color: #ef4444; }
.ev-field label .hint { color: var(--muted-foreground, #999); font-weight: 400; font-size: 12px; }
.ev-field input[type=text],
.ev-field input[type=url],
.ev-field input[type=number],
.ev-field input[type=datetime-local],
.ev-field select,
.ev-field textarea {
    width: 100%; box-sizing: border-box;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    padding: 11px 14px;
    font: inherit; font-size: 14px;
    color: var(--foreground, #fff);
    transition: border-color .15s, box-shadow .15s;
}
.ev-field input:focus,
.ev-field select:focus,
.ev-field textarea:focus {
    outline: none;
    border-color: var(--primary, #f24b18);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent);
}
.ev-field textarea { resize: vertical; min-height: 180px; line-height: 1.55; }
.ev-form__actions {
    display: flex; gap: 10px; justify-content: flex-end;
    padding: 18px 22px;
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    position: sticky; bottom: 8px;
    backdrop-filter: blur(8px);
}
.ev-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none;
    border: 1px solid var(--border, #2a2a2e);
    background: transparent; color: var(--foreground, #fff);
    transition: all .15s;
}
.ev-btn:hover { border-color: var(--primary, #f24b18); }
.ev-btn--ghost { background: transparent; }
.ev-btn--primary {
    background: var(--primary, #f24b18); color: #fff; border-color: transparent;
    box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary, #f24b18) 45%, transparent);
}
.ev-btn--primary:hover { filter: brightness(1.08); border-color: transparent; }
.search-results { display: flex; flex-direction: column; gap: 12px; }
.rb-sr-count {
    font-family: var(--font-sans);
    font-size: 13px; color: var(--muted-foreground);
    margin: 2px 2px 18px;
}
.rb-sr-count b { color: var(--foreground); font-weight: 700; }
.rb-sr-count .rb-sr-q { color: var(--primary); font-weight: 600; }
.rb-sr {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 16px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius, 12px);
    text-decoration: none; color: var(--foreground);
    position: relative; overflow: hidden;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.rb-sr::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
    background: var(--primary); transform: scaleY(0); transform-origin: top;
    transition: transform .18s ease;
}
.rb-sr:hover {
    border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
    box-shadow: 0 6px 18px rgba(0,0,0,.10);
    transform: translateY(-1px);
}
.rb-sr:hover::before { transform: scaleY(1); }
.rb-sr__icon {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    font-size: 17px;
    background: color-mix(in srgb, var(--primary) 12%, transparent);
    color: var(--primary);
}
.rb-sr__icon--thread { background: color-mix(in srgb,#3b82f6 15%,transparent); color:#3b82f6; }
.rb-sr__icon--post   { background: color-mix(in srgb,#10b981 15%,transparent); color:#10b981; }
.rb-sr__icon--member { background: color-mix(in srgb,#8b5cf6 15%,transparent); color:#8b5cf6; }
.rb-sr__icon--tag    { background: color-mix(in srgb,#f59e0b 15%,transparent); color:#f59e0b; }
.rb-sr__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.rb-sr__top { display: flex; align-items: center; gap: 9px; }
.rb-sr__title {
    font-size: 15px; font-weight: 650; line-height: 1.35; color: var(--foreground);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;
    transition: color .15s ease;
}
.rb-sr:hover .rb-sr__title { color: var(--primary); }
.rb-sr__title mark { background: color-mix(in srgb, var(--primary) 24%, transparent); color: inherit; border-radius: 3px; padding: 0 2px; }
.rb-sr__badge {
    flex-shrink: 0; font-family: var(--font-sans);
    font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    padding: 3px 8px; border-radius: 999px;
    background: var(--muted); color: var(--muted-foreground);
}
.rb-sr__badge--thread { background: color-mix(in srgb,#3b82f6 16%,transparent); color:#3b82f6; }
.rb-sr__badge--post   { background: color-mix(in srgb,#10b981 16%,transparent); color:#10b981; }
.rb-sr__badge--member { background: color-mix(in srgb,#8b5cf6 16%,transparent); color:#8b5cf6; }
.rb-sr__badge--tag    { background: color-mix(in srgb,#f59e0b 16%,transparent); color:#f59e0b; }
.rb-sr__snippet {
    font-size: 13px; line-height: 1.5; color: var(--muted-foreground);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rb-sr__snippet mark { background: color-mix(in srgb, var(--primary) 18%, transparent); color: inherit; border-radius: 3px; padding: 0 2px; }
.rb-sr__meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px;
    font-family: var(--font-sans); font-size: 11.5px; color: var(--text-faint);
    margin-top: 2px;
}
.rb-sr__meta-item { display: inline-flex; align-items: center; gap: 5px; }
.rb-sr__meta-item i { font-size: 10px; opacity: .85; width: 11px; text-align: center; }
.rb-sr__chevron {
    flex-shrink: 0; align-self: center; color: var(--text-faint);
    font-size: 13px; opacity: 0; transform: translateX(-4px);
    transition: opacity .15s ease, transform .15s ease, color .15s ease;
}
.rb-sr:hover .rb-sr__chevron { opacity: 1; transform: translateX(0); color: var(--primary); }
@media (max-width: 768px) {
    .rb-sr { padding: 13px 14px; gap: 11px; }
    .rb-sr__icon { width: 38px; height: 38px; font-size: 15px; border-radius: 10px; }
    .rb-sr__title { font-size: 14px; }
    .rb-sr__chevron { display: none; }
}
.tc-create-page { width: 100%; max-width: 1280px; margin: 0 auto; }
.tc-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 14px; flex-wrap: wrap; }
.tc-crumb { color: var(--muted-foreground, #888); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.tc-crumb:hover { color: var(--primary, #f24b18); }
.tc-crumb--current { color: var(--foreground, #fff); font-weight: 600; }
.tc-crumb-sep { color: var(--muted-foreground, #555); opacity: .5; }
.tc-page-head {
    display: flex; align-items: center; gap: 18px;
    padding: 22px 26px; margin-bottom: 22px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--primary, #f24b18) 10%, transparent),
        color-mix(in srgb, var(--primary, #f24b18) 2%, transparent));
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 16px;
}
.tc-page-head__icon {
    width: 52px; height: 52px; flex-shrink: 0;
    display: grid; place-items: center;
    background: var(--primary, #f24b18); color: #fff;
    border-radius: 12px; font-size: 22px;
    box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--primary, #f24b18) 55%, transparent);
}
.tc-page-head h1 { margin: 0 0 4px; font-size: 24px; font-weight: 700; color: var(--foreground, #fff); }
.tc-page-head p { margin: 0; color: var(--muted-foreground, #999); font-size: 14px; }
.tc-page-head strong { color: var(--foreground, #fff); }
.tc-errors {
    padding: 14px 18px; margin-bottom: 18px;
    background: color-mix(in srgb, #ef4444 12%, var(--surface, #18181b));
    border: 1px solid color-mix(in srgb, #ef4444 40%, transparent);
    border-radius: 12px;
    color: var(--foreground, #fff);
}
.tc-errors__head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; color: #ef4444; }
.tc-errors ul { margin: 0; padding-left: 24px; font-size: 13.5px; }
.tc-errors li { line-height: 1.6; }
.tc-form { display: grid; gap: 22px; }
.tc-form__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
@media (max-width: 1024px) { .tc-form__grid { grid-template-columns: 1fr; } }
.tc-form__col { display: grid; gap: 18px; align-content: start; }
.tc-card {
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    padding: 20px 22px;
    display: grid; gap: 14px;
}
.tc-card--accent { border-color: color-mix(in srgb, var(--primary, #f24b18) 40%, var(--border, #2a2a2e)); background: linear-gradient(180deg, color-mix(in srgb, var(--primary, #f24b18) 4%, var(--surface, #18181b)), var(--surface, #18181b)); }
.tc-card__title {
    margin: 0; font-size: 13px; font-weight: 600;
    color: var(--muted-foreground, #999); text-transform: uppercase;
    letter-spacing: .06em; display: flex; align-items: center; gap: 8px;
}
.tc-card__title i { color: var(--primary, #f24b18); }
.tc-field { display: grid; gap: 6px; }
.tc-label { font-size: 13px; font-weight: 600; color: var(--foreground, #fff); display: flex; align-items: center; gap: 6px; }
.tc-label .req { color: #ef4444; }
.tc-field-foot { display: flex; justify-content: flex-end; font-size: 12px; color: var(--muted-foreground, #999); }
.tc-counter { font-variant-numeric: tabular-nums; }
.tc-counter--warn { color: #f59e0b; }
.tc-counter--danger { color: #ef4444; }
.tc-input {
    width: 100%; box-sizing: border-box;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    padding: 11px 14px;
    font: inherit; font-size: 14px;
    color: var(--foreground, #fff);
    transition: border-color .15s, box-shadow .15s;
}
.tc-input--big { font-size: 17px; padding: 14px 16px; font-weight: 500; }
.tc-input:focus { outline: none; border-color: var(--primary, #f24b18); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); }
.tc-forum-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.tc-forum-pick {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    cursor: pointer; font: inherit; font-size: 13.5px;
    color: var(--foreground, #fff); text-align: left;
    transition: all .15s;
}
.tc-forum-pick:hover { border-color: color-mix(in srgb, var(--primary, #f24b18) 50%, var(--border, #2a2a2e)); }
.tc-forum-pick i { color: var(--muted-foreground, #888); transition: color .15s; }
.tc-forum-pick.active {
    border-color: var(--primary, #f24b18);
    background: color-mix(in srgb, var(--primary, #f24b18) 12%, var(--background, #0e0e10));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary, #f24b18) 25%, transparent);
}
.tc-forum-pick.active i { color: var(--primary, #f24b18); }
.tc-forum-pick span { flex: 1; }
.tc-forum-select {
    display: none;
    width: 100%; box-sizing: border-box;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    padding: 12px 14px;
    font: inherit; font-size: 14px;
    color: var(--foreground, #fff);
}
.tc-forum-select:focus { outline: none; border-color: var(--primary, #f24b18); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); }
.tc-prefix-row { display: flex; flex-wrap: wrap; gap: 6px; }
.tc-prefix-pill {
    padding: 6px 12px; border-radius: 999px;
    background: var(--pfx-bg, var(--background, #0e0e10));
    color: var(--pfx-fg, var(--foreground, #fff));
    border: 1px solid var(--border, #2a2a2e);
    font: inherit; font-size: 12px; font-weight: 600;
    cursor: pointer; transition: all .15s;
}
.tc-prefix-pill:hover { border-color: var(--primary, #f24b18); }
.tc-prefix-pill.active { box-shadow: 0 0 0 2px var(--primary, #f24b18); transform: scale(1.02); }
.tc-prefix-pill--badge { padding: 4px 4px; background: transparent; border-color: var(--border, #2a2a2e); line-height: 1; }
.tc-prefix-pill--badge:hover { border-color: var(--primary, #f24b18); }
.tc-prefix-hint { flex-basis: 100%; margin: 6px 0 0; font-size: 12px; color: var(--muted-foreground, #9aa0a6); }
.tc-create-page [x-cloak] { display: none !important; }
.tc-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; color: var(--foreground, #fff); }
.tc-check input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--primary, #f24b18); }
.tc-check--lg { font-weight: 600; }
.tc-check i { color: var(--primary, #f24b18); }
.tc-poll-body { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--border, #2a2a2e); }
.tc-chip { display: inline-flex; padding: 2px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-left: 4px; }
.tc-chip--accent { background: var(--primary, #f24b18); color: #fff; }
.tc-form__actions {
    display: flex; gap: 10px; justify-content: flex-end;
    padding: 16px 20px;
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    position: sticky; bottom: 8px; z-index: 5;
    backdrop-filter: blur(8px);
}
.tc-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none;
    border: 1px solid var(--border, #2a2a2e);
    background: transparent; color: var(--foreground, #fff);
    transition: all .15s;
}
.tc-btn:hover { border-color: var(--primary, #f24b18); }
.tc-btn--primary {
    background: var(--primary, #f24b18); color: #fff; border-color: transparent;
    box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary, #f24b18) 45%, transparent);
}
.tc-btn--primary:hover { filter: brightness(1.08); border-color: transparent; }
.tc-create-page .req { color: #ef4444; }
.tc-autotags-btn {
    margin-top: 10px;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px;
    font-size: 12px; font-weight: 500;
    background: transparent;
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 8px;
    color: var(--muted-foreground, #9aa0a6);
    cursor: pointer;
    transition: all .15s;
}
.tc-autotags-btn:hover {
    border-color: var(--primary, #f24b18);
    color: var(--primary, #f24b18);
    background: color-mix(in srgb, var(--primary, #f24b18) 8%, transparent);
}
.tc-autotags-btn i { font-size: 11px; }
@media (max-width: 768px) {
    .tc-card { padding: 14px 12px; }
    .tc-forum-grid { display: none; }
    .tc-forum-select { display: block; }
}
.rb-act-*/@keyframes rb-glow are unique
 * (core.css only has `--rb-profile-*` CSS variables, not these class rules).
 * ========================================================================== */
.rb-profile-cover{position:relative;overflow:hidden;border-radius:0 0 20px 20px;}
.rb-profile-cover-img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.rb-profile-cover:hover .rb-profile-cover-img{transform:scale(1.02);}
.rb-profile-cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,.5) 100%);z-index:1;}
.rb-profile-cover-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.06) 1px, transparent 0);background-size:24px 24px;}
.rb-profile-header{position:relative;padding:0 24px;margin-top:-48px;z-index:2;}
.rb-profile-avatar-container{position:relative;display:inline-block;}
.rb-profile-avatar-ring{border-radius:var(--rb-avatar-border-radius, 9999px);padding:4px;background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.rb-profile-avatar-glow{position:absolute;inset:-4px;border-radius:var(--rb-avatar-border-radius, 9999px);background:linear-gradient(135deg,color-mix(in srgb,var(--foreground) 18%,transparent),color-mix(in srgb,var(--foreground) 6%,transparent));opacity:.5;filter:blur(10px);z-index:-1;animation:rb-glow 3s ease-in-out infinite alternate;}
@keyframes rb-glow{from{opacity:.2;transform:scale(.95);}to{opacity:.4;transform:scale(1.05);}}
.rb-profile-online-badge{position:absolute;bottom:6px;right:6px;width:16px;height:16px;border-radius:50%;background:#22c55e;border:3px solid var(--surface);box-shadow:0 0 10px rgba(34,197,94,.5);z-index:3;}
.rb-profile-name{font-size:1.6rem;font-weight:800;line-height:1.3;letter-spacing:-.02em;}
.rb-profile-actions .rb-act-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:10px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer;border:none;}
.rb-act-primary{background:var(--primary);color:var(--primary-foreground, #fff);box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 40%, transparent);}
.rb-act-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px color-mix(in srgb, var(--primary) 50%, transparent);}
.rb-act-ghost{background:color-mix(in srgb, var(--foreground) 8%, transparent);color:var(--foreground);backdrop-filter:blur(4px);}
.rb-act-ghost:hover{background:color-mix(in srgb, var(--foreground) 14%, transparent);}
.rb-profile-stat-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:12px;background:color-mix(in srgb, var(--muted) 50%, transparent);border:1px solid color-mix(in srgb, var(--border) 50%, transparent);transition:all .2s;min-width:80px;}
.rb-profile-stat-card:hover{background:var(--muted);border-color:var(--border);transform:translateY(-2px);}
.rb-profile-stat-val{font-size:1.1rem;font-weight:800;color:var(--foreground);line-height:1;}
.rb-profile-stat-label{font-size:.65rem;color:var(--muted-foreground);margin-top:4px;text-transform:uppercase;letter-spacing:.4px;}
.rb-profile-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--muted-foreground);padding:4px 10px;border-radius:8px;background:color-mix(in srgb, var(--muted) 40%, transparent);transition:background .15s;}
.rb-profile-meta-item:hover{background:var(--muted);}
.rb-profile-bio{font-size:.85rem;color:var(--muted-foreground);line-height:1.6;max-width:600px;border-left:3px solid var(--primary);padding-left:12px;margin:0;}
.poll-color-0 { --pc: #ff5722; }
.poll-color-1 { --pc: #f43f5e; }
.poll-color-2 { --pc: #10b981; }
.poll-color-3 { --pc: #f59e0b; }
.poll-color-4 { --pc: #8b5cf6; }
.poll-color-5 { --pc: #06b6d4; }
.poll-color-6 { --pc: #ec4899; }
.poll-color-7 { --pc: #84cc16; }
.poll-color-8 { --pc: #ef4444; }
.poll-color-9 { --pc: #14b8a6; }
.poll-bar-fill { transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1); }
.poll-donut { width: 80px; height: 80px; border-radius: var(--rb-avatar-border-radius, 9999px); position: relative; }
.poll-donut-hole { width: 50px; height: 50px; border-radius: var(--rb-avatar-border-radius, 9999px); background: var(--surface); position: absolute; top: 15px; left: 15px; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 700; color: var(--muted-foreground); }
.poll-voters-modal { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; }
.poll-voters-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.poll-voters-content { position: relative; background: var(--surface); border-radius: var(--rb-border-radius-medium, 0.75rem); max-width: 460px; width: 90vw; max-height: 70vh; overflow-y: auto; border: 1px solid var(--border); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
dialog.axm-dialog { border: 0; padding: 0; background: transparent; color: inherit; max-width: none; max-height: none; width: 100%; height: 100%; inset: 0; margin: 0; overflow: visible; }
dialog.axm-dialog[open] { display: flex; align-items: center; justify-content: center; padding: 24px 16px; box-sizing: border-box; }
dialog.axm-dialog::backdrop { background: rgba(8, 11, 18, 0.62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.axm-shell {
    width: 100%; max-width: 940px; max-height: 92vh;
    display: grid; grid-template-columns: 1fr 1fr;
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 40px 100px -30px rgba(0,0,0,.6);
    position: relative;
    animation: axm-pop .22s ease-out;
}
.axm-shell input:not([type="checkbox"]):not([type="radio"]),
.axm-shell textarea,
.axm-shell select,
.axm-shell button,
.axm-shell .axm-btn { border-radius: 8px !important; }
@keyframes axm-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 880px) { .axm-shell { grid-template-columns: 1fr; } .axm-hero { display: none !important; } }
.axm-close {
    position: absolute; top: 14px; right: 14px; z-index: 5;
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(0,0,0,.35); color: #fff;
    border: 0; cursor: pointer; display: grid; place-items: center;
    font-size: 13px; transition: background .15s;
}
.axm-close:hover { background: rgba(0,0,0,.6); }
.axm-hero {
    position: relative;
    padding: 32px 32px;
    background:
        radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--primary, #f24b18) 28%, transparent), transparent 60%),
        radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--primary, #f24b18) 14%, transparent), transparent 60%),
        linear-gradient(135deg, color-mix(in srgb, var(--primary, #f24b18) 18%, var(--surface, #18181b)), var(--surface, #18181b));
    color: var(--foreground, #fff);
    display: flex; flex-direction: column; justify-content: space-between; gap: 22px;
}
.axm-hero::before {
    content: ''; position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: radial-gradient(circle at center, #000 30%, transparent 80%);
    pointer-events: none;
}
.axm-hero > * { position: relative; z-index: 1; }
.axm-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; font-weight: 700; font-size: 16px; }
.axm-brand-mark { width: 34px; height: 34px; border-radius: 9px; background: rgba(255,255,255,.1); display: grid; place-items: center; font-size: 15px; }
.axm-brand-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: 9px; }
.axm-hero h2 { font-size: 26px; line-height: 1.15; font-weight: 800; margin: 0 0 10px; letter-spacing: -.02em; }
.axm-hero p { color: color-mix(in srgb, var(--foreground, #fff) 75%, transparent); font-size: 14px; line-height: 1.55; margin: 0 0 18px; }
.axm-features { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.axm-features li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: color-mix(in srgb, var(--foreground, #fff) 82%, transparent); }
.axm-features i { width: 24px; height: 24px; border-radius: 7px; background: rgba(255,255,255,.1); display: grid; place-items: center; font-size: 11px; color: var(--foreground, #fff); }
.axm-hero-foot { font-size: 11px; color: color-mix(in srgb, var(--foreground, #fff) 55%, transparent); }
.axm-card { padding: 32px 34px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; }
.axm-card-head h1 { margin: 0 0 4px; font-size: 20px; font-weight: 700; color: var(--foreground, #fff); letter-spacing: -.01em; }
.axm-card-head p { margin: 0; font-size: 13px; color: var(--muted-foreground, #999); }
.axm-alert { display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; border-radius: 10px; font-size: 13px; }
.axm-alert--err { background: color-mix(in srgb, #ef4444 12%, transparent); color: #ef4444; border: 1px solid color-mix(in srgb, #ef4444 30%, transparent); }
.axm-form { display: grid; gap: 12px; }
.axm-field { display: grid; gap: 6px; }
.axm-field label { font-size: 12.5px; font-weight: 600; color: var(--foreground, #fff); }
.axm-field-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.axm-input-wrap { position: relative; display: flex; align-items: center; }
.axm-input-wrap > i { position: absolute; left: 14px; color: var(--muted-foreground, #777); font-size: 13px; pointer-events: none; }
.axm-input-wrap input {
    width: 100%; box-sizing: border-box;
    padding: 11px 14px 11px 40px;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    color: var(--foreground, #fff);
    font: inherit; font-size: 14px;
    transition: border-color .15s, box-shadow .15s;
}
.axm-input-wrap input:focus { outline: none; border-color: var(--primary, #f24b18); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); }
.axm-eye { position: absolute; right: 10px; background: transparent; border: 0; color: var(--muted-foreground, #777); cursor: pointer; padding: 6px; font-size: 13px; }
.axm-eye:hover { color: var(--foreground, #fff); }
.axm-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--foreground, #fff); cursor: pointer; }
.axm-check input { width: 15px; height: 15px; accent-color: var(--primary, #f24b18); }
.axm-link { color: var(--primary, #f24b18); text-decoration: none; font-size: 12.5px; }
.axm-link:hover { text-decoration: underline; }
.axm-link--bold { font-weight: 600; }
.axm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 18px; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none; border: 0;
    background: linear-gradient(180deg, var(--primary, #f24b18), color-mix(in srgb, var(--primary, #f24b18) 80%, #000));
    color: #fff;
    box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--primary, #f24b18) 50%, transparent);
    transition: all .15s;
}
.axm-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.axm-btn:active { transform: translateY(0); }
.axm-foot { text-align: center; font-size: 13px; color: var(--muted-foreground, #999); }
.ax-page { width: 100%; min-height: calc(100vh - 200px); display: grid; place-items: center; padding: 24px 0; }
.ax-shell {
    width: 100%; max-width: 1100px;
    display: grid; grid-template-columns: 1fr 1fr;
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 30px 80px -30px rgba(0,0,0,.4);
    min-height: 600px;
}
.ax-shell input:not([type="checkbox"]):not([type="radio"]),
.ax-shell textarea,
.ax-shell select,
.ax-shell button,
.ax-shell .ax-btn { border-radius: 8px !important; }
@media (max-width: 880px) { .ax-shell { grid-template-columns: 1fr; min-height: auto; } .ax-hero { display: none !important; } }
.ax-hero {
    position: relative;
    padding: 36px 38px;
    background:
        radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--primary, #f24b18) 26%, transparent), transparent 60%),
        radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--primary, #f24b18) 14%, transparent), transparent 60%),
        linear-gradient(135deg, color-mix(in srgb, var(--primary, #f24b18) 18%, var(--surface, #18181b)), var(--surface, #18181b));
    color: var(--foreground, #fff);
    display: flex; flex-direction: column; justify-content: space-between; gap: 26px;
}
.ax-hero::before {
    content: ''; position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: radial-gradient(circle at center, #000 30%, transparent 80%);
    pointer-events: none;
}
.ax-hero > * { position: relative; z-index: 1; }
.ax-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; font-weight: 700; font-size: 18px; }
.ax-brand-mark { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.1); display: grid; place-items: center; font-size: 18px; }
.ax-brand-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; }
.ax-hero-title { font-size: 30px; line-height: 1.15; font-weight: 800; margin: 0 0 12px; letter-spacing: -.02em; }
.ax-hero-lead { color: color-mix(in srgb, var(--foreground, #fff) 75%, transparent); font-size: 14.5px; line-height: 1.6; margin: 0 0 24px; }
.ax-features { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.ax-features li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: color-mix(in srgb, var(--foreground, #fff) 80%, transparent); }
.ax-features i { width: 26px; height: 26px; border-radius: 8px; background: rgba(255,255,255,.1); display: grid; place-items: center; font-size: 12px; color: var(--foreground, #fff); }
.ax-hero-foot { font-size: 11.5px; color: color-mix(in srgb, var(--foreground, #fff) 55%, transparent); }
.ax-card { padding: 38px 42px; display: flex; flex-direction: column; gap: 18px; position: relative; }
.ax-back { position: absolute; top: 18px; right: 22px; font-size: 12.5px; color: var(--muted-foreground, #999); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.ax-back:hover { color: var(--primary, #f24b18); }
.ax-card-head h1 { margin: 0 0 6px; font-size: 22px; font-weight: 700; color: var(--foreground, #fff); letter-spacing: -.01em; }
.ax-card-head p { margin: 0; font-size: 13.5px; color: var(--muted-foreground, #999); }
.ax-alert { display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; border-radius: 10px; font-size: 13px; }
.ax-alert--ok { background: color-mix(in srgb, #10b981 14%, transparent); color: #10b981; border: 1px solid color-mix(in srgb, #10b981 30%, transparent); }
.ax-alert--err { background: color-mix(in srgb, #ef4444 12%, transparent); color: #ef4444; border: 1px solid color-mix(in srgb, #ef4444 30%, transparent); }
.ax-form { display: grid; gap: 14px; }
.ax-hp { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; pointer-events: none; }
.ax-field { display: grid; gap: 6px; }
.ax-field label { font-size: 13px; font-weight: 600; color: var(--foreground, #fff); }
.ax-field-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ax-input-wrap { position: relative; display: flex; align-items: center; }
.ax-input-wrap > i { position: absolute; left: 14px; color: var(--muted-foreground, #777); font-size: 13.5px; pointer-events: none; }
.ax-input-wrap input {
    width: 100%; box-sizing: border-box;
    padding: 12px 14px 12px 40px;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    color: var(--foreground, #fff);
    font: inherit; font-size: 14px;
    transition: border-color .15s, box-shadow .15s;
}
.ax-input-wrap input:focus { outline: none; border-color: var(--primary, #f24b18); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); }
.ax-eye { position: absolute; right: 10px; background: transparent; border: 0; color: var(--muted-foreground, #777); cursor: pointer; padding: 6px; font-size: 13px; }
.ax-eye:hover { color: var(--foreground, #fff); }
.ax-link { color: var(--primary, #f24b18); text-decoration: none; font-size: 12.5px; }
.ax-link:hover { text-decoration: underline; }
.ax-link--bold { font-weight: 600; }
.ax-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--foreground, #fff); cursor: pointer; }
.ax-check input { width: 16px; height: 16px; accent-color: var(--primary, #f24b18); }
.ax-check--terms span { color: var(--muted-foreground, #aaa); }
.ax-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 18px; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none;
    border: 1px solid transparent;
    transition: all .15s;
}
.ax-btn--primary {
    background: linear-gradient(180deg, var(--primary, #f24b18), color-mix(in srgb, var(--primary, #f24b18) 80%, #000));
    color: #fff;
    box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--primary, #f24b18) 50%, transparent);
}
.ax-btn--primary:hover { filter: brightness(1.07); transform: translateY(-1px); }
.ax-btn--primary:active { transform: translateY(0); }
.ax-divider { display: flex; align-items: center; gap: 10px; color: var(--muted-foreground, #888); font-size: 12px; margin: 4px 0; }
.ax-divider::before, .ax-divider::after { content: ''; flex: 1; height: 1px; background: var(--border, #2a2a2e); }
.ax-foot { text-align: center; font-size: 13.5px; color: var(--muted-foreground, #999); }
.ax-custom-fields { display: grid; gap: 10px; padding-top: 4px; }
.ax-page--register .ax-shell { min-height: 640px; }
.ax-page--register .ax-hero {
    background:
        radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--primary, #f24b18) 26%, transparent), transparent 60%),
        radial-gradient(circle at 20% 80%, color-mix(in srgb, var(--primary, #f24b18) 14%, transparent), transparent 60%),
        linear-gradient(135deg, color-mix(in srgb, var(--primary, #f24b18) 18%, var(--surface, #18181b)), var(--surface, #18181b));
}
.ax-page--register .ax-card { gap: 14px; overflow-y: auto; max-height: 100vh; }
.ax-page--register .ax-form { gap: 12px; }
.ax-page--register .ax-check { align-items: flex-start; font-size: 13px; line-height: 1.5; }
.ax-page--register .ax-check input { margin-top: 2px; flex-shrink: 0; }
.bbcode-btn {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 30px;
 height: 28px;
 border: none;
 background: none;
 color: var(--muted-foreground);
 cursor: pointer;
 border-radius: 4px;
 font-size: 0.82rem;
 transition: all.15s;
 }
.bbcode-btn:hover {
 background: var(--muted);
 color: var(--foreground);
 }
.bbcode-tab-btn {
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 4px 8px;
 border: none;
 background: none;
 color: var(--muted-foreground);
 cursor: pointer;
 border-radius: 4px;
 font-size: 0.75rem;
 transition: all.15s;
 }
.bbcode-tab-btn:hover {
 background: var(--muted);
 color: var(--foreground);
 }
.bbcode-tab-btn.active {
 background: var(--primary);
 color: #fff;
 }
.bbcode-wysiwyg:empty:before {
 content: attr(data-placeholder);
 color: var(--muted-foreground);
 pointer-events: none;
 font-style: normal;
 display: block;
 margin-top: 0;
 }
.bbcode-wysiwyg > p:first-child,
.bbcode-wysiwyg > div:first-child {
 margin-top: 0;
 }
.bbcode-wysiwyg > p:last-child,
.bbcode-wysiwyg > div:last-child {
 margin-bottom: 0;
 }
.bbcode-wysiwyg > p,
.bbcode-wysiwyg > div {
 margin: 0.25em 0;
 }
.bbcode-wysiwyg {
 border-radius: 0 !important;
 outline: none !important;
 }
.bbcode-wysiwyg:focus,
.bbcode-wysiwyg:focus-visible {
 outline: none !important;
 box-shadow: none !important;
 border-color: var(--border) !important;
 }
.bbcode-editor-wrapper:focus-within {
 box-shadow: none;
 border-color: var(--border);
 }
.bbcode-wysiwyg blockquote.bbcode-quote {
 border-left: 3px solid var(--border);
 padding: 8px 12px;
 margin: 8px 0;
 background: var(--muted);
 border-radius: 4px;
 font-style: italic;
 }
.bbcode-wysiwyg details.bbcode-spoiler {
 border: 1px solid var(--border);
 border-radius: 6px;
 padding: 8px 12px;
 margin: 8px 0;
 }
.bbcode-wysiwyg details.bbcode-spoiler summary {
 cursor: pointer;
 font-weight: 600;
 padding: 4px 0;
 }
.bbcode-wysiwyg.bbcode-code-wrap {
 border: 1px solid #374151;
 border-radius: 8px;
 margin: 8px 0;
 overflow: hidden;
 }
.bbcode-wysiwyg img {
 max-width: 100%;
 border-radius: 6px;
 margin: 4px 0;
 }
.bbcode-wysiwyg img.smilie {
 width: 20px;
 height: 20px;
 vertical-align: text-bottom;
 display: inline;
 border: none;
 margin: 0 1px;
 }
.bbcode-wysiwyg a {
 color: var(--primary);
 text-decoration: underline;
 }
.bbcode-wysiwyg ul {
 padding-left: 1.8rem;
 margin: 0.4rem 0;
 list-style-type: disc;
 }
.bbcode-wysiwyg ul ul {
 list-style-type: circle;
 }
.bbcode-wysiwyg ul ul ul {
 list-style-type: square;
 }
.bbcode-wysiwyg ol {
 padding-left: 1.8rem;
 margin: 0.4rem 0;
 list-style-type: decimal;
 }
.bbcode-wysiwyg ol ol {
 list-style-type: lower-alpha;
 }
.bbcode-wysiwyg li {
 padding: 1px 0;
 }
.bbcode-wysiwyg table.bbcode-table {
 border-collapse: collapse;
 width: 100%;
 margin: 8px 0;
 border: 1px solid var(--border);
 border-radius: 6px;
 overflow: hidden;
 }
.bbcode-wysiwyg table.bbcode-table th,
.bbcode-wysiwyg table.bbcode-table td {
 border: 1px solid var(--border);
 padding: 6px 10px;
 min-width: 60px;
 }
.bbcode-wysiwyg table.bbcode-table th {
 background: var(--muted);
 font-weight: 600;
 }
.bbcode-wysiwyg hr {
 border: 0;
 border-top: 2px solid var(--border);
 margin: 12px 0;
 }
 
.bbcode-editor-wrapper.bbcode-fullscreen {
 position: fixed;
 inset: 0;
 z-index: 9990;
 background: var(--background, #0f0f11);
 display: flex;
 flex-direction: column;
 padding: 0;
 }
.bbcode-fullscreen .bbcode-toolbar {
 border-radius: 0 !important;
 flex-shrink: 0;
 border-left: none !important;
 border-right: none !important;
 border-top: none !important;
 }
.bbcode-fullscreen .bbcode-editor-area {
 flex: 1 1 0;
 display: flex;
 flex-direction: column;
 min-height: 0;
 height: auto !important;
 max-height: none !important;
 }
.bbcode-fullscreen .bbcode-wysiwyg,
.bbcode-fullscreen .bbcode-source-textarea {
 flex: 1 1 0;
 max-height: none !important;
 min-height: 0 !important;
 height: auto !important;
 border-radius: 0 !important;
 border-left: none !important;
 border-right: none !important;
 }
.bbcode-lang-edit-fab {
 position: absolute; top: 8px; right: 8px; z-index: 6;
 display: inline-flex; align-items: center; gap: 5px;
 padding: 4px 10px; border: 1px solid var(--border); border-radius: 999px;
 background: var(--color-surface, var(--surface, #161b22)); color: var(--foreground);
 font-size: 0.72rem; line-height: 1; cursor: pointer; opacity: .92;
 box-shadow: 0 2px 8px rgba(0,0,0,.25); transition: opacity .15s, background .15s;
 }
.bbcode-lang-edit-fab:hover { opacity: 1; background: var(--muted); }
.bbcode-lang-edit-fab i { font-size: .8rem; }
.react-who-wrap { position: relative; display: inline-flex; }
.react-who {
 display: inline-flex; align-items: center; gap: 5px;
 padding: 2px 5px; border: 0; border-radius: 6px;
 background: transparent; color: var(--color-text-secondary, var(--muted-foreground, #94a3b8));
 font-size: 0.74rem; line-height: 1; cursor: pointer; transition: background .15s, color .15s;
 }
.react-who:hover { background: var(--muted); color: var(--foreground); }
.react-who:hover .react-who__text { text-decoration: underline; }
.react-who__emojis { display: inline-flex; }
.react-who__emojis > span { font-size: 0.95rem; line-height: 1; margin-left: -3px; }
.react-who__emojis > span:first-child { margin-left: 0; }
.react-who__text { white-space: nowrap; }
.react-who__caret { font-size: 0.7rem; opacity: .6; }
.react-who-pop {
 position: absolute; bottom: calc(100% + 6px); left: 0; z-index: 60;
 min-width: 180px; max-width: 260px; max-height: 280px; overflow-y: auto;
 padding: 6px; border: 1px solid var(--border); border-radius: 10px;
 background: var(--color-surface, var(--surface, #161b22));
 box-shadow: 0 8px 28px rgba(0,0,0,.28);
 }
.react-who-pop__head {
 font-size: 0.65rem; text-transform: uppercase; letter-spacing: .04em;
 color: var(--color-text-secondary, #94a3b8); padding: 2px 6px 6px;
 border-bottom: 1px solid var(--border); margin-bottom: 4px;
 }
.react-who-row {
 display: flex; align-items: center; gap: 8px; padding: 5px 6px;
 border-radius: 7px; text-decoration: none; color: var(--foreground); font-size: 0.8rem;
 }
.react-who-row:hover { background: var(--muted); }
.react-who-row__emoji { font-size: 0.95rem; line-height: 1; width: 1.2em; text-align: center; }
.react-who-row--more { color: var(--color-text-secondary, #94a3b8); font-size: 0.72rem; cursor: default; }
.react-who-row--more:hover { background: transparent; }
@keyframes rb-post-flash {
 0%   { background-color: color-mix(in srgb, var(--primary, #ff5722) 22%, transparent); }
 100% { background-color: transparent; }
 }
.rb-post-flash {
 animation: rb-post-flash 2.2s ease-out;
 border-radius: var(--rb-border-radius-large, 10px);
 }
.bbcode-fullscreen .bbcode-source-area {
 flex: 1 1 0;
 display: flex;
 flex-direction: column;
 min-height: 0;
 height: auto !important;
 max-height: none !important;
 }
.bbcode-fullscreen .bbcode-preview-area {
 flex: 1 1 0;
 border-left: none !important;
 border-right: none !important;
 border-radius: 0 !important;
 max-height: none !important;
 overflow-y: auto;
 }
.bbcode-fullscreen .bbcode-status-bar {
 flex-shrink: 0;
 border-radius: 0 !important;
 border-left: none !important;
 border-right: none !important;
 border-bottom: none !important;
 }
.bbcode-fullscreen > div[x-show="draftBanner"] {
 flex-shrink: 0;
 margin: 0 !important;
 border-radius: 0 !important;
 }
 
.bbcode-source-area {
 background: var(--surface, #161b22);
 }
.bbcode-source-textarea {
 width: 100%;
 min-height: 220px;
 border: 0;
 border-radius: 0;
 background: transparent;
 color: var(--foreground, #e6edf3);
 font-family: 'JetBrains Mono', 'Fira Code', Consolas, Monaco, monospace;
 font-size: 0.85rem;
 line-height: 1.6;
 padding: 12px 14px;
 resize: vertical;
 outline: none;
 box-shadow: none;
 }
.bbcode-source-textarea:focus {
 outline: none;
 box-shadow: none;
 border: 0;
 }
 
.bbcode-wysiwyg.bbcode-code-wrap,
.bbcode-rendered.bbcode-code-wrap,
.rb-post.bbcode-code-wrap {
 background: var(--surface, #0d1117) !important;
 border: 1px solid var(--border, rgba(255,255,255,0.08)) !important;
 }
.bbcode-wysiwyg.bbcode-code-header,
.bbcode-rendered.bbcode-code-header,
.rb-post.bbcode-code-header {
 background: color-mix(in srgb, var(--foreground, #e6edf3) 6%, transparent) !important;
 border-bottom: 1px solid var(--border, rgba(255,255,255,0.06)) !important;
 }
.bbcode-wysiwyg.bbcode-code,
.bbcode-rendered.bbcode-code,
.rb-post.bbcode-code {
 background: color-mix(in srgb, var(--surface, #0d1117) 95%, transparent) !important;
 color: var(--foreground, #e2e8f0) !important;
 }
 [data-theme="light"].bbcode-wysiwyg.bbcode-code-wrap,
 [data-theme="light"].bbcode-rendered.bbcode-code-wrap,
 [data-theme="light"].rb-post.bbcode-code-wrap {
 background: #f8f9fc !important;
 border-color: #e2e8f0 !important;
 }
 [data-theme="light"].bbcode-wysiwyg.bbcode-code-header,
 [data-theme="light"].bbcode-rendered.bbcode-code-header,
 [data-theme="light"].rb-post.bbcode-code-header {
 background: #f1f5f9 !important;
 border-bottom-color: #e2e8f0 !important;
 }
 [data-theme="light"].bbcode-wysiwyg.bbcode-code,
 [data-theme="light"].bbcode-rendered.bbcode-code,
 [data-theme="light"].rb-post.bbcode-code {
 background: #fff !important;
 color: #0f172a !important;
 }
 
.bbcode-editor-wrapper input.form-control,
.bbcode-editor-wrapper textarea.form-control,
.bbcode-editor-wrapper select.form-control {
 background: var(--surface, #1e242c) !important;
 color: var(--foreground, #e6edf3) !important;
 border: 1px solid var(--border, rgba(255,255,255,0.12)) !important;
 }
.bbcode-editor-wrapper input.form-control::placeholder,
.bbcode-editor-wrapper textarea.form-control::placeholder {
 color: var(--muted-foreground, #94a3b8) !important;
 opacity: 0.85;
 }
.bbcode-editor-wrapper input.form-control:focus,
.bbcode-editor-wrapper textarea.form-control:focus,
.bbcode-editor-wrapper select.form-control:focus {
 border-color: var(--primary, #2563eb) !important;
 box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary, #2563eb) 25%, transparent) !important;
 outline: none !important;
 }
        .fl-layout {
            display: flex;
            gap: 1.25rem;
            align-items: flex-start;
        }
        .fl-sidebar {
            width: 240px;
            flex-shrink: 0;
        }
        .fl-sidebar-inner {
            position: sticky;
            top: 70px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--rb-border-radius-medium, 0.75rem);
            padding: 1rem;
            overflow: hidden;
        }
        .fl-start-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 100%;
            padding: 0.75rem 1rem;
            margin-bottom: 1.5rem;
            background: var(--primary);
            color: #fff;
            border: none;
            border-radius: var(--rb-border-radius, 4px);
            font-size: 0.85rem;
            font-weight: 700;
            text-decoration: none;
            transition: all 0.2s;
            cursor: pointer;
            box-shadow: 0 4px 14px color-mix(in srgb, var(--primary) 35%, transparent);
        }
        .fl-start-btn:hover {
            filter: brightness(1.08);
            transform: translateY(-1px);
            box-shadow: 0 6px 20px color-mix(in srgb, var(--primary) 45%, transparent);
        }
        .fl-nav-item {
            display: flex;
            align-items: center;
            gap: 0.65rem;
            padding: 0.55rem 0.75rem;
            margin-bottom: 1px;
            font-size: 0.82rem;
            font-weight: 500;
            color: var(--muted-foreground);
            text-decoration: none;
            border-radius: var(--rb-border-radius-large, 6px);
            transition: all 0.15s;
        }
        .fl-nav-item:hover {
            background: color-mix(in srgb, var(--muted) 30%, transparent);
            color: var(--foreground);
        }
        .fl-nav-item.active {
            background: color-mix(in srgb, var(--primary) 10%, transparent);
            color: var(--primary);
            font-weight: 600;
        }
        
        .fl-nav-item.fl-nav-child {
            font-size: 0.78rem;
            color: var(--muted-foreground);
            position: relative;
        }
        .fl-nav-item.fl-nav-child::before {
            content: "";
            position: absolute;
            left: 16px;
            top: -2px;
            bottom: 50%;
            width: 9px;
            border-left: 1.5px solid var(--border);
            border-bottom: 1.5px solid var(--border);
            border-bottom-left-radius: 5px;
            opacity: 0.8;
        }
        .fl-nav-item.fl-nav-child .fl-nav-icon { width: 11px; height: 11px; }
        .fl-nav-item.fl-nav-child .fl-nav-fa { font-size: 0.62rem; width: 15px; }
        .fl-nav-icon {
            width: 14px;
            height: 14px;
            border-radius: var(--rb-avatar-border-radius, 9999px);
            flex-shrink: 0;
        }
        .fl-nav-fa {
            width: 18px;
            text-align: center;
            font-size: 0.72rem;
            flex-shrink: 0;
        }
        .fl-main {
            flex: 1;
            min-width: 0;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--rb-border-radius-medium, 0.75rem);
            overflow: hidden;
        }
        .fl-sort {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.65rem 1.25rem;
            border-bottom: 1px solid var(--border);
            background: color-mix(in srgb, var(--muted) 8%, transparent);
        }
        .fl-sort-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.3rem 0.65rem;
            border-radius: var(--rb-border-radius, 4px);
            font-size: 0.78rem;
            font-weight: 600;
            color: var(--foreground);
            background: var(--surface);
            border: 1px solid var(--border);
            cursor: pointer;
            transition: all 0.15s;
            text-decoration: none;
        }
        .fl-sort-btn:hover {
            background: color-mix(in srgb, var(--muted) 25%, transparent);
        }
        .fl-sort-btn i {
            font-size: 0.55rem;
            opacity: 0.5;
        }
        .fl-sort-dd { position: relative; display: inline-block; }
        .fl-sort-dd > summary { list-style: none; }
        .fl-sort-dd > summary::-webkit-details-marker { display: none; }
        .fl-sort-dd > summary::marker { content: ''; }
        .fl-sort-dd[open] > summary .fa-caret-down { transform: rotate(180deg); }
        .fl-sort-menu {
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            min-width: 160px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: var(--rb-border-radius-large, 8px);
            box-shadow: 0 8px 24px rgba(0,0,0,0.12);
            padding: 4px;
            z-index: 30;
        }
        .fl-sort-opt {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            padding: 0.45rem 0.65rem;
            font-size: 0.8rem;
            font-weight: 500;
            color: var(--foreground);
            text-decoration: none;
            border-radius: var(--rb-border-radius, 4px);
        }
        .fl-sort-opt:hover { background: color-mix(in srgb, var(--muted) 25%, transparent); }
        .fl-sort-opt.is-active { color: var(--primary); font-weight: 600; }
        .fl-sort-opt .fa-check { font-size: 0.65rem; }
        
        .fl-excerpt { display: none !important; }
        .fl-thread {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            padding: 0.85rem 1.25rem;
            border-bottom: 1px solid var(--border);
            transition: background 0.12s;
            cursor: pointer;
        }
        .fl-thread:last-child {
            border-bottom: none;
        }
        .fl-thread:hover {
            background: color-mix(in srgb, var(--muted) 12%, transparent);
        }
        .fl-avatar {
            width: 42px;
            height: 42px;
            border-radius: var(--rb-avatar-border-radius, 9999px);
            flex-shrink: 0;
            object-fit: cover;
            box-shadow: 0 0 0 2px color-mix(in srgb, var(--border) 60%, transparent);
        }
        .fl-avatar-ph {
            width: 42px;
            height: 42px;
            border-radius: var(--rb-avatar-border-radius, 9999px);
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.82rem;
            color: #fff;
            box-shadow: 0 0 0 2px color-mix(in srgb, var(--border) 60%, transparent);
        }
        .fl-content {
            flex: 1;
            min-width: 0;
        }
        .fl-title {
            font-size: 0.9rem;
            font-weight: 600;
            line-height: 1.4;
            margin: 0;
            color: var(--foreground);
        }
        .fl-title a {
            color: inherit;
            text-decoration: none;
        }
        .fl-title a:hover {
            color: var(--primary);
        }
        .fl-meta {
            font-size: 0.7rem;
            color: var(--muted-foreground);
            margin-top: 0.2rem;
            display: flex;
            align-items: center;
            gap: 0.3rem;
            flex-wrap: wrap;
            line-height: 1.6;
        }
        .fl-meta a {
            color: var(--primary);
            text-decoration: none;
            font-weight: 600;
            opacity: 0.8;
        }
        .fl-meta a:hover {
            opacity: 1;
        }
        .fl-excerpt {
            font-size: 0.78rem;
            line-height: 1.5;
            color: var(--muted-foreground);
            margin-top: 0.3rem;
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
            opacity: 0.55;
        }
        .fl-right {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-shrink: 0;
            margin-left: auto;
            padding-left: 1rem;
            align-self: center;
        }
        .fl-participants {
            display: flex;
            align-items: center;
        }
        .fl-participant { display: inline-flex; }
        .fl-participant + .fl-participant { margin-left: -8px; }
        .fl-participant-av {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            border: 2px solid var(--surface);
            object-fit: cover;
            transition: transform 0.15s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.6rem;
            font-weight: 700;
            color: #fff;
        }
        .fl-participant:hover .fl-participant-av {
            transform: translateY(-2px);
            z-index: 2;
        }
        .fl-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.3rem;
            justify-content: flex-end;
        }
        .fl-tag {
            display: inline-flex;
            align-items: center;
            gap: 0.2rem;
            padding: 0.2rem 0.55rem;
            border-radius: var(--rb-border-radius-medium, 0.75rem);
            font-size: 0.6rem;
            font-weight: 600;
            white-space: nowrap;
            text-decoration: none;
            transition: filter 0.12s;
        }
        .fl-tag:hover {
            filter: brightness(1.1);
        }
        .fl-replies {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.72rem;
            color: var(--muted-foreground);
            white-space: nowrap;
            min-width: 32px;
            justify-content: flex-end;
            opacity: 0.7;
        }
        .fl-replies i {
            font-size: 0.6rem;
        }
        .fl-cat-header {
            margin-top: 0.75rem;
            padding: 0.4rem 0.65rem 0.15rem;
            font-size: 0.58rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--muted-foreground);
            opacity: 0.65;
        }
        
        .fl-sort-cats, .fl-sort-start { display: none; }
        .fl-sort-start {
            align-items: center; justify-content: center;
            width: 40px; height: 40px; flex-shrink: 0;
            background: var(--primary); color: #fff; border-radius: var(--rb-border-radius, 6px);
            text-decoration: none;
            box-shadow: 0 4px 14px color-mix(in srgb, var(--primary) 35%, transparent);
        }
        .fl-sort-start:hover { filter: brightness(1.08); }
        .fl-sort-start, .fl-sort-start i { color: #fff; }
        .fl-sort-menu--nav { min-width: 240px; max-height: 60vh; overflow-y: auto; padding: 6px; }
        .fl-sort-menu--nav .fl-nav-item { display: flex; }
        .fl-sort-menu--nav .fl-cat-header { padding: 8px 10px 4px; }
        @media (max-width: 1024px) {
            .fl-sidebar { display: none; }
            .fl-sort { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
            .fl-sort-cats { display: inline-block; }
            .fl-sort-start { display: inline-flex; margin-left: auto; }
        }
        @media (max-width: 640px) {
            .fl-right {
                display: none;
            }
            .fl-excerpt {
                -webkit-line-clamp: 1;
            }
        }
.rb-primary-nav-item,
.rb-primary-nav-item__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.85rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
    color: var(--muted-foreground, #64748b);
    background: transparent;
    border-radius: 9px;
    text-decoration: none;
    transition: color .15s ease, background-color .15s ease;
    white-space: nowrap;
    cursor: pointer;
}
.rb-primary-nav-item.has-children { padding: 0; gap: 0; }
.rb-primary-nav-item:hover,
.rb-primary-nav-item__link:hover {
    color: var(--foreground, #0f172a);
    background: color-mix(in srgb, var(--foreground, #0f172a) 6%, transparent);
}
.rb-primary-nav-item.is-active,
.rb-primary-nav-item.is-active > .rb-primary-nav-item__link {
    color: var(--primary, #d2410f);
    background: color-mix(in srgb, var(--primary, #d2410f) 10%, transparent);
    font-weight: 600;
}
.rb-primary-nav-item__icon { font-size: 0.75rem; opacity: 0.7; }
.rb-primary-nav-item:hover .rb-primary-nav-item__icon,
.rb-primary-nav-item__link:hover .rb-primary-nav-item__icon { opacity: 1; }
.rb-primary-nav-item__chevron {
    font-size: 0.55rem;
    opacity: 0.55;
    margin-left: 0.1rem;
    transition: transform .15s ease;
}
.rb-primary-nav-item.has-children:hover .rb-primary-nav-item__chevron { transform: rotate(180deg); }
.rb-primary-nav-item__menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    padding: 6px;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 12px;
    box-shadow: 0 10px 38px -16px rgba(15, 23, 42, 0.35), 0 4px 12px -8px rgba(15, 23, 42, 0.18);
    z-index: 60;
}
.rb-primary-nav-item__menu[x-cloak] { display: none !important; }
.rb-primary-nav-item__sublink {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.875rem;
    color: var(--muted-foreground, #475569);
    text-decoration: none;
    border-radius: 8px;
    transition: color .12s ease, background-color .12s ease;
}
.rb-primary-nav-item__sublink:hover {
    color: var(--foreground, #0f172a);
    background: color-mix(in srgb, var(--foreground, #0f172a) 6%, transparent);
}
.rb-primary-nav-item__subicon {
    width: 18px;
    font-size: 0.8rem;
    color: var(--muted-foreground, #94a3b8);
    text-align: center;
}
.rb-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 4px 10px 4px 4px;
    border-radius: var(--radius-sm, 8px);
    text-decoration: none;
    background: transparent;
    border: 0;
    font: inherit;
    color: var(--foreground);
    transition: background-color .15s ease;
    cursor: pointer;
}
.rb-user-chip:hover { background: var(--muted); }
.rb-user-chip__name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--foreground);
    letter-spacing: -0.01em;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rb-user-chip__chev {
    font-size: 0.65rem;
    color: var(--muted-foreground);
    transition: transform .18s ease, color .15s ease;
}
.rb-user-chip:hover .rb-user-chip__chev {
    transform: translateY(1px);
    color: var(--primary);
}
@media (max-width: 640px) {
    .rb-user-chip__name,
    .rb-user-chip__chev { display: none; }
    .rb-user-chip { padding: 4px; }
}
.rb-user-menu__panel {
    background: var(--popover, var(--surface));
    border: 1px solid var(--border);
    border-radius: var(--radius, 10px);
    box-shadow: var(--shadow-lg, 0 12px 32px rgba(0,0,0,0.18));
    overflow: hidden;
}
.rb-submenu {
    background: var(--surface-subtle, var(--surface, #fff));
    border-top: 1px solid var(--border, #e2e8f0);
    border-bottom: 1px solid var(--border, #e2e8f0);
    position: relative;
    z-index: 35;
}
html[data-theme="dark"] .rb-submenu {
    background: color-mix(in srgb, var(--surface, #0b0d12) 92%, #000);
    border-color: var(--border, #1f2937);
}
.rb-submenu__inner {
    width: 100%;
    margin-inline: 0;
    padding-block: 0;
    padding-inline: max(1.5rem, calc((100% - var(--rb-max-page-width, 1280px)) / 2 + 1.5rem));
    height: var(--rb-sub-bar-height, 44px);
    display: flex;
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
}
.rb-submenu__inner::-webkit-scrollbar { display: none; }
@media (max-width: 768px) {
    .rb-submenu__inner { padding-inline: max(1rem, calc((100% - var(--rb-max-page-width, 1280px)) / 2 + 1rem)); }
}
.rb-submenu__nav {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.rb-submenu__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.7rem;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1;
    color: var(--muted-foreground, #64748b);
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s ease, background-color .15s ease;
}
.rb-submenu__item:hover {
    color: var(--foreground, #0f172a);
    background: color-mix(in srgb, var(--foreground, #0f172a) 5%, transparent);
}
.rb-submenu__item.is-active {
    color: var(--primary, #d2410f);
    background: transparent;
    font-weight: 600;
}
.rb-submenu__item.is-active::after {
    content: "";
    position: absolute;
    left: 0.7rem;
    right: 0.7rem;
    bottom: -1px;
    height: 2px;
    background: var(--primary, #d2410f);
    border-radius: 2px 2px 0 0;
}
html[data-theme="dark"] .rb-submenu__item { color: #94a3b8; }
html[data-theme="dark"] .rb-submenu__item:hover {
    color: #f1f5f9;
    background: rgba(255, 255, 255, 0.04);
}
html[data-theme="dark"] .rb-submenu__item.is-active { color: #ffd9c7; }
html[data-theme="dark"] .rb-submenu__item.is-active::after { background: #ff8a5c; }
.rb-submenu__icon { font-size: 0.7rem; opacity: 0.7; }
.rb-submenu__item:hover .rb-submenu__icon,
.rb-submenu__item.is-active .rb-submenu__icon { opacity: 1; }
html[data-theme="dark"] .rb-submenu__spacer { flex: 1; }
.rb-submenu__settings {
    margin-left: auto; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border: 0; background: transparent;
    color: var(--muted-foreground, #64748b); border-radius: 8px;
    cursor: pointer; transition: color .15s ease, background-color .15s ease;
}
.rb-submenu__settings:hover {
    color: var(--foreground, #0f172a);
    background: color-mix(in srgb, var(--foreground, #0f172a) 6%, transparent);
}
html[data-theme="dark"] .rb-submenu__settings { color: #94a3b8; }
html[data-theme="dark"] .rb-submenu__settings:hover { color: #f1f5f9; background: rgba(255,255,255,0.05); }
#rb-user-card{display:none;position:fixed;z-index:9000;width:340px;max-width:calc(100vw - 24px);border-radius:16px;background:var(--card);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);box-shadow:0 12px 48px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.04) inset;pointer-events:auto;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform:translateY(8px) scale(.97);opacity:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .18s ease;}
#rb-user-card.rb-uc-visible{transform:translateY(0) scale(1);opacity:1;}
#rb-uc-cover{height:80px;position:relative;overflow:hidden;}
#rb-uc-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.45) 100%);}
#rb-uc-cover-img{width:100%;height:100%;object-fit:cover;display:none;}
#rb-uc-cover-gradient{width:100%;height:100%;position:relative;}
#rb-uc-cover-gradient::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0);background-size:20px 20px;}
.rb-uc-profile-area{position:relative;padding:0 16px;}
.rb-uc-avatar-wrap{width:60px;height:60px;border-radius:14px;overflow:visible;background:var(--muted);flex-shrink:0;border:3px solid var(--card);margin-top:-30px;position:relative;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.rb-uc-avatar-wrap img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}
#rb-uc-letter{border-radius:inherit;overflow:hidden;}
.rb-uc-online-dot{position:absolute;bottom:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2.5px solid var(--card);box-shadow:0 0 8px rgba(34,197,94,.5);display:none;z-index:3;}
.rb-uc-info{padding:8px 16px 0;}
.rb-uc-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin:12px 16px 0;border-radius:10px;overflow:hidden;border:1px solid var(--border);}
.rb-uc-stat{padding:8px 4px;text-align:center;background:color-mix(in srgb, var(--muted) 50%, transparent);transition:background .15s;}
.rb-uc-stat:hover{background:var(--muted);}
.rb-uc-stat:not(:last-child){border-right:1px solid var(--border);}
.rb-uc-stat-val{font-weight:700;font-size:.9rem;color:var(--foreground);line-height:1.2;}
.rb-uc-stat-label{font-size:.6rem;color:var(--muted-foreground);margin-top:2px;text-transform:uppercase;letter-spacing:.3px;}
.rb-uc-actions{display:flex;gap:6px;padding:12px 16px 14px;}
.rb-uc-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 0;border-radius:8px;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .15s;cursor:pointer;border:none;}
.rb-uc-btn-primary{background:var(--primary);color:var(--primary-foreground, #fff);}
.rb-uc-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);}
.rb-uc-btn-ghost{background:transparent;border:1px solid var(--border);color:var(--foreground);}
.rb-uc-btn-ghost:hover{background:var(--muted);border-color:color-mix(in srgb, var(--primary) 40%, var(--border));}
.rb-tw-drawer { position: fixed; inset: 0; z-index: 9000; }
.rb-tw-drawer[hidden] { display: none; }
.rb-tw-drawer__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .2s ease; }
.rb-tw-drawer.is-open .rb-tw-drawer__backdrop { opacity: 1; }
.rb-tw-drawer__panel {
    position: absolute; top: 0; right: 0; height: 100%;
    width: min(420px, 92vw); display: flex; flex-direction: column;
    background: var(--surface); border-left: 1px solid var(--border);
    box-shadow: -16px 0 50px rgba(0,0,0,.28);
    transform: translateX(100%); transition: transform .24s cubic-bezier(.4,0,.2,1);
}
.rb-tw-drawer.is-open .rb-tw-drawer__panel { transform: translateX(0); }
.rb-tw-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--border); }
.rb-tw-drawer__title { font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 9px; color: var(--foreground); }
.rb-tw-drawer__x { background: none; border: 0; color: var(--muted-foreground); font-size: 18px; cursor: pointer; padding: 4px 6px; border-radius: 8px; }
.rb-tw-drawer__x:hover { background: color-mix(in srgb, var(--foreground) 8%, transparent); color: var(--foreground); }
.rb-tw-drawer__tabs { display: flex; gap: 8px; padding: 12px 18px; }
.rb-tw-tab {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 9px 12px; border: 1px solid var(--border); background: var(--background);
    color: var(--muted-foreground); border-radius: 10px; font-size: 13px; font-weight: 600;
    cursor: pointer; transition: all .15s;
}
.rb-tw-tab:hover { color: var(--foreground); }
.rb-tw-tab.is-active { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground, #fff); }
.rb-tw-drawer__body { flex: 1; overflow-y: auto; padding: 4px 18px 18px; }
.rb-tw-pane { display: none; }
.rb-tw-pane.is-active { display: block; }
.rb-tw-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent); }
.rb-tw-row:last-child { border-bottom: 0; }
.rb-tw-row__icon {
    flex: 0 0 34px; width: 34px; height: 34px; border-radius: 9px;
    display: grid; place-items: center; font-size: 14px;
    background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary);
}
.rb-tw-row__text { flex: 1; min-width: 0; }
.rb-tw-row__title { font-size: 13.5px; font-weight: 600; color: var(--foreground); line-height: 1.3; }
.rb-tw-row__desc { font-size: 11.5px; color: var(--muted-foreground); line-height: 1.4; margin-top: 2px; }
.rb-tw-row__control { flex: 0 0 100%; margin-top: 10px; margin-left: 46px; }
.rb-tw-row { flex-wrap: wrap; }
.rb-tw-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.rb-tw-seg__opt {
    display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 8px;
    border: 1px solid var(--border); background: var(--background); color: var(--muted-foreground);
    font-size: 12px; font-weight: 500; cursor: pointer; transition: all .12s; white-space: nowrap;
}
.rb-tw-seg__opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.rb-tw-seg__opt:hover { color: var(--foreground); border-color: color-mix(in srgb, var(--primary) 40%, var(--border)); }
.rb-tw-seg__opt.is-active { background: color-mix(in srgb, var(--primary) 14%, transparent); border-color: var(--primary); color: var(--primary); font-weight: 600; }
.rb-tw-color { display: inline-flex; align-items: center; gap: 10px; }
.rb-tw-color__pick { width: 38px; height: 34px; border: 1px solid var(--border); border-radius: 9px; background: var(--background); cursor: pointer; padding: 2px; }
.rb-tw-color__hex { width: 120px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--background); color: var(--foreground); font-size: 12px; font-family: var(--font-mono, monospace); }
.rb-tw-drawer__foot { display: flex; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--border); }
.rb-tw-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 14px; border-radius: 10px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid var(--border); transition: all .15s; }
.rb-tw-btn--ghost { background: var(--background); color: var(--muted-foreground); }
.rb-tw-btn--ghost:hover { color: #ef4444; border-color: color-mix(in srgb, #ef4444 40%, var(--border)); }
.rb-tw-btn--primary { background: var(--primary); border-color: var(--primary); color: var(--primary-foreground, #fff); }
.rb-tw-btn--primary:hover { filter: brightness(1.06); }
.rb-tw-btn:disabled { opacity: .6; cursor: default; }
#main-content .rb-content a:not(.no-underline):not(.btn):not([class*="-card"]):not([class*="-row"]):not([class*="-tile"]):not([class*="-link"]):not(.chip):not(.tag) {
    color: var(--rb-content-link-color, var(--primary));
}
#main-content h1,
#main-content h2,
#main-content h3 {
    color: var(--rb-content-heading-color, var(--foreground));
}
#main-content .thread-title {
    font-size: var(--rb-thread-title-size, 1.5rem);
}
#main-content .section-title {
    font-size: var(--rb-section-title-size, 1.25rem);
}
.no-animations *,
.no-animations *::before,
.no-animations *::after {
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
}
    
    #main-content, .main-region > main {
        padding-left: 0 !important; padding-right: 0 !important;
    }
    header .max-w-screen-2xl.flex.items-center,
    .rb-s7-0936 {
        padding-left: 0 !important; padding-right: 0 !important;
    }
    body { font-size: var(--rb-base-font-size, 14px) !important; }
    .post-wrapper .post-prose, .post-prose { padding: 12px 12px 12px 12px !important; }
    .bbcode-wysiwyg { padding-top: 8px !important; }
    .rb-icon-btn__badge, .rb-s7-0252 {
        color: #fff !important; font-weight: 800 !important;
        animation: rb-badge-pulse 1.25s ease-in-out infinite;
    }
    @keyframes rb-badge-pulse {
        0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary, #ef4444) 55%, transparent); }
        50% { transform: scale(1.15); box-shadow: 0 0 0 5px transparent; }
    }
    @media (prefers-reduced-motion: reduce) {
        .rb-icon-btn__badge, .rb-s7-0252 { animation: none; }
    }
    .node-last-body { min-width: 0 !important; }
    .node-last-title { display: block !important; max-width: 100% !important; line-height: 1.25 !important; margin: 0 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
    .node-last-meta { margin-top: 0 !important; line-height: 1.3 !important; }
    @keyframes rb-anchor-flash { 0% { background: color-mix(in srgb, var(--primary) 22%, transparent); } 100% { background: transparent; } }
    .rb-anchor-flash { animation: rb-anchor-flash 2s ease-out; }
    [id^="post-"], [id^="profile-post-"] { scroll-margin-top: 80px; }
    body[data-user-density="compact"]  { --rb-density-pad: 0.5rem; --rb-density-gap: 0.5rem; }
    body[data-user-density="normal"]   { --rb-density-pad: 1rem;   --rb-density-gap: 1rem; }
    body[data-user-density="spacious"] { --rb-density-pad: 1.5rem; --rb-density-gap: 1.25rem; }
    body[data-user-density="compact"]  .node-row,
    body[data-user-density="compact"]  .fl-thread { padding-top: .5rem; padding-bottom: .5rem; }
    body[data-user-density="spacious"] .node-row,
    body[data-user-density="spacious"] .fl-thread { padding-top: 1.25rem; padding-bottom: 1.25rem; }
    body[data-postbit-layout="right"] .post { grid-template-columns: minmax(0,1fr) var(--rb-postbit-width,215px); }
    body[data-postbit-layout="right"] .post > .rb-postbit { order: 2; }
    body[data-postbit-layout="top"] .post { grid-template-columns: 1fr; }
    body[data-postbit-layout="top"] .post > .rb-postbit {
        display: flex !important; flex-direction: row !important; align-items: center !important;
        flex-wrap: wrap !important; gap: 8px 16px !important; width: 100% !important;
        padding: 12px 18px !important; text-align: left !important;
        border-right: 0 !important; border-bottom: 1px solid var(--border) !important;
    }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-avatar-link {
        flex: 0 0 auto !important; margin: 0 !important; align-self: flex-start !important;
    }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-avatar-link .rb-avatar,
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-avatar-link .rb-pb-avatar,
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-avatar-link img {
        width: 100% !important; height: 100% !important; aspect-ratio: 1 / 1 !important;
        object-fit: cover !important; font-size: 1.8rem !important;
    }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-idcol {
        display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 2px !important;
    }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-username { font-size: 1.05rem !important; margin: 0 !important; white-space: nowrap; }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-title { font-size: .72rem !important; margin: 0 !important; }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-badges,
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-trophies { margin: 0 !important; width: auto !important; }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-hero {
        margin: 0 0 0 auto !important; flex-direction: row !important; gap: 14px !important;
        width: auto !important; border: 0 !important; padding: 0 !important;
    }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-custom { display: none !important; }
    body[data-postbit-layout="top"] .rb-postbit.has-pager .rb-pb-hero,
    body[data-postbit-layout="top"] .rb-postbit.has-pager .rb-pb-rows,
    body[data-postbit-layout="top"] .rb-postbit.has-pager .rb-pb-trophies { display: none !important; }
    body[data-postbit-layout="top"] .rb-postbit .rb-pb-profile-btn { display: none !important; }
    body[data-postbit-layout="top"] .rb-pb-pager {
        margin-left: auto !important; width: min(360px, 48%);
        border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
        background: var(--surface); font-family: var(--font-sans);
    }
    .rb-pb-pager__head { display: flex; align-items: stretch; border-bottom: 1px solid var(--border); }
    .rb-pb-pager__tab { padding: 7px 14px; font-size: 12px; font-weight: 700; line-height: 1.3; }
    .rb-pb-pager__tab--key { background: color-mix(in srgb, var(--muted) 30%, transparent); color: var(--muted-foreground); }
    .rb-pb-pager__tab--name { color: var(--primary); flex: 1; }
    .rb-pb-pager__rows { padding: 8px 14px; display: flex; flex-direction: column; gap: 6px; min-height: 80px; }
    .rb-pb-pager__row { display: flex; align-items: baseline; gap: 8px; font-size: 12px; }
    .rb-pb-pager__row .k { color: var(--muted-foreground); min-width: 92px; }
    .rb-pb-pager__row .sep { color: var(--text-faint, var(--muted-foreground)); }
    .rb-pb-pager__row .v { color: var(--foreground); font-weight: 600; font-variant-numeric: tabular-nums; }
    .rb-pb-pager__foot { display: flex; align-items: center; justify-content: space-between; padding: 5px 12px; border-top: 1px solid var(--border); }
    .rb-pb-pager__nav { background: none; border: 0; cursor: pointer; color: var(--muted-foreground); font-size: 15px; line-height: 1; padding: 2px 8px; border-radius: 6px; }
    .rb-pb-pager__nav:hover { background: color-mix(in srgb, var(--muted) 30%, transparent); color: var(--foreground); }
    .rb-pb-pager__count { font-size: 12px; color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
    body[data-postbit-layout="none"] .post { grid-template-columns: 1fr; }
    body[data-postbit-layout="none"] .post > .rb-postbit { display: none; }
    
    #main-content .post.post--qna {
        display: grid !important;
        grid-template-columns: max-content minmax(0,1fr) var(--rb-postbit-width,230px) !important;
        align-items: start !important;   
        gap: 0 !important;
    }
    #main-content .post.post--qna > .qna-vote-col { grid-column: 1 !important; grid-row: 1 !important; order: 0 !important; align-self: stretch !important; border-right: 1px solid var(--border) !important; }
    #main-content .post.post--qna > .post-body    { grid-column: 2 !important; grid-row: 1 !important; order: 0 !important; align-self: start !important; min-width: 0 !important; }
    #main-content .post.post--qna > .rb-postbit   { grid-column: 3 !important; grid-row: 1 !important; order: 0 !important; align-self: stretch !important; width: auto !important; border-right: 0 !important; border-left: 1px solid var(--border) !important; }
    #main-content .post.post--qna > .post-body > .post-prose { flex: 0 1 auto !important; }
    #main-content .post.post--qna > .rb-postbit { padding: 16px !important; }
    #main-content .post.post--qna > .rb-postbit .rb-pb-avatar-link {
        width: 104px !important; height: 104px !important; aspect-ratio: 1/1 !important;
        margin: 0 auto 10px !important;
    }
    #main-content .post.post--qna > .rb-postbit .rb-pb-rows,
    #main-content .post.post--qna > .rb-postbit .rb-pb-custom { display: none !important; }
    
    #main-content .thread-body--article .post-foot {
        display: flex !important;
        gap: 4px !important;
        padding-top: 8px !important;
        padding-left: 20px !important;
        padding-bottom: 8px !important;
        border-top: 1px solid var(--border) !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    
    @media (max-width: 768px) {
        #main-content .post { grid-template-columns: 1fr !important; }
        #main-content .post.post--qna { grid-template-columns: 1fr !important; }
        #main-content .post.post--qna > .qna-vote-col {
            grid-column: 1 !important; grid-row: auto !important; order: 1 !important;
            flex-direction: row !important; align-items: center !important;
            width: 100% !important; justify-content: flex-start !important;
            gap: 14px !important; padding: 6px 14px !important;
            border-right: 0 !important; border-bottom: 1px solid var(--border) !important;
        }
        #main-content .post.post--qna > .rb-postbit { grid-column: 1 !important; grid-row: auto !important; order: 2 !important; border-left: 0 !important; }
        #main-content .post.post--qna > .post-body  { grid-column: 1 !important; grid-row: auto !important; order: 3 !important; }
        #main-content .post > .rb-postbit {
            display: flex !important; flex-direction: row !important; align-items: center !important;
            gap: 10px !important; width: 100% !important; padding: 10px 14px !important;
            text-align: left !important; border-right: 0 !important;
            border-bottom: 1px solid var(--border) !important;
        }
        #main-content .rb-postbit .rb-pb-avatar-link {
            width: 40px !important; height: 40px !important; flex: 0 0 40px !important; align-self: center !important; margin: 0 !important;
            position: relative !important;
        }
        #main-content .rb-postbit .rb-pb-avatar-link,
        #main-content .rb-postbit .rb-pb-avatar-link .rb-avatar,
        #main-content .rb-postbit .rb-pb-avatar-link .rb-pb-avatar,
        #main-content .rb-postbit .rb-pb-avatar-link img {
            border-radius: var(--rb-avatar-border-radius, 9999px) !important;
        }
        #main-content .rb-postbit .rb-pb-avatar-link .rb-avatar,
        #main-content .rb-postbit .rb-pb-avatar-link .rb-pb-avatar,
        #main-content .rb-postbit .rb-pb-avatar-link img {
            width: 40px !important; height: 40px !important; font-size: 1.05rem !important;
            object-fit: cover !important;
            display: block !important; vertical-align: top !important;
        }
        #main-content .rb-postbit .rb-pb-online-dot {
            position: absolute !important;
            width: 12px !important; height: 12px !important; right: -1px !important; bottom: -1px !important; top: auto !important; left: auto !important;
            border: 2px solid var(--surface) !important; display: grid !important; place-items: center !important;
        }
        #main-content .rb-postbit .rb-pb-online-dot i { font-size: 6px !important; }
        #main-content .rb-postbit .rb-pb-username { font-size: 0.95rem !important; margin: 0 !important; }
        #main-content .rb-postbit .rb-pb-title { font-size: 0.7rem !important; margin: 0 !important; }
        #main-content .rb-postbit .rb-pb-badges { margin: 0 !important; }
        #main-content .rb-postbit .rb-pb-hero,
        #main-content .rb-postbit .rb-pb-rows,
        #main-content .rb-postbit .rb-pb-custom,
        #main-content .rb-postbit .rb-pb-trophies,
        #main-content .rb-postbit .rb-pb-profile-btn,
        #main-content .rb-postbit .rb-pb-pager { display: none !important; }
        #main-content .bbcode-toolbar, .bbcode-toolbar {
            flex-wrap: wrap !important; overflow-x: visible !important;
        }
        .bbcode-editor-wrapper .rb-s7-0141,
        .bbcode-editor-wrapper .rb-s7-0801,
        .bbcode-editor-wrapper .smilie-picker-pop {
            position: fixed !important; left: 8px !important; right: 8px !important;
            bottom: 8px !important; top: auto !important; transform: none !important;
            width: auto !important; max-width: none !important; min-width: 0 !important;
            margin: 0 !important; max-height: 60vh !important; overflow-y: auto !important;
            z-index: 10060 !important;
        }
        header .rb-dropdown-panel,
        header .absolute.right-0.w-96,
        header div.w-96[x-show] {
            position: fixed !important; left: 8px !important; right: 8px !important; top: 58px !important;
            width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important;
        }
        .rf-club-tabs { flex-wrap: wrap !important; overflow-x: visible !important; }
        #main-content, .main-region > main { padding-left: 3px !important; padding-right: 3px !important; }
        .rb-pagination {
            flex-wrap: nowrap !important; overflow-x: auto !important;
            justify-content: flex-start !important; scrollbar-width: none;
        }
        .rb-pagination::-webkit-scrollbar { display: none; }
        .rb-pagination > * { flex: 0 0 auto !important; }
        .rb-pagination .btn { padding-left: 8px !important; padding-right: 8px !important; }
        .acc-nav {
            position: static !important; top: auto !important;
            display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
            overflow-x: auto !important; gap: 6px !important;
            -webkit-overflow-scrolling: touch; scrollbar-width: none;
            margin-bottom: 14px !important;
        }
        .acc-nav::-webkit-scrollbar { display: none; }
        .acc-nav-item { white-space: nowrap !important; flex: 0 0 auto !important; }
        .acc-nav-divider { display: none !important; }
        #main-content .rb-s7-0012, .rb-s7-0012 {
            flex-wrap: wrap !important; gap: 8px !important; align-items: center !important;
        }
        #main-content .rb-s7-0012 .rb-s7-0312, .rb-s7-0012 .rb-s7-0312 { flex: 1 1 60% !important; }
        #main-content .messages-layout { grid-template-columns: 1fr !important; height: auto !important; }
        #main-content .convo-list,
        #main-content .convo-view {
            width: 100% !important; max-width: 100% !important; min-width: 0 !important;
        }
        #main-content .convo-view { display: flex !important; flex-direction: column !important; }
        #main-content #conv-messages { flex: 1 1 auto !important; min-height: 50vh !important; }
        #main-content .convo-list { display: flex !important; width: 100% !important; }
        #main-content .messages-layout:has(#conv-messages) .convo-list { display: none !important; }
    }
.acc-page { width: 100%; }
.acc-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 14px; flex-wrap: wrap; }
.acc-crumb { color: var(--muted-foreground, #888); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: color .15s; }
.acc-crumb:hover { color: var(--primary, #f24b18); }
.acc-crumb--current { color: var(--foreground, #fff); font-weight: 600; }
.acc-crumb-sep { color: var(--muted-foreground, #555); opacity: .5; }
.acc-page-head {
    display: flex; align-items: center; gap: 18px;
    padding: 22px 26px; margin-bottom: 22px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--primary, #f24b18) 10%, transparent),
        color-mix(in srgb, var(--primary, #f24b18) 2%, transparent));
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 16px;
}
.acc-page-head__icon {
    width: 52px; height: 52px; flex-shrink: 0;
    display: grid; place-items: center;
    background: var(--primary, #f24b18); color: #fff;
    border-radius: 12px; font-size: 22px;
    box-shadow: 0 6px 18px -4px color-mix(in srgb, var(--primary, #f24b18) 55%, transparent);
}
.acc-page-head h1 { margin: 0 0 4px; font-size: 24px; font-weight: 700; color: var(--foreground, #fff); }
.acc-page-head p { margin: 0; color: var(--muted-foreground, #999); font-size: 14px; }
.acc-layout { display: grid; grid-template-columns: 240px 1fr; gap: 22px; align-items: start; }
@media (max-width: 880px) { .acc-layout { grid-template-columns: 1fr; } }
.acc-nav {
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    padding: 10px;
    display: grid; gap: 2px;
    position: sticky; top: 16px;
}
.acc-nav-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: 8px;
    color: var(--muted-foreground, #aaa); text-decoration: none;
    font-size: 13.5px; font-weight: 500;
    transition: all .15s;
}
.acc-nav-item i { width: 18px; text-align: center; font-size: 13px; }
.acc-nav-item:hover { background: color-mix(in srgb, var(--primary, #f24b18) 8%, transparent); color: var(--foreground, #fff); }
.acc-nav-item.active { background: color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); color: var(--primary, #f24b18); font-weight: 600; }
.acc-nav-item.active i { color: var(--primary, #f24b18); }
.acc-nav-divider { height: 1px; background: var(--border, #2a2a2e); margin: 6px 4px; }
.acc-nav-item--danger { color: color-mix(in srgb, #ef4444 80%, var(--muted-foreground, #aaa)); }
.acc-nav-item--danger:hover { background: color-mix(in srgb, #ef4444 10%, transparent); color: #ef4444; }
.acc-main { display: grid; gap: 22px; min-width: 0; }
.acc-form { display: grid; gap: 22px; }
.acc-alert { display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-radius: 10px; font-size: 13.5px; }
.acc-alert--ok { background: color-mix(in srgb, #10b981 14%, transparent); color: #10b981; border: 1px solid color-mix(in srgb, #10b981 30%, transparent); }
.acc-alert--err { background: color-mix(in srgb, #ef4444 12%, transparent); color: #ef4444; border: 1px solid color-mix(in srgb, #ef4444 30%, transparent); }
.acc-alert--info { background: color-mix(in srgb, var(--primary, #f24b18) 10%, transparent); color: var(--foreground, #fff); border: 1px solid color-mix(in srgb, var(--primary, #f24b18) 24%, transparent); }
.acc-alert--warn { background: color-mix(in srgb, #f59e0b 14%, transparent); color: #f59e0b; border: 1px solid color-mix(in srgb, #f59e0b 30%, transparent); }
.acc-card {
    background: var(--surface, #18181b);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 14px;
    padding: 22px 24px;
    display: grid; gap: 16px;
    min-width: 0;
}
.acc-card__title {
    margin: 0 0 4px; font-size: 14px; font-weight: 700;
    color: var(--foreground, #fff); display: flex; align-items: center; gap: 8px;
}
.acc-card__title i { color: var(--primary, #f24b18); font-size: 13px; }
.acc-card__desc { margin: -8px 0 4px; color: var(--muted-foreground, #999); font-size: 13px; line-height: 1.5; }
.acc-toggle {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 14px 0;
    border-top: 1px solid var(--border, #2a2a2e);
}
.acc-toggle:first-of-type { border-top: 0; padding-top: 4px; }
.acc-toggle__label { font-size: 13.5px; font-weight: 600; color: var(--foreground, #fff); margin-bottom: 2px; }
.acc-toggle__desc { font-size: 12.5px; color: var(--muted-foreground, #999); line-height: 1.45; }
.acc-switch { position: relative; width: 42px; height: 24px; cursor: pointer; flex-shrink: 0; }
.acc-switch input { opacity: 0; width: 0; height: 0; }
.acc-switch span {
    position: absolute; inset: 0; border-radius: 999px;
    background: var(--border, #3a3a3e);
    transition: background .2s;
}
.acc-switch span::after {
    content: ''; position: absolute;
    width: 18px; height: 18px; left: 3px; top: 3px;
    background: #fff; border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
    transition: transform .2s cubic-bezier(.4,0,.2,1);
}
.acc-switch input:checked + span { background: var(--primary, #f24b18); }
.acc-switch input:checked + span::after { transform: translateX(18px); }
.acc-field { display: grid; gap: 6px; padding: 14px 0 0; border-top: 1px solid var(--border, #2a2a2e); }
.acc-field:first-of-type { border-top: 0; padding-top: 0; }
.acc-field > label { font-size: 13.5px; font-weight: 600; color: var(--foreground, #fff); }
.acc-field-hint { font-size: 12px; color: var(--muted-foreground, #999); line-height: 1.45; }
.acc-input, .acc-field select, .acc-field input[type="text"], .acc-field input[type="email"], .acc-field input[type="password"], .acc-field input[type="url"], .acc-field input[type="number"], .acc-field input[type="date"], .acc-field textarea {
    width: 100%; max-width: 480px; box-sizing: border-box;
    padding: 10px 14px;
    background: var(--background, #0e0e10);
    border: 1px solid var(--border, #2a2a2e);
    border-radius: 10px;
    color: var(--foreground, #fff);
    font: inherit; font-size: 14px;
    transition: border-color .15s, box-shadow .15s;
}
.acc-field textarea { resize: vertical; min-height: 96px; max-width: 100%; }
.acc-field select { max-width: 360px; }
.acc-input:focus, .acc-field select:focus, .acc-field input:focus, .acc-field textarea:focus { outline: none; border-color: var(--primary, #f24b18); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); }
.acc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 720px) { .acc-grid-2 { grid-template-columns: 1fr; } }
.acc-form__actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.acc-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 20px; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none;
    border: 0;
    background: var(--primary, #f24b18); color: #fff;
    box-shadow: 0 4px 14px -3px color-mix(in srgb, var(--primary, #f24b18) 45%, transparent);
    transition: all .15s;
}
.acc-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.acc-btn:active { transform: translateY(0); }
.acc-btn--ghost { background: transparent; color: var(--foreground, #fff); border: 1px solid var(--border, #2a2a2e); box-shadow: none; }
.acc-btn--ghost:hover { background: color-mix(in srgb, var(--primary, #f24b18) 8%, transparent); border-color: var(--primary, #f24b18); }
.acc-btn--danger { background: #ef4444; box-shadow: 0 4px 14px -3px color-mix(in srgb, #ef4444 45%, transparent); }
.acc-btn--sm { padding: 7px 14px; font-size: 12.5px; }
.acc-avatar { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 2px solid var(--border, #2a2a2e); background: var(--background, #0e0e10); }
.acc-avatar-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.acc-list { display: grid; gap: 10px; }
.acc-list-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--border, #2a2a2e); border-radius: 10px; background: var(--background, #0e0e10); }
.acc-list-row__main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.acc-list-row__title { font-size: 13.5px; font-weight: 600; color: var(--foreground, #fff); }
.acc-list-row__sub { font-size: 12px; color: var(--muted-foreground, #999); }
.acc-empty { text-align: center; padding: 28px 16px; color: var(--muted-foreground, #888); font-size: 13.5px; }
.acc-empty i { display: block; font-size: 28px; margin-bottom: 8px; opacity: .6; }
.acc-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.acc-badge--ok { background: color-mix(in srgb, #10b981 18%, transparent); color: #10b981; }
.acc-badge--warn { background: color-mix(in srgb, #f59e0b 18%, transparent); color: #f59e0b; }
.acc-badge--err { background: color-mix(in srgb, #ef4444 18%, transparent); color: #ef4444; }
.acc-badge--muted { background: color-mix(in srgb, var(--muted-foreground, #999) 14%, transparent); color: var(--muted-foreground, #aaa); }
.acc-divider { height: 1px; background: var(--border, #2a2a2e); margin: 6px 0; }
.acc-notif-head, .acc-notif-row {
    display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center;
    padding: 14px 0; border-top: 1px solid var(--border, #2a2a2e);
}
.acc-notif-head { padding-top: 4px; border-top: 0; }
.acc-notif-row:first-of-type { border-top: 0; }
.acc-notif-channels { display: flex; gap: 16px; align-items: center; }
.acc-notif-channels span {
    display: inline-flex; flex-direction: column; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 600; color: var(--muted-foreground, #888);
    text-transform: uppercase; letter-spacing: .04em;
    min-width: 42px; text-align: center;
}
.acc-notif-channels span i { font-size: 13px; }
@media (max-width: 600px) {
    .acc-notif-head, .acc-notif-row { grid-template-columns: 1fr; }
    .acc-notif-channels { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 900px) {
    .rbt-content-shell { flex-direction: column !important; align-items: stretch !important; }
    .rbt-content { width: 100% !important; min-width: 0 !important; }
    .rbt-widget-sidebar { width: 100% !important; flex: 1 1 auto !important; }
}
.rb-foot-logo { height: 26px; width: auto; display: block; }
html[data-theme="light"] .rb-foot-logo--dark { display: none; }
html[data-theme="dark"]  .rb-foot-logo--light { display: none; }
.rb-foot-logo--light:only-child, .rb-foot-logo--dark:only-child { display: block !important; }
.rax-notice {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 16px; border-radius: 8px;
    font-size: 0.85rem; line-height: 1.5;
    background: var(--rax-notice-bg);
    border: 1px solid var(--rax-notice-border);
    color: var(--foreground, var(--color-text, #f5f4f2));
}
.rax-notice__icon { color: var(--rax-notice-color); margin-top: 2px; flex-shrink: 0; }
.rax-notice__body { flex: 1; min-width: 0; }
.rax-notice__title { font-weight: 600; color: var(--rax-notice-color); margin-bottom: 2px; }
.rax-notice__message a { color: var(--rax-notice-color); text-decoration: underline; }
.rax-notice__close {
    flex-shrink: 0; background: transparent; border: 0; cursor: pointer;
    color: var(--rax-notice-color); opacity: 0.7; padding: 2px 6px;
    font-size: 0.85rem; line-height: 1;
}
.rax-notice__close:hover { opacity: 1; }
.rax-notices-inline {
    display: flex; flex-direction: column; gap: 8px;
    width: 100%; box-sizing: border-box;
    max-width: var(--container, var(--container-max, var(--rb-max-page-width, 1280px)));
    margin: 10px auto;
}
.rax-notices-floating {
    position: fixed; right: 16px; bottom: 16px;
    z-index: 9998; display: flex; flex-direction: column; gap: 8px;
    max-width: min(360px, calc(100vw - 32px));
}
.rax-notices-floating .rax-notice {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    background: color-mix(in srgb, var(--rax-notice-color) 18%, var(--color-dark-surface, #1c1c1c));
    color: var(--color-text, #f5f4f2); 
}
.rax-notices-fixed {
    position: sticky; top: 0; z-index: 9999;
    display: flex; flex-direction: column; gap: 0;
}
.rax-notices-fixed .rax-notice {
    border-radius: 0; border-left: 0; border-right: 0; border-top: 0;
}
.rax-notice--scrolling { overflow: hidden; }
.rax-notice--scrolling .rax-notice__body { overflow: hidden; }
.rax-notice--scrolling .rax-notice__message {
    display: inline-block; white-space: nowrap; padding-left: 100%;
    animation: rax-notice-scroll 22s linear infinite;
}
.rax-notice--scrolling:hover .rax-notice__message { animation-play-state: paused; }
@keyframes rax-notice-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
@media (max-width: 640px) {
    .rax-notices-floating { left: 16px; right: 16px; max-width: none; }
}
.acc-pill-group { display: flex; flex-wrap: wrap; gap: 8px; }
.acc-pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--border, #2a2a2e);
    background: var(--background, #0e0e10);
    border-radius: 999px;
    font-size: 13px; font-weight: 500;
    color: var(--muted-foreground, #aaa);
    cursor: pointer;
    transition: all .15s;
}
.acc-pill input { position: absolute; opacity: 0; pointer-events: none; }
.acc-pill:hover { border-color: var(--primary, #f24b18); color: var(--foreground, #fff); }
.acc-pill.is-active { background: color-mix(in srgb, var(--primary, #f24b18) 18%, transparent); border-color: var(--primary, #f24b18); color: var(--primary, #f24b18); font-weight: 600; }
.rb-debugbar {
    --dbg-bg:       rgba(15, 17, 26, 0.97);
    --dbg-fg:       #e4e6ef;
    --dbg-muted:    #9aa0b2;
    --dbg-line:     rgba(255, 255, 255, 0.1);
    --dbg-chip:     rgba(255, 255, 255, 0.06);
    --dbg-chip-hl:  rgba(255, 87, 34, 0.18);
    --dbg-accent:   #ff7043;
    --dbg-code:     #9adb74;
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
    background: var(--dbg-bg);
    color: var(--dbg-fg);
    border-top: 1px solid var(--dbg-line);
    font: 11.5px/1.5 var(--rb-font-mono, ui-monospace, monospace);
    box-shadow: 0 -6px 18px rgba(0,0,0,.4);
    backdrop-filter: blur(8px);
}
.rb-debugbar__top { display: flex; align-items: center; gap: 14px; padding: 6px 14px; cursor: pointer; flex-wrap: wrap; }
.rb-debugbar__metric { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 4px; background: var(--dbg-chip) !important; color: var(--dbg-fg) !important; }
.rb-debugbar__metric * { color: var(--dbg-fg) !important; }
.rb-debugbar__metric i { font-size: 10px; opacity: .85; color: var(--dbg-fg) !important; }
.rb-debugbar__metric strong { color: #fff !important; font-weight: 600; }
.rb-debugbar__metric span { color: var(--dbg-muted) !important; }
.rb-debugbar__tag { margin-left: auto; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--dbg-accent); font-weight: 700; }
.rb-debugbar__panel { display: none; max-height: 340px; overflow: auto; padding: 10px 14px 14px; border-top: 1px solid var(--dbg-line); }
.rb-debugbar.is-open .rb-debugbar__panel { display: block; }
.rb-debugbar__tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.rb-debugbar__tab  { padding: 4px 12px; border-radius: 4px; background: rgba(255,255,255,0.1) !important; cursor: pointer; color: #ffffff !important; border: 1px solid rgba(255,255,255,0.15); font-weight: 500; font-size: 11.5px; transition: background 150ms ease, border-color 150ms ease; }
.rb-debugbar__tab:hover { background: rgba(255,255,255,0.18) !important; border-color: rgba(255,255,255,0.3); color: #ffffff !important; }
.rb-debugbar__tab.is-active { background: var(--dbg-chip-hl) !important; color: var(--dbg-accent) !important; border-color: var(--dbg-accent); font-weight: 600; }
.rb-debugbar__pane { display: none; }
.rb-debugbar__pane.is-active { display: block; }
.rb-debugbar table { width: 100%; border-collapse: collapse; font-size: 11px; color: var(--dbg-fg); }
.rb-debugbar table th, .rb-debugbar table td { text-align: left; padding: 3px 6px; border-bottom: 1px solid var(--dbg-line); vertical-align: top; }
.rb-debugbar table th { color: var(--dbg-muted); font-weight: 500; }
.rb-debugbar table code { color: var(--dbg-code); font-size: 11px; }
.rb-debugbar em { color: var(--dbg-muted); }
body:has(.rb-debugbar) { padding-bottom: 42px; }  
.rb-cf-badge { background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); }
.rb-cf-lock-chip { background: color-mix(in srgb, var(--muted-foreground) 14%, transparent); color: var(--muted-foreground); }
.rb-ed-pop { min-width:340px;max-width:380px;padding:10px; }
.rb-ed-searchrow { display:flex; gap:6px; margin-bottom:8px; }
.rb-ed-searchin { flex:1;padding:6px 10px;font-size:13px; }
.rb-ed-loading { text-align:center;padding:24px;color:var(--muted-foreground); }
.rb-ed-note { text-align:center;padding:18px;color:var(--muted-foreground);font-size:12.5px; }
.rb-ed-gifgrid { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:280px;overflow-y:auto; }
.rb-ed-gifbtn { border:0;padding:0;background:transparent;cursor:pointer; }
.rb-ed-gifimg { width:100%;border-radius:4px;display:block; }
.rb-ed-empty { text-align:center;padding:12px;color:var(--muted-foreground);font-size:12px; }
.rb-mr-3 { margin-right:3px; }
.rb-ed-gifpane { padding:8px;min-width:300px; }
.rb-ed-gifgrid-sm { display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:260px;overflow-y:auto; }
.rb-ed-sep { height:1px;background:var(--border);margin:4px 0; }
.rb-ed-hidemenu { min-width: 240px; max-height: 380px; overflow-y: auto; }
.rb-ed-btnimg { width:1em;height:1em;object-fit:contain;vertical-align:-2px; }
.rb-contents { display: contents; }
.rb-ed-mention-ico { font-size: 0.85rem; }
.rb-ed-mention-col { display: flex; flex-direction: column; min-width: 0; }
.rb-ed-mention-name { font-weight: 600; }
.rb-ed-mention-desc { font-size: 0.7rem; opacity: 0.65; }
.rb-dim-85 { opacity:.85; }
.rb-dim-60 { opacity:.6; }
.rb-linklike { color: var(--primary); background: transparent; border: 0; padding: 0; font-size: inherit; }
.rb-modal-backdrop { background: rgba(0,0,0,0.55); }
.rb-modal-panel { background: var(--surface); border: 1px solid var(--border); }
.rb-border-soft { border-color: var(--border); }
.rb-btn-bare { background: transparent; border: 0; cursor: pointer; }
.rb-ico-primary { color: var(--primary); }
.rb-ad--between-posts { margin:14px 0; }
.rb-webmentions { margin-top:18px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--card); }
.rb-webmentions h3 { margin:0 0 12px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground); }
.rb-webmentions h3 i { margin-right:6px; }
.rb-webmentions ul { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px; }
.rb-webmentions li { display:flex;align-items:center;gap:10px;font-size:13px; }
.rb-webmentions li > i { color:var(--muted-foreground);opacity:.7;font-size:11px; }
.rb-webmentions a { color:inherit;text-decoration:none; }
.rb-webmentions a strong { font-weight:600; }
.rb-webmentions li span { color:var(--muted-foreground); }
.rb-trophy-ico { color:var(--warning,#f59e0b); }
.rb-trophy-empty { text-align:center;padding:48px 18px;color:var(--muted-foreground); }
.rb-trophy-empty__ico { font-size:42px;opacity:0.3;margin-bottom:14px;display:block; }
.rb-trophy-empty__txt { margin:0;font-weight:600;color:var(--foreground); }
.trophy-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px; }
.trophy-catalog-card { display:flex;gap:14px;align-items:flex-start;padding:16px; }
.trophy-catalog-card__ico { flex-shrink:0;width:48px;height:48px;border-radius:10px;background:color-mix(in srgb,var(--warning,#f59e0b) 15%,transparent);display:flex;align-items:center;justify-content:center;color:var(--warning,#f59e0b);font-size:22px; }
.trophy-catalog-card__body { flex:1;min-width:0; }
.trophy-catalog-card__row { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px; }
.trophy-catalog-card__name { font-weight:600;color:var(--foreground); }
.pill--xs { font-size:11px; }
.trophy-catalog-card__desc { font-size:13px;color:var(--muted-foreground);line-height:1.5;margin-bottom:6px; }
.trophy-catalog-card__criteria { font-size:12px;color:var(--foreground);margin:6px 0 8px; }
.trophy-catalog-card__label { font-size:10px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:2px; }
.trophy-catalog-card__list { margin:0;padding-left:16px;line-height:1.45; }
.rb-fs-11 { font-size:11px; }
.acc-avatar--initial { display:grid;place-items:center;font-size:28px;font-weight:700;color:#fff;background:var(--primary,#f24b18); }
.acc-stack { display:grid;gap:8px; }
.acc-row-wrap { display:flex;gap:8px;flex-wrap:wrap; }
.acc-btn--file { cursor:pointer; }
.acc-btn--danger-ghost { color:#ef4444;border-color: color-mix(in srgb, #ef4444 35%, var(--border, #2a2a2e)); }
.acc-field--flush { border-top:0;padding-top:0; }
.acc-field__hint--sub { font-size:.78rem;color:var(--muted-foreground,#888);margin-top:.45rem; }
.acc-form-grid { display:grid;gap:14px; }
.acc-form__actions--start { justify-content:flex-start; }
.rb-modal-backdrop--soft { background: rgba(0,0,0,0.45); }
.rb-modal-head--tint { background: color-mix(in srgb, var(--primary) 8%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--primary) 20%, transparent); }
.rb-border-top { border-top: 1px solid var(--border); }
.rb-border-bottom { border-bottom: 1px solid var(--border); }
.rb-bg-primary { background: var(--primary); }
.rb-th__modmenu { margin-left:auto; position:relative; }
.rb-ico-muted { color:var(--muted-foreground); }
.rb-featured { margin-bottom:18px; }
.rb-featured__title { font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted-foreground);margin:0 0 10px; }
.rb-star-ico { color:var(--warn, #f59e0b);margin-right:6px; }
.rb-featured__grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px; }
.rb-featured-card { display:block;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease; }
.rb-featured-card__title { font-size:14.5px;font-weight:600;margin-bottom:6px;line-height:1.35; }
.rb-featured-card__desc { font-size:12.5px;color:var(--muted-foreground);line-height:1.5; }
.rb-mt-12 { margin-top:12px; }
.acc-card--danger { border-color: color-mix(in srgb, #ef4444 35%, var(--border, #2a2a2e)); }
.rb-text-danger { color:#ef4444; }
.acc-confirm-grid { margin-top:12px;display:grid;gap:12px; }
.rb-text-success { color:#10b981; }
.acc-tile-ico--success { width:36px;height:36px;border-radius:10px;background:color-mix(in srgb, #10b981 18%, transparent);color:#10b981;display:grid;place-items:center; }
.acc-tile-ico { width:36px;height:36px;border-radius:10px;background:color-mix(in srgb, var(--primary, #f24b18) 18%, transparent);color:var(--primary, #f24b18);display:grid;place-items:center; }
.acc-list-row__sub--strong { color:var(--foreground,#fff);font-weight:600; }
.acc-sub-note { color:var(--muted-foreground,#999);font-weight:400; }
.acc-item-title { font-weight:600;color:var(--foreground,#fff);margin-bottom:4px; }
.rb-round-top { border-radius: 0.75rem 0.75rem 0 0; }
.rb-pvw-avatar { width:40px;height:40px;border-radius:9999px; }
.rb-pvw-header { display:flex;align-items:center;gap:8px;padding:10px 12px; }
.rb-pvw-body { padding:8px 12px 16px; }
.rb-dim-70 { opacity:.7; }
.rb-ml-auto { margin-left:auto; }
.podium-top { display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb, #FFD700 12%, transparent);border:1px solid color-mix(in srgb, #FFD700 35%, transparent);margin-bottom:8px;text-decoration:none; }
.rb-crown { color:#FFD700;font-size:1rem; }
.podium-top .avatar { width:44px;height:44px;border-radius:11px;object-fit:cover; }
.podium-top__body { flex:1;min-width:0; }
.podium-top .member-name { font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.rb-fs-xxs { font-size:0.7rem; }
.acc-avatar-36 { width:36px;height:36px;border-radius:50%;object-fit:cover; }
.acc-avatar-36--initial { width:36px;height:36px;border-radius:50%;background:var(--primary,#f24b18);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px; }
.acc-actions-center { display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:6px; }
.rb-text-center { text-align:center; }
.acc-code-chip { font-size:11px;font-weight:500;color:var(--muted-foreground,#999);background:var(--background,#0e0e10);padding:2px 6px;border-radius:6px;margin-left:6px; }
.rb-row-10 { display:flex;align-items:center;gap:10px; }
.acc-cpick { width:42px;height:42px;border-radius:10px;border:1px solid var(--border, #2a2a2e);background:var(--background, #0e0e10);cursor:pointer; }
.rb-mt-16 { margin-top:1rem; }
.rb-feed-filters { gap:0.6rem; margin:1rem 0; flex-wrap:wrap; }
.rb-feed-filter { gap:0.3rem; font-size:0.85rem; }
.rb-node-ico-img { width:22px;height:22px;object-fit:cover;border-radius:5px;vertical-align:middle;margin-right:8px; }
.rb-mr-8 { margin-right:8px; }
.rb-subnode-ico-img { width:24px;height:24px;object-fit:cover;border-radius:6px; }
.rb-lock-ico { font-size:11px;color:var(--text-faint); }
.rb-note-italic { font-size:12px;font-style:italic; }
.rb-cookie-banner { position:fixed; left:1rem; right:1rem; bottom:1rem; max-width:680px; margin:0 auto; padding:0.85rem 1rem; background:rgba(20,18,16,0.96); color:#f5f4f2; border:1px solid rgba(255,87,34,0.35); border-radius:10px; box-shadow:0 16px 48px -12px rgba(0,0,0,0.6); z-index:9000; display:flex; align-items:center; gap:0.85rem; flex-wrap:wrap; font-size:0.85rem; backdrop-filter:saturate(140%) blur(8px); }
.rb-cookie-banner__text { flex:1 1 280px; line-height:1.5; }
.rb-cookie-banner__link { color:#ffb094; text-decoration:underline; font-size:0.78rem; }
.rb-cookie-banner__accept { background:#ff5722; color:#0a0908; border:none; padding:0.5rem 1.1rem; border-radius:6px; font-weight:600; cursor:pointer; }
.rb-cookie-banner__dismiss { background:transparent; color:#cfcac3; border:1px solid rgba(255,255,255,0.18); padding:0.5rem 0.9rem; border-radius:6px; cursor:pointer; }
.rb-club-media-img { max-width:100%;height:auto;border-radius:8px;margin-bottom:8px; }
.rb-form-inline { display:inline-block;margin-bottom:12px; }
.rb-club-icon-img { border-radius:8px;margin-bottom:8px; }
.rb-mb-12 { margin-bottom:12px; }
.rb-row-12 { gap:12px;align-items:center; }
.rb-toolbar-row { justify-content: space-between; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.rb-cta-row { margin-top: 1rem; gap: 0.5rem; justify-content: center; }
.acc-form--gap14 { gap:14px; }
.rb-mr-6 { margin-right:6px; }
.rb-subforums-card { margin-bottom: 20px; overflow: hidden; }
.rb-subforums-card__head { padding: 10px 16px; border-bottom: 1px solid var(--border); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted-foreground); background: var(--surface-2); }
.rb-meta-sub { margin-top:6px;font-size:0.7rem; }
.rb-pad-4-10 { padding:4px 10px; }
.rb-mod-check { display:flex;align-items:center;gap:6px;margin-top:8px;font-size:0.85rem;cursor:pointer; }
.rb-row-between { justify-content:space-between;align-items:center; }
#rb-uc-lastseen { padding:6px 16px 0;font-size:.62rem;color:var(--muted-foreground);text-align:center; }
.rb-pagination__current { background:var(--primary)!important;color:var(--primary-foreground,#fff)!important;font-weight:700;border-color:var(--primary)!important;pointer-events:none; }
.rb-star-gold { color:#f5a623; }
.rbt-widget-sidebar { flex:0 0 var(--rb-widget-sidebar-width, 280px);width:var(--rb-widget-sidebar-width, 280px);max-width:100%; }
.rb-s7-0571 { background: transparent; color: var(--muted-foreground); border: 1px solid var(--border); }
.rb-s7-0571:hover { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); border-color: var(--danger); }
.rb-s7-0916 { background: color-mix(in srgb, var(--primary) 8%, transparent); color: var(--primary); }
.rb-s7-0916:hover { background: color-mix(in srgb, var(--primary) 15%, transparent); }
.rb-w-9934ba58 { font-size:0.8125rem;color:var(--muted-foreground); }
.rb-w-429b242e { color:var(--muted-foreground); }
.rb-w-21db4e01 { font-size:0.8125rem;line-height:1.9; }
.rb-w-8fe283d0 { color:#ec4899;margin-right:5px; }
.rb-w-4da3fda7 { display:flex;align-items:flex-start;gap:8px;padding:6px 4px;border-radius:6px; }
.rb-w-e2b51408 { color:#f5a623;font-size:0.7em;margin-top:4px; }
.rb-w-6a8e93e8 { font-size:0.8125rem;font-weight:500;color:var(--foreground);text-decoration:none;line-height:1.4; }
.rb-w-ccc58d95 { display:flex;gap:6px; }
.rb-w-a7f05990 { flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--foreground);font-size:0.8125rem; }
.rb-w-d0f85683 { padding:7px 12px;border:0;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;font-size:0.8125rem; }
.rb-w-32688494 { font-size:0.8125rem;font-weight:600;color:var(--foreground);margin-bottom:8px; }
.rb-w-abd137b8 { margin-bottom:6px; }
.rb-w-df6e2067 { display:flex;justify-content:space-between;font-size:0.7rem;color:var(--muted-foreground);margin-bottom:2px; }
.rb-w-246d8237 { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:75%; }
.rb-w-7f46be31 { height:6px;border-radius:3px;background:var(--muted);overflow:hidden; }
.rb-w-6aae1df2 { font-size:0.7rem;margin-top:8px; }
.rb-w-6a6938fe { color:var(--primary);text-decoration:none; }
.rb-w-6d26a45b { font-size: 0.8125rem; color: var(--muted-foreground); }
.rb-w-fd84ba2a { display: flex; align-items: center; gap: 10px; padding: 7px 6px; border-radius: 8px; color: var(--foreground); transition: background 0.15s; }
.rb-w-58270bd5 { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.6rem; font-weight: 600; color: var(--muted-foreground); background: var(--muted); }
.rb-w-ff4088b3 { flex: 1; min-width: 0; overflow: hidden; }
.rb-w-10e43c81 { font-size: 0.8125rem; font-weight: 500; color: var(--foreground); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rb-w-db9812ff { font-size: 0.75rem; font-weight: 700; color: var(--primary); flex-shrink: 0; }
.rb-w-ac2fb058 { font-size: 0.875rem; color: var(--muted-foreground); }
.rb-w-ec31ba16 { font-size: 0.55rem; color: #f59e0b; }
.rb-w-faa9a073 { font-size: 0.55rem; color: #94a3b8; }
.rb-w-204a06cb { font-size: 0.55rem; color: #d97706; }
.rb-w-8e1e485a { display: flex; align-items: center; gap: 10px; padding: 6px; border-radius: var(--rb-border-radius-large, 6px); transition: background 0.15s; }
.rb-w-02b7cc0f { width: 18px; text-align: center; font-size: 0.7rem; font-weight: 700; color: var(--muted-foreground); }
.rb-w-c07446fb { flex: 1; min-width: 0; font-size: 0.8125rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-w-8e5c7cd9 { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.rb-w-3cf1889e { font-size: 0.75rem; font-weight: 600; color: var(--foreground); }
.rb-w-b0682258 { display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-radius: var(--rb-border-radius-large, 6px); transition: background 0.15s; }
.rb-w-0739a3dd { font-size: 0.8125rem; font-weight: 500; color: var(--foreground); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; display: block; }
.rb-w-b4b203b4 { font-size: 0.6875rem; color: var(--muted-foreground); }
.rb-w-2f710ad1 { display:flex;gap:8px;padding:6px 4px; }
.rb-w-8cd9ba2d { flex:1;min-width:0;font-size:0.75rem;line-height:1.5; }
.rb-w-9ce341e1 { color:var(--foreground);text-decoration:none;font-weight:500; }
.rb-w-4818648c { color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis; }
.rb-w-eb704eb4 { font-size: 0.8rem; color: var(--muted-foreground); }
.rb-w-d79e5831 { display: flex; flex-direction: column; gap: 2px; }
.rb-w-e8d8f828 { display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 8px; text-decoration: none; color: var(--foreground); transition: background 0.15s; }
.rb-w-69271fc9 { flex-shrink: 0; }
.rb-w-9fc986e7 { font-size: 0.8rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--foreground); }
.rb-w-8b7e8776 { font-size: 0.65rem; color: var(--muted-foreground); white-space: nowrap; }
.rb-w-0e03c8fb { font-size:0.8125rem;color:var(--foreground); }
.rb-w-4e6deae2 { font-size:0.75rem;margin-top:6px;color:var(--muted-foreground); }
.rb-w-2bf466c8 { opacity:.6;margin-right:4px; }
.rb-w-51ddf879 { display: flex; gap: 8px; margin-bottom: 12px; }
.rb-w-e027bd73 { display: flex; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--border); }
.rb-w-b30deae0 { font-size: 0.75rem; color: var(--muted-foreground); white-space: nowrap; }
.rb-w-3b14e1bf { font-size: 0.75rem; font-weight: 600; color: var(--primary); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-w-70def89c { font-size: 1.125rem; font-weight: 700; color: var(--foreground); line-height: 1.2; }
.rb-w-92c8831e { font-size: 0.65rem; color: var(--muted-foreground); margin-top: 2px; }
.rb-w-3a1dd637 { color:#ef4444;font-size:0.7em;margin-right:3px; }
.rb-w-0b5c22a8 { color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.rb-w-23cf1185 { color:var(--muted-foreground);text-decoration:none; }
.rb-w-ae14b2d2 { color:#f5a623;font-size:0.7em;margin-right:3px; }
.rb-w-3d0eb438 { font-size:0.8125rem;line-height:1.6; }
.rb-w-f0c0e749 { color:var(--muted-foreground);text-decoration:underline; }
.rb-w-3e1863d4 { font-size:0.75rem;margin-top:8px;padding-top:6px;border-top:1px solid var(--border);color:var(--muted-foreground); }
.rb-w-ca85797a { display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;line-height:1.6; }
.rb-w-396e68ac { flex: 1; min-width: 0; }
.rb-w-0b0f9f46 { font-size: 0.6875rem; color: var(--muted-foreground); display: flex; align-items: center; gap: 4px; }
.rb-w-016107ed { font-size: 0.5rem; color: #f97316; }
.rb-w-6860dd2d { text-align: center; padding: 8px 0; }
.rb-w-acade58f { font-size: 0.8125rem; color: var(--muted-foreground); margin-bottom: 12px; }
.rb-w-de9abecf { display: block; padding: 8px 16px; font-size: 0.8125rem; font-weight: 600; text-align: center; border-radius: 8px; background: var(--primary); color: #fff !important; text-decoration: none; margin-bottom: 8px; }
.rb-w-c92f779a { display: block; padding: 8px 16px; font-size: 0.8125rem; font-weight: 500; text-align: center; border-radius: 8px; background: transparent; border: 1px solid var(--border); color: var(--foreground); text-decoration: none; }
.rb-w-cfa00675 { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.rb-w-df89f930 { font-weight: 600; font-size: 0.875rem; color: var(--foreground); text-decoration: none; }
.rb-w-0f6a0249 { font-size: 0.75rem; color: var(--primary); text-decoration: none; display: block; }
.rb-w-7b4e5f9e { display: flex; gap: 6px; margin-bottom: 12px; }
.rb-w-afd75412 { border-top: 1px solid var(--border); padding-top: 12px; display: flex; flex-direction: column; gap: 2px; }
.rb-w-fe644bee { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 6px; font-size: 0.8125rem; line-height: 1.25; color: var(--foreground); text-decoration: none; transition: background 0.15s; width: 100%; box-sizing: border-box; }
.rb-w-9decffcc { font-size: 0.8125rem; width: 16px; text-align: center; color: var(--muted-foreground); flex-shrink: 0; }
.rb-w-68b79cfc { flex: 1; text-align: center; padding: 8px 4px; border-radius: 8px; background: var(--muted); }
.rb-w-45c8798e { font-weight: 700; font-size: 0.9375rem; color: var(--foreground); line-height: 1.2; }
.rb-w-7ef3be28 { font-size: 0.6rem; color: var(--muted-foreground); margin-top: 1px; }
.rb-w-e174c69c { display:inline-flex;align-items:center;gap:4px;color:var(--foreground); }
.rb-w-7d3b553d { opacity:.7;font-size:0.9em;width:1.1em;text-align:center;flex:0 0 auto; }
.rb-w-9a8588b4 { display:flex;flex-wrap:wrap;gap:4px 10px;font-size:0.8125rem;margin-top:8px;color:var(--muted-foreground);align-items:center; }
.rb-w-de422fee { color:var(--foreground); }
.rb-ulink { text-decoration: none; transition: opacity .12s ease; }
.rb-ulink:hover { opacity: 0.7; }
[data-rbhov="bg"]:hover { background: var(--muted); }
[data-rbhov="fg"]:hover { color: var(--primary); }
.rb-av { width: var(--av-sz); height: var(--av-sz); border-radius: var(--av-br); object-fit: cover; flex-shrink: 0; }
.rb-av-init { display: flex; align-items: center; justify-content: center; background: var(--av-bg); color: #fff; font-weight: 700; font-size: var(--av-fs); }
.rb-av-ban { display: inline-block; position: relative; }
.rb-av-ban-veil { position: absolute; inset: 0; border-radius: var(--av-br); background: rgba(0,0,0,0.45); pointer-events: none; }
.rb-av-ban-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2; color: #ef4444; filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5)); pointer-events: none; }
.rb-secondary-surface {
    background-color: var(--rb-secondary-bg, var(--background, transparent));
}
:root {
    --rb-font-size-small:   var(--rb-font-size-small,   0.875rem);
    --rb-font-size-smaller: var(--rb-font-size-smaller, 0.75rem);
    --font-weight-bold:     var(--font-weight-bold, 700);
}
.rb-text-small  { font-size: var(--rb-font-size-small); }
.rb-text-smaller { font-size: var(--rb-font-size-smaller); }
.rb-text-bold   { font-weight: var(--font-weight-bold); }
:root { --spacing: 0.25rem; }
:root { --rb-border-size-feature: var(--rb-border-size-feature, 2px); }
.rb-feature-border, .rb-card--feature, .rb-callout {
    border-width: var(--rb-border-size-feature);
    border-style: solid;
}
.rb-nav, .site-nav, nav.primary-nav {
    background: var(--rb-nav-bg, var(--rb-header-bg, transparent));
}
.rb-layout, .with-sidebar {
    --rb-sidebar-width: var(--rb-sidebar-width, 240px);
}
.rb-sidebar, aside.app-sidebar {
    width: var(--rb-sidebar-width);
    flex: 0 0 var(--rb-sidebar-width);
}
.rb-switch, .switch, [role="switch"] {
    background: var(--rb-switch-bg, var(--switch-background, var(--muted, #e2e2e2)));
}
.rb-message__signature, .post-signature {
    border-top: 1px solid var(--rb-message-signature-border, var(--border, rgba(255,255,255,0.08)));
}
.bbWrapper blockquote, .rb-quote, .bbcode-quote, .rb-message__body blockquote {
    background: var(--rb-quote-block-bg, rgba(255,255,255,0.04));
    border-left: 3px solid var(--rb-quote-block-border, var(--rb-link-color, currentColor));
}
.rb-code-block, .bbWrapper pre, .bbWrapper code,
.rb-message__body pre, .rb-message__body > code {
    background: var(--rb-code-block-bg, rgba(0,0,0,0.25));
    border: 1px solid var(--rb-code-block-border, var(--border, transparent));
}
:root {
    --ease-in:  var(--ease-in,  cubic-bezier(0.4, 0, 1, 1));
    --ease-out: var(--ease-out, cubic-bezier(0, 0, 0.2, 1));
}
.rb-widget, .widget {
    background: var(--rb-widget-card-bg, var(--rb-card-bg, transparent));
}
.rb-widget__header, .widget-header {
    background: var(--rb-widget-header-bg, transparent);
}
[data-theme="dark"] .rb-logo--dark,
html.dark .rb-logo--dark {
    content: var(--rb-logo-dark-url, none);
}
dialog:modal {
    margin: auto;
    max-height: 90vh;
    max-width: 92vw;
}
dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
}
.rb-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    animation: rb-dlg-fade-in 140ms ease-out;
}
.rb-dialog-overlay.is-open {
    display: flex;
}
@keyframes rb-dlg-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes rb-dlg-pop-in {
    from { transform: translateY(8px) scale(0.97); opacity: 0; }
    to   { transform: translateY(0) scale(1);     opacity: 1; }
}
.rb-dialog {
    background: var(--color-surface, var(--bg, #ffffff));
    color: var(--color-text, var(--text, #111827));
    border: 1px solid var(--color-border, var(--border, rgba(0,0,0,.08)));
    border-radius: 14px;
    box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.45),
                0 0 0 1px rgba(255, 255, 255, 0.03);
    width: 100%;
    max-width: 460px;
    padding: 22px 24px 18px;
    animation: rb-dlg-pop-in 160ms cubic-bezier(.2,.8,.2,1);
    outline: none;
}
[data-theme="dark"] .rb-dialog,
.rb-admin .rb-dialog {
    background: var(--color-dark-surface, #1a1f2e);
    color: var(--color-text, #e5e7eb);
    border-color: var(--color-border-dark, rgba(255,255,255,.08));
}
.rb-dialog__title {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rb-dialog__title-icon {
    flex: 0 0 auto;
    font-size: 1.15em;
}
.rb-dialog--danger .rb-dialog__title-icon { color: var(--color-danger, #ef4444); }
.rb-dialog--warning .rb-dialog__title-icon { color: var(--color-warning, #f59e0b); }
.rb-dialog--success .rb-dialog__title-icon { color: var(--color-success, #10b981); }
.rb-dialog--info .rb-dialog__title-icon { color: var(--color-info, var(--color-primary-500, #3b82f6)); }
.rb-dialog__message {
    margin: 0 0 16px;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--color-text-dim, var(--text-dim, #4b5563));
    white-space: pre-line;
    word-wrap: break-word;
}
[data-theme="dark"] .rb-dialog__message,
.rb-admin .rb-dialog__message {
    color: var(--color-text-dim, #94a3b8);
}
.rb-dialog__input {
    width: 100%;
    padding: 9px 12px;
    margin: 0 0 16px;
    border: 1px solid var(--color-border, var(--border, rgba(0,0,0,.12)));
    border-radius: 8px;
    background: var(--color-bg, var(--bg, #ffffff));
    color: var(--color-text, var(--text, #111827));
    font-size: 0.92rem;
    font-family: inherit;
    box-sizing: border-box;
    outline: none;
    transition: border-color 120ms, box-shadow 120ms;
}
[data-theme="dark"] .rb-dialog__input,
.rb-admin .rb-dialog__input {
    background: var(--color-dark-bg, #0f1419);
    border-color: var(--color-border-dark, rgba(255,255,255,.12));
    color: var(--color-text, #e5e7eb);
}
.rb-dialog__input:focus {
    border-color: var(--color-primary-500, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}
.rb-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.rb-dialog__btn {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 0.86rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background 120ms, border-color 120ms, color 120ms, transform 80ms;
    min-width: 84px;
    line-height: 1.2;
}
.rb-dialog__btn:active { transform: translateY(1px); }
.rb-dialog__btn:focus-visible { outline: 2px solid var(--color-primary-500, #3b82f6); outline-offset: 2px; }
.rb-dialog__btn--ghost {
    background: transparent;
    color: var(--color-text-dim, var(--text-dim, #6b7280));
    border-color: var(--color-border, var(--border, rgba(0,0,0,.12)));
}
.rb-dialog__btn--ghost:hover {
    background: var(--color-bg-soft, rgba(0,0,0,.04));
    color: var(--color-text, var(--text, #111827));
}
[data-theme="dark"] .rb-dialog__btn--ghost:hover,
.rb-admin .rb-dialog__btn--ghost:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--color-text, #e5e7eb);
}
.rb-dialog__btn--primary {
    background: var(--color-primary-500, #3b82f6);
    color: #fff;
    border-color: var(--color-primary-500, #3b82f6);
}
.rb-dialog__btn--primary:hover {
    background: var(--color-primary-600, #2563eb);
    border-color: var(--color-primary-600, #2563eb);
}
.rb-dialog__btn--danger {
    background: var(--color-danger, #ef4444);
    color: #fff;
    border-color: var(--color-danger, #ef4444);
}
.rb-dialog__btn--danger:hover {
    background: var(--color-danger-600, #dc2626);
    border-color: var(--color-danger-600, #dc2626);
}
.rb-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
    max-width: calc(100vw - 40px);
}
.rb-toast {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: var(--color-surface, #ffffff);
    color: var(--color-text, #111827);
    border: 1px solid var(--color-border, rgba(0,0,0,.08));
    border-left: 4px solid var(--color-primary-500, #3b82f6);
    border-radius: 10px;
    box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.35);
    padding: 11px 14px 11px 12px;
    min-width: 240px;
    max-width: 380px;
    font-size: 0.88rem;
    line-height: 1.45;
    pointer-events: auto;
    transform: translateX(120%);
    opacity: 0;
    transition: transform 200ms cubic-bezier(.2,.8,.2,1), opacity 200ms;
    word-wrap: break-word;
}
[data-theme="dark"] .rb-toast,
.rb-admin .rb-toast {
    background: var(--color-dark-surface, #1a1f2e);
    color: var(--color-text, #e5e7eb);
    border-color: var(--color-border-dark, rgba(255,255,255,.08));
}
.rb-toast.is-shown {
    transform: translateX(0);
    opacity: 1;
}
.rb-toast--success { border-left-color: var(--color-success, #10b981); }
.rb-toast--warning { border-left-color: var(--color-warning, #f59e0b); }
.rb-toast--error   { border-left-color: var(--color-danger,  #ef4444); }
.rb-toast--info    { border-left-color: var(--color-info, var(--color-primary-500, #3b82f6)); }
.rb-toast__icon {
    flex: 0 0 auto;
    margin-top: 2px;
    font-size: 1em;
}
.rb-toast--success .rb-toast__icon { color: var(--color-success, #10b981); }
.rb-toast--warning .rb-toast__icon { color: var(--color-warning, #f59e0b); }
.rb-toast--error   .rb-toast__icon { color: var(--color-danger,  #ef4444); }
.rb-toast--info    .rb-toast__icon { color: var(--color-info, var(--color-primary-500, #3b82f6)); }
.rb-toast__body { flex: 1 1 auto; }
.rb-toast__close {
    background: transparent;
    border: 0;
    color: var(--color-text-dim, #94a3b8);
    cursor: pointer;
    padding: 0 0 0 4px;
    font-size: 1em;
    line-height: 1;
    opacity: 0.7;
}
.rb-toast__close:hover { opacity: 1; }
@media (max-width: 480px) {
    .rb-dialog {
        max-width: 100%;
        padding: 18px 16px 14px;
        border-radius: 12px;
    }
    .rb-dialog__btn { flex: 1 1 0; min-width: 0; }
    .rb-toast-container { top: auto; bottom: 16px; right: 16px; left: 16px; }
    .rb-toast { max-width: none; }
}
