/*
Theme Name: Roleplaycharacters
Theme URI: https://roleplaycharacters.ai
Author: Roleplaycharacters.ai
Description: Responsive dark application theme for the Roleplaycharacters.ai MVP.
Version: 0.34.1
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: roleplaycharacters
*/

:root {
    color-scheme: dark;
    --rpc-bg: #070809;
    --rpc-sidebar: #101113;
    --rpc-surface: #141517;
    --rpc-surface-2: #1a1b1e;
    --rpc-surface-3: #202125;
    --rpc-ink: #f7f7f8;
    --rpc-muted: #a7a8b0;
    --rpc-subtle: #686a74;
    --rpc-border: #2b2d32;
    --rpc-border-soft: #202226;
    --rpc-accent: #6ee981;
    --rpc-accent-2: #35bd5d;
    --rpc-accent-soft: rgba(110, 233, 129, .14);
    /* Shared standard-field contract for inputs, selects, and textareas. */
    --rpc-field-bg: #0d0e10;
    --rpc-field-border: #328b4b;
    --rpc-field-radius: 9px;
    --rpc-field-focus: 0 0 0 3px var(--rpc-accent-soft);
    --rpc-compact-font-size: .65rem;
    --rpc-inline-control-gap: 6px;
    --rpc-form-section-gap: 12px;
    --rpc-section-gap: 14px;
    --rpc-button-start: #237a3c;
    --rpc-button-end: #155d2d;
    --rpc-green: #6ee981;
    --rpc-brand-fill: #18321f;
    --rpc-brand-border: #6ee981;
    --rpc-private: #f07d89;
    --rpc-private-soft: rgba(240, 85, 104, .13);
    --rpc-control-radius: 7px;
    --rpc-label-radius: 5px;
    --rpc-sidebar-width: 252px;
    --rpc-radius: 18px;
    --rpc-shadow: 0 22px 70px rgba(0, 0, 0, .34);
    --rpc-font: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* Application workspaces */
.rpc-wide-page { max-width: 1480px; }
.rpc-nav-count { background: #203a25; border: 1px solid #31583a; border-radius: var(--rpc-label-radius); color: var(--rpc-accent); font-size: .62rem; line-height: 1; margin-left: auto; padding: 3px 6px; }
.rpc-notification-quick { position: relative; }
.rpc-notification-quick summary { align-items: center; background: #151719; border: 1px solid #2d3034; border-radius: var(--rpc-control-radius); color: #dfe1e3; cursor: pointer; display: flex; font-size: .68rem; gap: 6px; list-style: none; min-height: 34px; padding: 7px 10px; }
.rpc-notification-quick summary::-webkit-details-marker { display: none; }
.rpc-notification-quick summary > span { color: var(--rpc-accent); font-size: .55rem; }
.rpc-notification-quick summary > b { font-size: .67rem; }
.rpc-notification-quick__panel { background: #161719; border: 1px solid #34373c; border-radius: 14px; box-shadow: 0 20px 55px rgba(0,0,0,.45); min-width: 270px; padding: 15px; position: absolute; right: 0; top: calc(100% + 9px); z-index: 100; }
.rpc-notification-quick__panel strong { font-size: .78rem; }
.rpc-notification-quick__panel p { color: var(--rpc-muted); font-size: .72rem; }
.rpc-notification-quick__panel a { font-size: .72rem; font-weight: 750; }
.rpc-notification-quick__list { display: grid; gap: 6px; list-style: none; margin: 10px 0; padding: 0; }
.rpc-notification-quick__list a { background: #101213; border: 1px solid #2d3034; border-radius: var(--rpc-control-radius); display: grid; gap: 2px; padding: 8px; text-decoration: none; }
.rpc-notification-quick__list small { color: var(--rpc-muted); font-weight: 500; }
.rpc-tabs { align-items: center; display: flex; gap: 5px; margin: 0 0 20px; overflow-x: auto; padding: 3px 0 8px; scrollbar-width: thin; }
.rpc-tabs a { background: #141518; border: 1px solid #292b30; border-radius: var(--rpc-control-radius); color: #aaacb4; flex: 0 0 auto; font-size: .75rem; font-weight: 750; padding: 8px 13px; text-decoration: none; }
.rpc-tabs a:hover { border-color: #3b3e44; color: #fff; }
.rpc-tabs a.is-active { background: #18321f; border-color: #3c8e4d; color: #eaffed; }
.rpc-tabs a.rpc-tab--private { background: #241418; border-color: #5d2a34; color: #f4a0a9; }
.rpc-tabs a.rpc-tab--private:hover { background: #30171d; border-color: #8a3948; color: #ffd9dd; }
.rpc-tabs a.rpc-tab--private.is-active { background: #421b23; border-color: #c34e61; box-shadow: 0 0 0 1px rgba(240, 85, 104, .16); color: #fff1f2; }
.rpc-stat-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 18px; }
.rpc-stat-grid--collection { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rpc-stat { background: linear-gradient(145deg, #191b1e, #121315); border: 1px solid var(--rpc-border); border-radius: 15px; min-width: 0; padding: 17px 18px; }
.rpc-stat span { color: var(--rpc-muted); display: block; font-size: .7rem; font-weight: 650; margin-bottom: 5px; }
.rpc-stat strong { display: block; font-size: 1.25rem; letter-spacing: -.03em; overflow: hidden; text-overflow: ellipsis; }
.rpc-toolbar { align-items: end; background: #131416; border: 1px solid var(--rpc-border); border-radius: 16px; display: grid; gap: 10px; grid-template-columns: minmax(170px, 1.4fr) repeat(3, minmax(125px, .75fr)) auto; margin: 0 0 16px; padding: 14px; }
.rpc-toolbar--fertility { grid-template-columns: minmax(170px, 1.4fr) repeat(5, minmax(120px, .75fr)) auto; }
.rpc-toolbar label, .rpc-form label { display: grid; gap: 6px; }
.rpc-form [data-rpc-beneficiary-detail][hidden] { display: none; }
.rpc-toolbar label > span, .rpc-form label > span { color: #bfc0c6; font-size: .68rem; font-weight: 750; }
.rpc-toolbar input, .rpc-toolbar select, .rpc-form input:not([type="checkbox"]):not([type="radio"]), .rpc-form select, .rpc-form textarea { background: #0d0e10; border: 1px solid #34363c; border-radius: 9px; color: #fff; min-height: 42px; padding: 8px 10px; width: 100%; }
.rpc-toolbar input:focus, .rpc-toolbar select:focus, .rpc-form input:focus, .rpc-form select:focus, .rpc-form textarea:focus { border-color: var(--rpc-accent-2); box-shadow: 0 0 0 3px var(--rpc-accent-soft); outline: none; }
.rpc-catalog-browser { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(215px, 245px) minmax(0, 1fr); }
.rpc-catalog-filter-drawer { min-width: 0; }
.rpc-catalog-filter-drawer > summary { display: none; }
.rpc-catalog-filter-drawer > .rpc-catalog-filter-panel { display: block; }
.rpc-catalog-filter-panel { background: #121315; border: 1px solid var(--rpc-border); border-radius: 16px; max-height: calc(100vh - 100px); overflow-y: auto; padding: 16px; position: sticky; scrollbar-color: #44474d transparent; scrollbar-width: thin; top: 88px; }
.rpc-catalog-filter-heading { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.rpc-catalog-filter-heading .rpc-eyebrow { font-size: .58rem; margin: 0 0 4px; }
.rpc-catalog-filter-heading h2 { font-size: 1.05rem; margin: 0; }
.rpc-catalog-filter-heading > a { color: var(--rpc-muted); font-size: .67rem; font-weight: 750; text-decoration: none; }
.rpc-catalog-filter-heading > a:hover { color: #fff; }
.rpc-catalog-filter-heading > a.rpc-catalog-clear-button { border-radius: var(--rpc-label-radius); font-size: .62rem; line-height: 1.2; min-height: 28px; padding: 5px 8px; text-align: center; }
.rpc-catalog-filter-group { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 10px; margin-top: 14px; padding-top: 13px; }
.rpc-catalog-filter-group h3 { color: #777a83; font-size: .62rem; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.rpc-catalog-select, .rpc-catalog-search { display: grid; gap: 6px; min-width: 0; }
.rpc-catalog-select > span, .rpc-catalog-search > span { color: #bfc0c6; font-size: .67rem; font-weight: 750; }
.rpc-catalog-select select, .rpc-catalog-search input { background: #0d0e10; border: 1px solid #34363c; border-radius: 9px; color: #fff; min-height: 42px; padding: 8px 10px; width: 100%; }
.rpc-catalog-select select:focus, .rpc-catalog-search input:focus { border-color: var(--rpc-accent-2); box-shadow: 0 0 0 3px var(--rpc-accent-soft); outline: none; }
.rpc-catalog-checkbox { align-items: flex-start; color: #e8e9eb; cursor: pointer; display: flex; font-size: .72rem; font-weight: 750; gap: 8px; line-height: 1.35; }
.rpc-catalog-checkbox input { accent-color: var(--rpc-accent-2); flex: 0 0 auto; height: 16px; margin: 1px 0 0; width: 16px; }
.rpc-catalog-filter-note { color: var(--rpc-subtle); display: block; font-size: .63rem; line-height: 1.45; }
.rpc-catalog-filter-panel > .rpc-button { margin-top: 16px; width: 100%; }
.rpc-catalog-results { min-width: 0; }
.rpc-catalog-results-toolbar { align-items: end; background: #131416; border: 1px solid var(--rpc-border); border-radius: 16px; display: grid; gap: 10px; grid-template-columns: minmax(190px, 1fr) minmax(190px, .55fr) auto auto; padding: 14px; }
.rpc-catalog-view-toggle { align-items: center; background: #0d0e10; border: 1px solid #34363c; border-radius: 9px; display: inline-flex; gap: 4px; min-height: 42px; padding: 4px; }
.rpc-catalog-view-toggle button { appearance: none; background: transparent; border: 1px solid transparent; border-radius: 6px; color: #aeb0b6; cursor: pointer; font: inherit; font-size: .66rem; font-weight: 750; padding: 6px 8px; text-decoration: none; white-space: nowrap; }
.rpc-catalog-view-toggle button:hover { color: #fff; }
.rpc-catalog-view-toggle button:focus-visible { box-shadow: 0 0 0 2px var(--rpc-accent-soft); outline: 1px solid var(--rpc-accent-2); }
.rpc-catalog-view-toggle button.is-active { background: #18321f; border-color: #3c8e4d; color: #eaffed; }
.rpc-catalog-results-summary { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; margin: 13px 0 16px; min-height: 30px; }
.rpc-catalog-results-summary > div:first-child { display: grid; flex: 0 0 auto; gap: 2px; }
.rpc-catalog-results-summary strong { color: #f0f1f2; font-size: .76rem; }
.rpc-catalog-results-summary span { color: var(--rpc-muted); font-size: .65rem; }
.rpc-active-filter-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.rpc-active-filter-chips a { align-items: center; background: #18221b; border: 1px solid #31553a; border-radius: var(--rpc-label-radius); color: #ccefd2; display: inline-flex; font-size: .65rem; font-weight: 700; gap: 7px; padding: 5px 7px; text-decoration: none; }
.rpc-active-filter-chips a:hover { background: #203025; border-color: #4c8a59; color: #fff; }
.rpc-active-filter-chips a span { color: #8dec9d; font-size: .8rem; line-height: 1; }
.rpc-active-filter-chips a.rpc-active-filter-chips__clear { background: transparent; border-color: #383a40; color: var(--rpc-muted); }
.rpc-catalog-no-filters { color: var(--rpc-subtle); font-size: .68rem; margin: 5px 0 0; }
.rpc-catalog-pagination { align-items: center; display: flex; gap: 12px; justify-content: center; margin-top: 20px; }
.rpc-catalog-pagination span { color: var(--rpc-muted); font-size: .7rem; }
.rpc-character-table-wrap { background: var(--rpc-surface); }
.rpc-character-table { min-width: 830px; }
.rpc-character-table th:first-child, .rpc-character-table td:first-child { white-space: nowrap; width: 92px; }
.rpc-character-table th:nth-child(2), .rpc-character-table td:nth-child(2) { min-width: 150px; }
.rpc-character-table a { color: #9af0a7; font-weight: 700; text-decoration: none; }
.rpc-character-table a:hover { color: #fff; text-decoration: underline; }
.rpc-character-table__name { color: #f2f3f4 !important; }
.rpc-character-table__wrapped td { background: rgba(69, 61, 27, .12); }
.rpc-filter-chips { display: flex; gap: 6px; margin: 0 0 12px; overflow-x: auto; padding-bottom: 4px; }
.rpc-filter-chips button { background: #141518; border: 1px solid #2a2c31; border-radius: var(--rpc-control-radius); color: #aaaeb5; flex: 0 0 auto; font-size: .7rem; font-weight: 700; padding: 7px 11px; }
.rpc-filter-chips button.is-active { background: var(--rpc-accent-soft); border-color: #3a884a; color: #eaffed; }
.rpc-filter-chips button.rpc-private-link { background: #241418; border-color: #5d2a34; color: #f4a0a9; }
.rpc-filter-chips button.rpc-private-link:hover { background: #30171d; border-color: #8a3948; color: #ffd9dd; }
.rpc-empty-state > .rpc-empty-state__icon { align-items: center; background: #1d2920; border: 1px solid #33483a; border-radius: 16px; color: #73e987; display: flex; font-size: 1.5rem; height: 58px; justify-content: center; margin-bottom: 18px; width: 58px; }
.rpc-empty-state:has(.rpc-empty-state__icon)::before { display: none; }
.rpc-two-column { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-account-security { margin-bottom: var(--rpc-section-gap); }
.rpc-account-security .rpc-form { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; }
.rpc-account-security .rpc-form .rpc-button { justify-self: start; }
.rpc-account-security .rpc-form small { color: var(--rpc-subtle); font-size: .68rem; line-height: 1.45; }
.rpc-account-deletion { margin-bottom: var(--rpc-section-gap); }
.rpc-account-deletion > .rpc-form { display: grid; gap: 12px; margin-top: 16px; max-width: 680px; }
.rpc-account-deletion > form:not(.rpc-form) { margin-top: 14px; }
.rpc-api-key-form { margin-top: 18px; }
.rpc-panel { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; min-width: 0; padding: clamp(18px, 3vw, 28px); }
.rpc-panel h2 { font-size: 1.25rem; margin-top: 0; }
.rpc-panel p { color: var(--rpc-muted); font-size: .82rem; }
.rpc-panel-heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin: 0 0 14px; }
.rpc-panel-heading h2, .rpc-panel-heading p { margin: 0; }
.rpc-panel-heading p { color: var(--rpc-muted); font-size: .75rem; margin-top: 4px; }
.rpc-detail-layout { display: grid; gap: 18px; grid-template-columns: minmax(230px, .28fr) minmax(0, 1fr); }
.rpc-character-sidebar { align-self: start; display: grid; gap: 14px; position: sticky; top: 90px; }
.rpc-character-summary { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; padding: 16px; }
.rpc-character-summary h2 { font-size: 1.2rem; margin: 12px 0 7px; }
.rpc-character-summary p { color: var(--rpc-muted); font-size: .76rem; }
.rpc-character-placeholder { align-items: center; aspect-ratio: 4 / 5; background: radial-gradient(circle at 50% 28%, #3c6047, #1a2c20 40%, #0d100e 76%); border: 1px solid #35503d; border-radius: 14px; display: flex; justify-content: center; overflow: hidden; }
.rpc-character-placeholder span { color: rgba(255,255,255,.18); font-size: 2rem; font-weight: 900; letter-spacing: .08em; }
.rpc-character-placeholder--male { background: radial-gradient(circle at 50% 28%, #33546f, #182c3b 43%, #0d1013 78%); }
.rpc-character-placeholder--female { background: radial-gradient(circle at 50% 28%, #71475f, #382230 43%, #110e11 78%); }
.rpc-character-profile-image { aspect-ratio: 4 / 5; border: 1px solid #35503d; border-radius: 14px; display: block; object-fit: cover; width: 100%; }
.rpc-character-image--deceased { filter: grayscale(1); }
.rpc-card-statuses { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.rpc-status-badge { background: #1b2d20; border: 1px solid #31553a; border-radius: var(--rpc-label-radius); color: #8dec9d; display: inline-flex; font-size: .65rem; font-weight: 750; line-height: 1.2; padding: 5px 8px; text-transform: capitalize; }
.rpc-status-badge--warning { background: #322a16; border-color: #6e5924; color: #f0d276; }
.rpc-status-badge--danger { background: #35191d; border-color: #71353e; color: #ff9fa8; }
.rpc-status-badge--neutral { background: #232428; border-color: #3b3d43; color: #c6c8cf; }
.rpc-status-badge--pregnant { background: #321f2b; border-color: #76465f; color: #ffb5d6; }
.rpc-rarity-badge { text-transform: none; }
.rpc-rarity-badge--common { background: #252a32; border-color: #4b5563; color: #e2e8f0; }
.rpc-rarity-badge--uncommon { background: #102d3d; border-color: #2f7ea5; color: #9bdcff; }
.rpc-rarity-badge--rare { background: #2b1e47; border-color: #7654b8; color: #d6c2ff; }
.rpc-rarity-badge--very-rare { background: #3a2712; border-color: #a66a1f; color: #ffd38d; }
.rpc-rarity-badge--exceptional { background: #1b2d20; border-color: #31553a; color: #8dec9d; }
.rpc-rarity-score { color: var(--rpc-muted); font-size: .72rem; margin-left: 4px; }
.rpc-provenance-badge--test-fixture { background: #3a2712; border-color: #a66a1f; color: #ffd38d; }
.rpc-provenance-badge--staging-algorithm { background: #102d3d; border-color: #2f7ea5; color: #9bdcff; }
.rpc-provenance-badge--genuine { background: #1b2d20; border-color: #31553a; color: #8dec9d; }
.rpc-provenance-badge--unknown { background: #322a16; border-color: #6e5924; color: #f0d276; }
.rpc-provenance-description { border-top: 1px solid var(--rpc-border-soft); color: var(--rpc-muted); font-size: .7rem !important; margin: 15px 0 0; padding-top: 13px; }
.rpc-provenance-description strong { color: #d8d9dc; }
.rpc-rarity-explanation { background: #111214; border: 1px solid var(--rpc-border-soft); border-radius: 8px; margin-top: 17px; padding: 15px; }
.rpc-rarity-explanation--testing { background: #211b10; border-color: #58451f; }
.rpc-rarity-explanation h3 { font-size: .86rem; margin: 0 0 6px; }
.rpc-rarity-explanation p { font-size: .7rem; margin: 0 0 11px; }
.rpc-rarity-factor-list { display: grid; gap: 7px; list-style-position: inside; margin: 10px 0; padding: 0; }
.rpc-rarity-factor-list li { background: #18191c; border: 1px solid #292b30; border-radius: var(--rpc-label-radius); color: #dfe0e3; font-size: .7rem; padding: 8px 9px; }
.rpc-rarity-factor-list strong, .rpc-rarity-factor-list span { display: block; }
.rpc-rarity-factor-list span { color: var(--rpc-muted); font-size: .65rem; margin: 3px 0 0 18px; }
.rpc-rarity-explanation details { margin-top: 12px; }
.rpc-rarity-explanation summary { border: 1px solid #35383e; border-radius: var(--rpc-control-radius); color: #dfe0e3; cursor: pointer; font-size: .7rem; font-weight: 750; padding: 7px 9px; }
.rpc-character-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rpc-character-card { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 17px; color: inherit; cursor: pointer; display: block; min-width: 0; overflow: hidden; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.rpc-character-card:hover { border-color: #3d7549; box-shadow: 0 10px 26px rgba(0, 0, 0, .24); transform: translateY(-2px); }
.rpc-character-card:focus-visible { border-color: var(--rpc-accent-2); box-shadow: 0 0 0 3px var(--rpc-accent-soft), 0 10px 26px rgba(0, 0, 0, .24); outline: none; transform: translateY(-2px); }
.rpc-character-card__image { align-items: center; aspect-ratio: 4 / 5; border-bottom: 1px solid var(--rpc-border); display: flex; justify-content: center; text-decoration: none; }
.rpc-character-card__image > span { color: rgba(255,255,255,.16); font-size: 1.5rem; font-weight: 900; letter-spacing: .08em; }
.rpc-character-card__image > img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.rpc-character-card:hover .rpc-character-card__image > img { transform: scale(1.025); }
.rpc-character-card__body { padding: 14px; }
.rpc-character-card__meta { align-items: center; color: var(--rpc-subtle); display: flex; font-size: .66rem; gap: 8px; justify-content: space-between; }
.rpc-character-card__badges, .rpc-character-table__status { align-items: center; display: inline-flex; flex-wrap: wrap; gap: 6px; }
.rpc-character-card h2 { font-size: 1rem; margin: 9px 0 4px; }
.rpc-character-card h2 a { color: #fff; text-decoration: none; }
.rpc-character-card p { color: var(--rpc-muted); font-size: .7rem; margin: 0 0 12px; }
.rpc-marketplace-card-price { align-items: center; background: #101612; border: 1px solid #294332; border-radius: var(--rpc-label-radius); display: flex; gap: 8px; justify-content: space-between; margin: 0 0 12px; padding: 8px 9px; }
.rpc-marketplace-card-price span { color: var(--rpc-muted); font-size: .65rem; }
.rpc-marketplace-card-price strong { color: var(--rpc-accent); font-size: .72rem; }
.rpc-life-progress { border-top: 1px solid var(--rpc-border-soft); margin-top: 18px; padding-top: 14px; }
.rpc-life-progress > div:first-child { align-items: center; color: var(--rpc-muted); display: flex; font-size: .7rem; justify-content: space-between; margin-bottom: 7px; }
.rpc-life-progress strong { color: #fff; }
.rpc-life-bar { background: #292b2f; border-radius: 999px; height: 8px; overflow: hidden; }
.rpc-life-bar span { background: linear-gradient(90deg, var(--rpc-accent-2), var(--rpc-accent)); border-radius: inherit; display: block; height: 100%; }
.rpc-desirability-panel { grid-column: 1 / -1; }
.rpc-life-progress--desirability .rpc-life-bar { height: 11px; }
.rpc-desirability-factors { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; padding-top: 16px; }
.rpc-desirability-factors h3 { font-size: .86rem; margin: 0 0 9px; }
.rpc-desirability-factor-list { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
.rpc-desirability-factor-list li { align-items: center; background: #111214; border: 1px solid var(--rpc-border-soft); border-radius: var(--rpc-label-radius); display: flex; gap: 12px; justify-content: space-between; padding: 9px 10px; }
.rpc-desirability-factor-list li > span { display: grid; gap: 2px; min-width: 0; }
.rpc-desirability-factor-list strong { color: #eceef0; font-size: .72rem; }
.rpc-desirability-factor-list small { color: var(--rpc-muted); font-size: .65rem; overflow-wrap: anywhere; }
.rpc-desirability-factor-list b { color: var(--rpc-accent); flex: 0 0 auto; font-size: .7rem; }
.rpc-award-prestige { border-top: 1px solid var(--rpc-border-soft); margin-top: 18px; padding-top: 16px; }
.rpc-award-prestige h3 { font-size: .86rem; margin: 0 0 9px; }
.rpc-award-prestige ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.rpc-award-prestige li { align-items: center; background: #111613; border: 1px solid #294331; border-radius: var(--rpc-label-radius); color: #d9efdd; display: flex; font-size: .7rem; gap: 12px; justify-content: space-between; padding: 8px 10px; }
.rpc-award-prestige strong { color: var(--rpc-accent); }
.rpc-awards-panel { overflow: hidden; }
.rpc-award-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; }
.rpc-award-card { background: #111214; background: color-mix(in srgb, var(--rpc-award-color) 8%, #111214); border: 1px solid color-mix(in srgb, var(--rpc-award-color) 55%, #292b30); border-radius: var(--rpc-control-radius); display: grid; gap: 14px; grid-template-columns: minmax(145px, .7fr) minmax(0, 1fr); min-width: 0; padding: 16px; }
.rpc-award-card__badge { align-items: center; align-self: start; background: #151719; background: color-mix(in srgb, var(--rpc-award-color) 13%, #151719); border: 1px solid color-mix(in srgb, var(--rpc-award-color) 58%, #2d3034); border-radius: var(--rpc-label-radius); color: var(--rpc-award-color); display: inline-flex; font-size: .78rem; font-weight: 850; gap: 8px; line-height: 1.25; max-width: 100%; padding: 8px 10px; }
.rpc-award-icon { flex: 0 0 18px; height: 18px; width: 18px; }
.rpc-award-card > p { color: #d0d2d5; font-size: .74rem; line-height: 1.55; margin: 0; }
.rpc-award-card dl { border-top: 1px solid color-mix(in srgb, var(--rpc-award-color) 22%, #282a2e); display: grid; gap: 7px; grid-column: 1 / -1; margin: 0; padding-top: 12px; }
.rpc-award-card dl > div { display: grid; gap: 10px; grid-template-columns: minmax(90px, .35fr) minmax(0, 1fr); }
.rpc-award-card dt { color: var(--rpc-muted); font-size: .65rem; font-weight: 700; }
.rpc-award-card dd { color: #eef0f1; font-size: .68rem; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.rpc-award-card code { color: var(--rpc-award-color); font-size: .63rem; }
.rpc-award-summary { border-top: 1px solid var(--rpc-border-soft); margin-top: 18px; padding-top: 15px; }
.rpc-award-summary__heading { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 10px; }
.rpc-award-summary__heading h3 { font-size: .86rem; margin: 0; }
.rpc-award-summary__heading > a { color: var(--rpc-accent); font-size: .65rem; font-weight: 750; text-decoration: none; }
.rpc-award-summary__heading > a:hover { text-decoration: underline; }
.rpc-award-summary__list { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.rpc-award-summary__badge { align-items: center; background: #111613; background: color-mix(in srgb, var(--rpc-award-color) 12%, #111613); border: 1px solid color-mix(in srgb, var(--rpc-award-color) 52%, #294331); border-radius: var(--rpc-label-radius); color: var(--rpc-award-color); display: inline-flex; font-size: .7rem; font-weight: 850; gap: 7px; line-height: 1.25; min-height: 38px; padding: 8px 10px; text-decoration: none; }
.rpc-award-summary__badge:hover { background: color-mix(in srgb, var(--rpc-award-color) 18%, #111613); border-color: var(--rpc-award-color); }
.rpc-award-summary__badge .rpc-award-icon { height: 16px; width: 16px; }
.rpc-award-summary__more { color: var(--rpc-muted); font-size: .66rem; font-weight: 750; padding: 6px 2px; text-decoration: none; }
.rpc-award-summary__more:hover { color: var(--rpc-ink); text-decoration: underline; }
.rpc-award-summary__empty { background: #191a1d; border: 1px solid #303238; border-radius: var(--rpc-label-radius); color: #9698a0; font-size: .7rem; line-height: 1.35; padding: 10px 11px; }
.rpc-profile-actions { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; padding: 16px; }
.rpc-profile-actions h2 { font-size: 1rem; margin: 0 0 12px; }
.rpc-profile-actions__buttons { display: grid; gap: 8px; }
.rpc-profile-actions__buttons .rpc-button { justify-content: center; width: 100%; }
.rpc-button:disabled { cursor: not-allowed; filter: grayscale(.2); opacity: .55; }
.rpc-action-empty, .rpc-action-note { color: var(--rpc-muted); font-size: .68rem; line-height: 1.5; margin: 0; }
.rpc-action-note { border-top: 1px solid var(--rpc-border-soft); margin-top: 12px; padding-top: 11px; }
.rpc-action-dialog { background: transparent; border: 0; color: var(--rpc-ink); inset: 0; margin: auto; max-height: min(88dvh, 760px); max-width: min(92vw, 600px); overflow: visible; padding: 0; position: fixed; width: 100%; }
.rpc-action-dialog::backdrop { backdrop-filter: blur(5px); background: rgba(2, 3, 4, .76); }
.rpc-action-dialog[open] { animation: rpc-dialog-enter .18s ease-out; }
.rpc-action-dialog__surface { background: #151719; border: 1px solid #34373c; border-radius: 16px; box-shadow: 0 28px 90px rgba(0, 0, 0, .72); max-height: min(88dvh, 760px); overflow: auto; position: relative; }
.rpc-action-dialog--danger .rpc-action-dialog__surface { border-color: #63373a; }
.rpc-action-dialog--success .rpc-action-dialog__surface { border-color: #315d3c; }
.rpc-action-dialog--warning .rpc-action-dialog__surface { border-color: #665527; }
.rpc-action-dialog--error .rpc-action-dialog__surface { border-color: #703b40; }
.rpc-action-dialog__close { align-items: center; background: #232529; border: 1px solid #3b3e44; border-radius: var(--rpc-control-radius); color: #d7d9dc; cursor: pointer; display: inline-flex; font-size: 1.25rem; height: 36px; justify-content: center; line-height: 1; position: absolute; right: 18px; top: 18px; width: 36px; z-index: 2; }
.rpc-action-dialog__close:hover { background: #2d3034; color: #fff; }
.rpc-action-dialog__header { border-bottom: 1px solid var(--rpc-border-soft); padding: 24px 72px 20px 24px; }
.rpc-action-dialog__header .rpc-eyebrow { margin: 0 0 8px; }
.rpc-action-dialog__header h2 { font-size: 1.45rem; letter-spacing: -.025em; line-height: 1.2; margin: 0; }
.rpc-action-dialog__body { display: grid; gap: 18px; padding: 22px 24px 24px; }
.rpc-action-dialog__intro { color: #c5c8cc; font-size: .83rem; line-height: 1.6; margin: 0; }
.rpc-action-dialog__facts { background: #0e1011; border: 1px solid #292c30; border-radius: 9px; display: grid; margin: 0; overflow: hidden; }
.rpc-action-dialog__facts > div { align-items: center; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) auto; padding: 11px 13px; }
.rpc-action-dialog__facts > div + div { border-top: 1px solid #25282b; }
.rpc-action-dialog__facts dt { color: var(--rpc-muted); font-size: .74rem; font-weight: 700; }
.rpc-action-dialog__facts dd { color: #fff; font-size: .78rem; font-weight: 850; margin: 0; }
.rpc-action-dialog__shortfall { background: #231f12; border: 1px solid #625425; border-radius: 9px; color: #f1dda7; padding: 14px 15px; }
.rpc-action-dialog__shortfall--danger { background: #281617; border-color: #69383c; color: #ffd0d3; }
.rpc-action-dialog__shortfall strong { display: block; font-size: .8rem; }
.rpc-action-dialog__shortfall p { color: inherit; font-size: .75rem; line-height: 1.55; margin: 5px 0 0; }
.rpc-action-dialog__form { display: grid; gap: 18px; }
.rpc-action-dialog__form .rpc-checkbox { align-items: flex-start; background: #101612; border: 1px solid #294332; border-radius: 9px; padding: 13px; }
.rpc-action-dialog--danger .rpc-action-dialog__form .rpc-checkbox { background: #1d1213; border-color: #563033; }
.rpc-action-dialog__form .rpc-checkbox > span { font-size: .75rem !important; line-height: 1.5; }
.rpc-listing-chooser { border: 0; display: grid; gap: 10px; margin: 0; min-width: 0; padding: 0; }
.rpc-listing-chooser legend { color: #f1f2f3; font-size: .78rem; font-weight: 800; margin-bottom: 10px; padding: 0; }
.rpc-mating-choice-panel { display: grid; gap: 14px; }
.rpc-mating-choice-panel[hidden] { display: none; }
.rpc-mating-choice-panel > fieldset, .rpc-mating-choice-panel > form > fieldset { border: 0; display: grid; gap: 14px; margin: 0; min-width: 0; padding: 0; }
.rpc-mating-remove-form { border-top: 1px solid var(--rpc-border-soft); margin-top: 4px; padding-top: 15px; }
.rpc-listing-choices { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-listing-choice { align-items: flex-start; background: #101214; border: 1px solid #32353a; border-radius: var(--rpc-control-radius); cursor: pointer; display: grid !important; gap: 11px; grid-template-columns: 18px minmax(0, 1fr); min-height: 112px; min-width: 0; padding: 14px !important; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.rpc-listing-choice:hover { background: #131a15; border-color: #45604b; }
.rpc-listing-choice:has(input:checked) { background: #111d14; border-color: var(--rpc-accent-2); box-shadow: inset 0 0 0 1px rgba(110, 233, 129, .16); }
.rpc-listing-choice input[type="radio"] { accent-color: var(--rpc-accent-2); appearance: auto; border: 0; border-radius: 50%; box-shadow: none; height: 17px; justify-self: start; margin: 2px 0 0 !important; min-height: 17px; padding: 0; width: 17px; }
.rpc-listing-choice input[type="radio"]:focus-visible { box-shadow: 0 0 0 3px var(--rpc-accent-soft); outline: 1px solid var(--rpc-accent-2); outline-offset: 2px; }
.rpc-listing-choice__copy { display: grid; gap: 5px; min-width: 0; width: 100%; }
.rpc-listing-choice__copy strong { color: #f5f6f6; font-size: .78rem; }
.rpc-listing-choice__copy small { color: #aeb2b6; font-size: .69rem; line-height: 1.5; }
.rpc-listing-price-panel { display: grid; gap: 14px; }
.rpc-listing-price-panel[hidden] { display: none; }
.rpc-action-dialog__footer { align-items: center; display: flex; gap: 10px; justify-content: flex-end; }
.rpc-action-dialog__footer .rpc-button { min-width: 150px; }
.rpc-action-dialog__processing { align-items: center; background: rgba(15, 17, 18, .985); display: flex; flex-direction: column; inset: 0; justify-content: center; min-height: 290px; padding: 36px; position: absolute; text-align: center; z-index: 6; }
.rpc-action-dialog__processing[hidden] { display: none; }
.rpc-action-dialog__processing strong { color: #fff; font-size: 1rem; margin-top: 18px; }
.rpc-action-dialog__processing p { color: var(--rpc-muted); font-size: .76rem; line-height: 1.55; margin: 7px 0 0; max-width: 330px; }
.rpc-action-dialog__spinner { animation: rpc-action-spin .8s linear infinite; border: 4px solid #29342d; border-radius: 50%; border-top-color: var(--rpc-accent); box-shadow: 0 0 24px rgba(110, 233, 129, .12); display: block; height: 48px; width: 48px; }
.rpc-action-dialog.is-processing .rpc-action-dialog__surface { cursor: progress; min-height: 290px; overflow: hidden; }
.rpc-action-result { align-items: center; display: grid; gap: 12px; justify-items: center; padding: 4px 0; text-align: center; }
.rpc-action-result__icon { align-items: center; background: #1b2b20; border: 1px solid #31583a; border-radius: var(--rpc-control-radius); color: var(--rpc-accent); display: inline-flex; font-size: 1.45rem; height: 54px; justify-content: center; width: 54px; }
.rpc-action-dialog--warning .rpc-action-result__icon { background: #2a2415; border-color: #665527; color: #f1d77f; }
.rpc-action-dialog--error .rpc-action-result__icon { background: #2a1719; border-color: #703b40; color: #ffadb5; }
.rpc-action-result p { color: #c7cace; font-size: .82rem; line-height: 1.6; margin: 0; max-width: 470px; }
body.rpc-action-dialog-open { overflow: hidden; }
@keyframes rpc-dialog-enter { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes rpc-action-spin { to { transform: rotate(360deg); } }
.rpc-technical-details { border-top: 1px solid var(--rpc-border-soft); margin-top: 16px; padding-top: 13px; }
.rpc-technical-details summary { color: #c9cbd0; cursor: pointer; font-size: .72rem; font-weight: 750; margin-bottom: 12px; }
.rpc-family-offspring { border-top: 1px solid var(--rpc-border-soft); margin-top: 18px; padding-top: 15px; }
.rpc-family-offspring h3 { font-size: .9rem; margin: 0 0 10px; }
.rpc-muted-copy { color: var(--rpc-muted); font-size: .75rem; }
.rpc-related-characters { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
.rpc-related-characters li { align-items: center; background: #111214; border: 1px solid var(--rpc-border-soft); border-radius: var(--rpc-label-radius); display: flex; gap: 12px; justify-content: space-between; padding: 9px 10px; }
.rpc-related-characters a { color: #eef0f2; font-size: .75rem; font-weight: 750; }
.rpc-related-characters span { color: var(--rpc-muted); font-size: .67rem; }
.rpc-related-character__identity { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.rpc-related-characters .rpc-related-character__relationship { color: #dfe3e0; font-size: .72rem; font-weight: 750; }
.rpc-related-character__meta { flex: 0 0 auto; text-align: right; }
.rpc-notification-center, .rpc-split-workspace { background: #111214; border: 1px solid var(--rpc-border); border-radius: 19px; display: grid; grid-template-columns: minmax(270px, 38%) minmax(0, 1fr); min-height: 560px; overflow: hidden; }
.rpc-notification-list, .rpc-conversation-list { border-right: 1px solid var(--rpc-border); min-width: 0; padding: 16px; }
.rpc-notification-detail, .rpc-conversation-detail { min-width: 0; padding: 16px; }
.rpc-notification-detail { align-content: start; display: grid; gap: 12px; }
.rpc-notification-detail .rpc-empty-state, .rpc-conversation-detail .rpc-empty-state { min-height: 400px; }
.rpc-list-empty { align-items: center; color: var(--rpc-subtle); display: flex; flex-direction: column; font-size: .78rem; justify-content: center; min-height: 300px; text-align: center; }
.rpc-marketplace-notifications { display: grid; gap: 7px; }
.rpc-marketplace-notification { align-items: center; background: #17191b; border: 1px solid transparent; border-radius: var(--rpc-control-radius); color: #f1f2f3; display: flex; gap: 10px; justify-content: space-between; padding: 10px 11px; text-decoration: none; }
.rpc-marketplace-notification:hover, .rpc-marketplace-notification.is-active { background: #152019; border-color: #356143; }
.rpc-marketplace-notification > span { display: grid; gap: 3px; min-width: 0; }
.rpc-marketplace-notification strong { font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-marketplace-notification small { color: var(--rpc-muted); font-size: .64rem; }
.rpc-marketplace-notification b { color: var(--rpc-accent); flex: 0 0 auto; font-size: .64rem; }
.rpc-notification-filters { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.25fr) minmax(135px, .8fr) auto auto; margin-bottom: 12px; padding: 13px; }
.rpc-notification-filters label { display: grid; gap: 6px; }
.rpc-notification-filters label > span { color: var(--rpc-muted); font-size: .68rem; font-weight: 750; }
.rpc-notification-filters select { appearance: auto; background: #0d0e10; border: 1px solid #34363c; border-radius: 9px; color: #fff; min-height: 42px; padding: 8px 10px; width: 100%; }
.rpc-notification-filters select:focus { border-color: var(--rpc-accent-2); box-shadow: 0 0 0 3px var(--rpc-accent-soft); outline: none; }
.rpc-notification-items { display: grid; gap: 7px; }
.rpc-notification-item { align-items: start; background: #17191b; border: 1px solid transparent; border-radius: var(--rpc-control-radius); color: #f1f2f3; display: flex; gap: 10px; justify-content: space-between; padding: 11px; position: relative; text-decoration: none; }
.rpc-notification-item:hover, .rpc-notification-item.is-active { background: #152019; border-color: #356143; }
.rpc-notification-item.is-unread::before { background: var(--rpc-accent); border-radius: 50%; content: ''; height: 7px; left: 3px; position: absolute; top: 15px; width: 7px; }
.rpc-notification-item > span { display: grid; gap: 4px; min-width: 0; }
.rpc-notification-item strong { font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-notification-item small, .rpc-notification-item time { color: var(--rpc-muted); font-size: .64rem; }
.rpc-notification-item b { color: var(--rpc-accent); flex: 0 0 auto; font-size: .62rem; max-width: 95px; text-align: right; }
.rpc-notification-older { margin: 12px 0 0; width: 100%; }
.rpc-notification-state-form { margin: 0; }
.rpc-notification-detail > .rpc-panel { height: auto; }
.rpc-notification-detail .rpc-action-dialog__footer { border-top: 1px solid var(--rpc-border-soft); margin-top: 18px; padding-top: 16px; }
.rpc-notification-detail .rpc-action-dialog__footer form { margin: 0; }
.rpc-disclosure { background: #111a13; border: 1px solid #29422f; border-radius: 12px; color: #b9c7bc; font-size: .75rem; margin: 16px 0 0; padding: 13px 15px; }
.rpc-disclosure p { color: inherit; margin: 5px 0 0; }
.rpc-alert.rpc-alert--warning { background: #2a2415; border-color: #6e5924; color: #f5dda0; }
.rpc-danger-zone { border-color: #6a3434; }
.rpc-danger-zone h2 { color: #ffb7b7; }
.rpc-button--danger { background: linear-gradient(135deg, #873737, #652626); border-color: #b65050; color: #fff; }
.rpc-button--danger:hover { background: linear-gradient(135deg, #a54242, #7b2d2d); }
.rpc-button--danger:disabled { cursor: not-allowed; filter: grayscale(.7); opacity: .45; }
.rpc-test-image-gallery { display: grid; grid-template-columns: minmax(180px, 360px); }
.rpc-test-image-gallery figure { margin: 0; }
.rpc-test-image-gallery img { aspect-ratio: 4 / 5; border: 1px solid var(--rpc-border); border-radius: 14px; display: block; object-fit: cover; width: 100%; }
.rpc-test-image-gallery figcaption { color: var(--rpc-muted); font-size: .72rem; margin-top: 8px; }
.rpc-form { display: grid; gap: 15px; }
.rpc-form-grid { display: grid; gap: 13px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-flux-vocabulary { display: grid; gap: 16px; }
.rpc-flux-vocabulary > .rpc-panel-heading, .rpc-flux-vocabulary .rpc-disclosure { margin: 0; }
.rpc-flux-vocabulary__form { border-top: 1px solid var(--rpc-border-soft); padding-top: 16px; }
.rpc-flux-vocabulary__form .rpc-form-grid { align-items: end; grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr) auto; }
.rpc-flux-vocabulary__form .rpc-button { margin: 0; white-space: nowrap; }
.rpc-flux-vocabulary .rpc-table { min-width: 640px; }
.rpc-flux-vocabulary .rpc-inline-actions { gap: var(--rpc-inline-control-gap); }
.rpc-status-badge--muted { background: #202226; border-color: #3b3e44; color: #aeb1b7; }
.rpc-starter-scenario-fields { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-starter-scenario-fields > label { align-content: start; align-self: start; min-width: 0; }
.rpc-starter-scenario-fields input, .rpc-starter-scenario-fields select { height: 42px; min-height: 42px; }
.rpc-starter-scenario-fields small { color: var(--rpc-muted); font-size: .65rem; line-height: 1.35; }
.rpc-starter-path-guide { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 15px; }
.rpc-starter-path-guide article { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 10px; min-width: 0; padding: 12px; }
.rpc-starter-path-guide strong { color: #f0f1f2; display: block; font-size: .72rem; margin-bottom: 5px; }
.rpc-starter-path-guide p { color: var(--rpc-muted); font-size: .68rem; line-height: 1.45; margin: 0; }
.rpc-test-fixture-builder { margin-top: 18px; }
.rpc-form h2 { border-bottom: 1px solid var(--rpc-border-soft); margin: 10px 0 0; padding-bottom: 10px; }
.rpc-form h2:first-of-type { margin-top: 0; }
.rpc-checkbox { align-items: center; display: flex !important; gap: 10px !important; min-height: 36px; }
.rpc-checkbox input { accent-color: var(--rpc-accent-2); height: 18px; margin: 0; width: 18px; }
.rpc-checkbox > span { color: #dedee1 !important; font-size: .78rem !important; }
.rpc-checkbox--locked { opacity: .72; }
.rpc-email-preferences__list { display: grid; gap: 9px; }
.rpc-email-preference { align-items: flex-start; background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 10px; min-height: 0; padding: 12px 13px; }
.rpc-email-preference input { flex: 0 0 auto; margin-top: 2px; }
.rpc-email-preference__copy { display: grid; gap: 3px; min-width: 0; }
.rpc-email-preference__copy strong { color: #f2f2f3; font-size: .76rem; line-height: 1.35; }
.rpc-email-preference__copy small { color: var(--rpc-muted); font-size: .68rem; font-weight: 500; line-height: 1.5; }
.rpc-email-preference.rpc-checkbox--locked { background: #121416; opacity: .8; }
.rpc-mating-setting-toggle > span strong,
.rpc-mating-setting-toggle > span small { display: block; }
.rpc-mating-setting-toggle > span small { color: #bfc5c0; font-weight: 400; margin-top: 3px; }
.rpc-api-switch { align-items: flex-start; background: #101612; border: 1px solid #294332; border-radius: 12px; cursor: pointer; display: grid !important; gap: 12px !important; grid-template-columns: auto minmax(0, 1fr); padding: 13px 14px; }
.rpc-api-switch input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.rpc-api-switch__track { background: #34363a; border: 1px solid #51545a; border-radius: 999px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .4); display: block; height: 22px; margin-top: 1px; padding: 2px; transition: background .16s ease, border-color .16s ease; width: 40px; }
.rpc-api-switch__track > span { background: #e4e5e7; border-radius: 50%; display: block; height: 16px; transform: translateX(0); transition: transform .16s ease; width: 16px; }
.rpc-api-switch input:checked + .rpc-api-switch__track { background: #1d7737; border-color: #58d574; }
.rpc-api-switch input:checked + .rpc-api-switch__track > span { transform: translateX(16px); }
.rpc-api-switch input:focus-visible + .rpc-api-switch__track { box-shadow: 0 0 0 3px rgba(106, 239, 129, .23); }
.rpc-api-switch__copy { display: grid; gap: 4px; min-width: 0; }
.rpc-api-switch__copy strong { color: #f4f5f6; font-size: .78rem; line-height: 1.35; }
.rpc-api-switch__copy small { color: var(--rpc-muted); font-size: .68rem; line-height: 1.48; }
.rpc-api-switch--disabled { cursor: not-allowed; opacity: .58; }
.rpc-table-wrap { border: 1px solid var(--rpc-border); border-radius: 15px; max-width: 100%; overflow: auto; }
.rpc-table { border-collapse: collapse; min-width: 720px; width: 100%; }
.rpc-table th, .rpc-table td { border-bottom: 1px solid var(--rpc-border-soft); font-size: .72rem; padding: 11px 13px; text-align: left; vertical-align: middle; }
.rpc-table th { background: #17181b; color: #babbc1; font-size: .65rem; letter-spacing: .04em; position: sticky; text-transform: uppercase; top: 0; }
.rpc-table td { color: #dcdddf; }
.rpc-table td small { color: var(--rpc-subtle); display: block; }
.rpc-table tbody tr:last-child td { border-bottom: 0; }
.rpc-table tbody tr:hover td { background: #141518; }
.rpc-table code { color: #99eaa5; }
.rpc-table-pagination { align-items: center; display: grid; gap: 8px 18px; grid-template-columns: minmax(0, 1fr) auto; margin-top: 12px; }
.rpc-table-pagination__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px var(--rpc-form-section-gap); min-width: 0; }
.rpc-table-pagination__summary { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); margin: 0; order: 2; }
.rpc-table-pagination__size { align-items: center; display: flex; flex: 0 0 auto; gap: var(--rpc-inline-control-gap); justify-content: flex-start; order: 1; }
.rpc-table-pagination__size label { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); font-weight: 700; white-space: nowrap; }
.rpc-table-pagination__size select { background: var(--rpc-field-bg); border: 1px solid var(--rpc-field-border); border-radius: var(--rpc-field-radius); box-shadow: 0 0 0 2px rgba(110, 233, 129, .1); color: #fff; color-scheme: dark; font-size: var(--rpc-compact-font-size); min-height: 28px; min-width: 62px; padding: 3px 22px 3px 7px; width: auto; }
.rpc-table-pagination__size select:focus { border-color: var(--rpc-accent); box-shadow: var(--rpc-field-focus); outline: none; }
.rpc-table-pagination__pages { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rpc-inline-control-gap); justify-content: flex-end; }
.rpc-table-pagination__current { color: #dfe2e5; font-size: var(--rpc-compact-font-size); padding: 0 3px 0 0; white-space: nowrap; }
.rpc-table-pagination .rpc-button { border-radius: var(--rpc-label-radius); font-size: var(--rpc-compact-font-size); gap: 0; line-height: 1.2; min-height: 28px; padding: 5px 9px; width: auto; }
.rpc-details { display: grid; gap: 8px 16px; grid-template-columns: minmax(110px, .6fr) minmax(0, 1fr); margin: 0; }
.rpc-details dt { color: var(--rpc-muted); font-size: .72rem; }
.rpc-details dd { color: #f0f0f2; font-size: .75rem; margin: 0; }
.rpc-alert { background: #171a1d; border: 1px solid #35383e; border-radius: 12px; color: #d6d7da; font-size: .76rem; margin: 0 0 15px; padding: 12px 14px; }
.rpc-alert--success { background: #142318; border-color: #2e5938; color: #a9efb5; }
.rpc-alert--error { background: #2b1718; border-color: #6f3236; color: #ffbdc1; }
.rpc-admin-workspace { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(205px, 235px) minmax(0, 1fr); }
.rpc-admin-menu { background: #121315; border: 1px solid var(--rpc-border); border-radius: 18px; max-height: calc(100vh - 110px); overflow-y: auto; padding: 14px; position: sticky; scrollbar-color: #44474d transparent; scrollbar-width: thin; top: 88px; }
.rpc-admin-menu__group + .rpc-admin-menu__group { border-top: 1px solid var(--rpc-border-soft); margin-top: 13px; padding-top: 13px; }
.rpc-admin-menu__group h2 { color: #656871; font-size: .62rem; font-weight: 850; letter-spacing: .1em; margin: 0 8px 7px; text-transform: uppercase; }
.rpc-admin-menu__group nav { display: grid; gap: 3px; }
.rpc-admin-menu__link { border: 1px solid transparent; border-radius: var(--rpc-control-radius); color: #b6b8bf; font-size: .73rem; font-weight: 750; line-height: 1.25; padding: 9px 10px; text-decoration: none; }
.rpc-admin-menu__link:hover { background: #191a1d; border-color: #303239; color: #fff; }
.rpc-admin-menu__link.is-active { background: #18321f; border-color: #3c8e4d; color: #effff2; }
.rpc-admin-menu__link--private { color: var(--rpc-private); }
.rpc-admin-menu__link--private:hover { background: #30171d; border-color: #8a3948; color: #ffd9dd; }
.rpc-admin-menu__link--private.is-active { background: #421b23; border-color: #c34e61; color: #fff1f2; }
.rpc-admin-menu__mobile { display: none; }
.rpc-admin-workspace__content, .rpc-admin-view { min-width: 0; }
.rpc-admin-view { display: grid; gap: 14px; }
.rpc-view-section-stack { display: grid; gap: 14px; min-width: 0; }
.rpc-admin-console .rpc-empty-state { min-height: 360px; }
.rpc-admin-character-workspace { padding: clamp(16px, 2vw, 24px); }
.rpc-admin-character-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-admin-token-workspace { padding: clamp(16px, 2vw, 24px); }
.rpc-admin-token-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-admin-token-tool { min-width: 0; padding: 0 18px; }
.rpc-admin-token-tool:first-child { padding-left: 0; }
.rpc-admin-token-tool:last-child { border-left: 1px solid var(--rpc-border-soft); padding-right: 0; }
.rpc-admin-token-tool h3 { font-size: 1rem; margin: 0 0 7px; }
.rpc-admin-token-tool > p { color: var(--rpc-muted); font-size: .72rem; margin: 0 0 14px; min-height: 36px; }
.rpc-admin-token-engine-summary { margin-top: 18px; }
.rpc-admin-token-history { border-top: 1px solid var(--rpc-border-soft); margin-top: 22px; padding-top: 20px; }
.rpc-admin-token-history .rpc-panel-heading h3 { margin: 0; }
.rpc-token-activity { margin-top: 18px; padding: clamp(16px, 2vw, 24px); }
.rpc-token-activity-summary { margin-top: 18px; }
.rpc-token-activity-filters { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 12px; display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 4px 0 18px; padding: 14px; }
.rpc-token-filter-actions { align-items: end; display: flex; gap: 8px; }
.rpc-token-filter-actions .rpc-button { flex: 1 1 auto; }
.rpc-token-report-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 18px; }
.rpc-token-report-card { background: #111315; border: 1px solid var(--rpc-border-soft); border-radius: 12px; min-width: 0; padding: 14px; }
.rpc-token-report-card .rpc-panel-heading h3 { font-size: 1rem; margin: 0; }
.rpc-token-report-card .rpc-panel-heading p { color: var(--rpc-muted); font-size: .68rem; margin: 4px 0 0; }
.rpc-token-report-card .rpc-table { min-width: 440px; }
.rpc-token-global-history .rpc-table { min-width: 1100px; }
.rpc-token-machine-id { display: block; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-token-pagination { display: flex; gap: 9px; justify-content: flex-end; margin-top: 12px; }
.rpc-token-reservations { margin: 20px 0; }
.rpc-token-reservations .rpc-panel-heading { align-items: flex-start; gap: 14px; }
.rpc-token-reservations .rpc-panel-heading p { color: var(--rpc-muted); font-size: .78rem; margin: 5px 0 0; }
.rpc-token-amount--credit { color: #80e991 !important; font-weight: 800; }
.rpc-token-amount--debit { color: #f09aa5 !important; font-weight: 800; }
.rpc-admin-character-tool { min-width: 0; padding: 0 18px; }
.rpc-admin-character-tool:first-child { padding-left: 0; }
.rpc-admin-character-tool:last-child { padding-right: 0; }
.rpc-admin-character-tool + .rpc-admin-character-tool { border-left: 1px solid var(--rpc-border-soft); }
.rpc-admin-character-tool h3 { font-size: 1rem; margin: 0 0 7px; }
.rpc-admin-character-tool > p { color: var(--rpc-muted); font-size: .72rem; margin: 0 0 14px; min-height: 36px; }
.rpc-admin-search, .rpc-admin-action-form { display: grid; gap: 9px; }
.rpc-admin-search { grid-template-columns: minmax(0, 1fr) auto; }
.rpc-admin-search label { grid-column: 1 / -1; }
.rpc-admin-search .rpc-button { justify-self: start; }
.rpc-admin-search-results { border: 1px solid var(--rpc-border-soft); border-radius: 10px; display: grid; margin-top: 10px; max-height: 240px; overflow-y: auto; }
.rpc-admin-search-results a { color: #f0f1f2; display: grid; gap: 3px; padding: 9px 10px; text-decoration: none; }
.rpc-admin-search-results a + a { border-top: 1px solid var(--rpc-border-soft); }
.rpc-admin-search-results a:hover { background: #191b1e; }
.rpc-admin-search-results strong { font-size: .72rem; overflow-wrap: anywhere; }
.rpc-admin-search-results span { color: var(--rpc-muted); font-size: .64rem; overflow-wrap: anywhere; }
.rpc-admin-selected-record { background: #101214; border: 1px solid #30343a; border-radius: 10px; display: grid; gap: 5px; margin-top: 12px; padding: 12px; }
.rpc-admin-selected-record h4 { color: #898c94; font-size: .64rem; letter-spacing: .07em; margin: 0 0 5px; text-transform: uppercase; }
.rpc-admin-selected-record > strong { font-size: .78rem; overflow-wrap: anywhere; }
.rpc-admin-selected-record > span { color: var(--rpc-muted); font-size: .67rem; overflow-wrap: anywhere; }
.rpc-admin-selected-record dl { display: grid; gap: 7px 10px; grid-template-columns: minmax(88px, .72fr) minmax(0, 1fr); margin: 0; }
.rpc-admin-selected-record dt { color: #858892; font-size: .66rem; }
.rpc-admin-selected-record dd { color: #f3f3f4; font-size: .69rem; margin: 0; overflow-wrap: anywhere; }
.rpc-admin-selected-record dd a { color: #9af0a7; }
.rpc-admin-pool-choice { background: #111416; border: 1px solid #30343a; border-radius: 10px; color: #eee; display: grid; gap: 3px; margin-bottom: 10px; padding: 10px; text-decoration: none; }
.rpc-admin-pool-choice:hover, .rpc-admin-pool-choice.is-selected { background: #15261a; border-color: #3f824c; }
.rpc-admin-pool-choice strong { font-size: .72rem; }
.rpc-admin-pool-choice span { color: var(--rpc-muted); font-size: .64rem; }
.rpc-admin-tool-empty { border: 1px dashed #34373d; border-radius: 10px; color: #777a82; font-size: .7rem; margin-top: 12px; padding: 15px; }
.rpc-admin-tool-note, .rpc-admin-tool-warning { border-radius: 8px; font-size: .66rem !important; margin: 9px 0 0 !important; min-height: 0 !important; padding: 8px 10px; }
.rpc-admin-tool-note { background: #181a1d; border: 1px solid #30333a; color: #b7bac1 !important; }
.rpc-admin-tool-warning { background: #2a2111; border: 1px solid #72551b; color: #f1ce79 !important; }
.rpc-admin-action-form { margin-top: 12px; }
.rpc-admin-action-form textarea { resize: vertical; }
.rpc-compact-form { background: #111214; border: 1px solid var(--rpc-border-soft); border-radius: 12px; padding: 12px; }
.rpc-settings-list { list-style: none; margin: 15px 0 0; padding: 0; }
.rpc-settings-list li { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: flex; font-size: .76rem; justify-content: space-between; padding: 10px 0; }
.rpc-guide-workspace { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(205px, 235px) minmax(0, 1fr); }
.rpc-guide-workspace__content { display: grid; gap: var(--rpc-section-gap); min-width: 0; }
.rpc-guide-section-header { background: linear-gradient(145deg, #151a17, #101214); border: 1px solid #2b3c30; border-radius: var(--rpc-radius); padding: clamp(20px, 3vw, 30px); }
.rpc-guide-section-header .rpc-eyebrow { margin: 0 0 6px; }
.rpc-guide-section-header h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 0; }
.rpc-guide-section-header > p:last-child { color: var(--rpc-muted); line-height: 1.65; margin: 9px 0 0; max-width: 850px; }
.rpc-guide-section { display: grid; gap: 14px; }
.rpc-guide-section > h2, .rpc-guide-section > p { margin: 0; }
.rpc-guide-card-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-guide-card-grid .rpc-card { min-height: 0; padding: 18px; }
.rpc-guide-card-grid h3, .rpc-guide-definition-grid h3, .rpc-guide-step-grid h3, .rpc-guide-steps h3, .rpc-guide-wrapper-list h3 { font-size: .9rem; margin: 0 0 7px; }
.rpc-guide-card-grid p, .rpc-guide-definition-grid p, .rpc-guide-step-grid p, .rpc-guide-steps p, .rpc-guide-wrapper-list p { color: var(--rpc-muted); font-size: .74rem; line-height: 1.6; margin: 0; }
.rpc-guide-callout, .rpc-guide-tip { border-radius: 13px; padding: 16px 18px; }
.rpc-guide-callout { background: #132519; border: 1px solid #326441; }
.rpc-guide-tip { background: #252013; border: 1px solid #665625; }
.rpc-guide-callout strong, .rpc-guide-tip strong { display: block; font-size: .8rem; margin-bottom: 5px; }
.rpc-guide-callout p, .rpc-guide-tip p { color: #c8cbd0; font-size: .74rem; line-height: 1.55; margin: 0; }
.rpc-guide-step-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rpc-guide-step-grid article { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 14px; min-width: 0; padding: 17px; }
.rpc-guide-step-grid article > span, .rpc-guide-steps > li > span { align-items: center; background: var(--rpc-accent-soft); border: 1px solid #3b7447; border-radius: 999px; color: var(--rpc-accent); display: flex; font-size: .72rem; font-weight: 850; height: 27px; justify-content: center; margin-bottom: 11px; width: 27px; }
.rpc-guide-steps { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.rpc-guide-steps li { align-items: start; background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 13px; display: grid; gap: 13px; grid-template-columns: auto minmax(0, 1fr); padding: 15px 17px; }
.rpc-guide-steps > li > span { margin: 0; }
.rpc-guide-definition-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-guide-definition-grid article { background: #111315; border: 1px solid var(--rpc-border-soft); border-radius: 11px; min-width: 0; padding: 14px; }
.rpc-guide-comparison { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-guide-comparison article { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 11px; padding: 15px; }
.rpc-guide-price-list { display: grid; gap: 0; }
.rpc-guide-price-list article { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: flex; gap: 18px; justify-content: space-between; padding: 12px 0; }
.rpc-guide-price-list article:first-child { border-top: 0; }
.rpc-guide-price-list strong { font-size: .76rem; }
.rpc-guide-price-list p { font-size: .68rem; margin: 3px 0 0; }
.rpc-guide-price-list article > span { color: var(--rpc-accent); font-size: .72rem; font-weight: 800; text-align: right; white-space: nowrap; }
.rpc-guide-wrapper-list { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-guide-wrapper-list article { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 12px; padding: 16px; }
.rpc-guide-wrapper-list article > span { color: var(--rpc-accent); display: block; font-size: .62rem; font-weight: 850; letter-spacing: .08em; margin-bottom: 7px; text-transform: uppercase; }
.rpc-guide-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rpc-guide-pager { align-items: center; border-top: 1px solid var(--rpc-border); display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 5px; padding-top: 18px; }
.rpc-guide-pager .rpc-button:first-child { justify-self: start; }
.rpc-guide-pager .rpc-button:last-child { justify-self: end; }

@media (max-width: 1180px) {
    .rpc-catalog-browser { grid-template-columns: minmax(195px, 215px) minmax(0, 1fr); }
    .rpc-admin-workspace { grid-template-columns: minmax(175px, 195px) minmax(0, 1fr); }
    .rpc-guide-workspace { grid-template-columns: minmax(175px, 195px) minmax(0, 1fr); }
    .rpc-guide-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-admin-character-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-admin-token-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-token-activity-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-admin-character-tool--finder { border-bottom: 1px solid var(--rpc-border-soft); grid-column: 1 / -1; margin-bottom: 18px; padding: 0 0 18px; }
    .rpc-admin-character-tool:nth-child(2) { border-left: 0; padding-left: 0; }
    .rpc-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-toolbar .rpc-button { justify-self: start; }
    .rpc-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-stat-grid--collection { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rpc-character-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .rpc-related-characters li { align-items: flex-start; flex-direction: column; }
    .rpc-related-character__meta { text-align: left; }
    .rpc-admin-workspace { grid-template-columns: 1fr; }
    .rpc-guide-workspace { grid-template-columns: 1fr; }
    .rpc-flux-vocabulary__form .rpc-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-flux-vocabulary__form .rpc-button { justify-self: start; }
    .rpc-admin-menu { max-height: none; overflow: visible; padding: 12px; position: static; }
    .rpc-admin-menu__desktop { display: none; }
    .rpc-admin-menu__mobile { display: block; }
    .rpc-admin-menu__mobile label { color: #bfc0c6; display: block; font-size: .68rem; font-weight: 750; margin: 0 0 6px; }
    .rpc-admin-menu__mobile > div { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
    .rpc-admin-menu__mobile select { background: #0d0e10; border: 1px solid #34363c; border-radius: 9px; color: #fff; min-height: 42px; padding: 8px 10px; width: 100%; }
    .rpc-two-column, .rpc-detail-layout { grid-template-columns: 1fr; }
    .rpc-desirability-factors { grid-template-columns: 1fr; }
    .rpc-character-sidebar, .rpc-character-summary { position: static; }
    .rpc-character-placeholder { aspect-ratio: 16 / 8; }
    .rpc-notification-center, .rpc-split-workspace { grid-template-columns: 1fr; min-height: 0; }
    .rpc-notification-filters { grid-template-columns: 1fr 1fr; }
    .rpc-notification-list, .rpc-conversation-list { border-bottom: 1px solid var(--rpc-border); border-right: 0; }
    .rpc-notification-detail .rpc-empty-state, .rpc-conversation-detail .rpc-empty-state { min-height: 300px; }
    .rpc-token-report-grid { grid-template-columns: 1fr; }
    .rpc-guide-card-grid, .rpc-guide-definition-grid { grid-template-columns: 1fr; }
    .rpc-guide-wrapper-list { grid-template-columns: 1fr; }
    .rpc-character-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-stat-grid--collection { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rpc-starter-path-guide { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
    .rpc-notification-filters { grid-template-columns: 1fr; }
    .rpc-notification-filters .rpc-button { width: 100%; }
}

@media (max-width: 540px) {
    .rpc-admin-menu__mobile > div { grid-template-columns: 1fr; }
    .rpc-admin-menu__mobile .rpc-button { width: 100%; }
    .rpc-toolbar, .rpc-stat-grid { grid-template-columns: 1fr; }
    .rpc-guide-step-grid, .rpc-guide-comparison { grid-template-columns: 1fr; }
    .rpc-guide-pager { grid-template-columns: 1fr; }
    .rpc-guide-pager .rpc-button { justify-self: stretch !important; width: 100%; }
    .rpc-token-activity-filters { grid-template-columns: 1fr; }
    .rpc-token-filter-actions, .rpc-token-pagination { align-items: stretch; flex-direction: column; }
    .rpc-table-pagination { align-items: stretch; grid-template-columns: 1fr; }
    .rpc-table-pagination__meta { align-items: flex-start; }
    .rpc-table-pagination__size { align-items: center; }
    .rpc-table-pagination__pages { grid-column: 1; justify-content: flex-start; }
    .rpc-toolbar .rpc-button { width: 100%; }
    .rpc-panel-heading { align-items: flex-start; flex-direction: column; }
    .rpc-panel-heading form, .rpc-panel-heading .rpc-button { width: 100%; }
    .rpc-details { grid-template-columns: 1fr; }
    .rpc-details dd { margin-bottom: 6px; }
    .rpc-notification-quick { display: none; }
    .rpc-character-grid { grid-template-columns: 1fr; }
    .rpc-form-grid { grid-template-columns: 1fr; }
    .rpc-flux-vocabulary__form .rpc-form-grid { grid-template-columns: 1fr; }
    .rpc-flux-vocabulary__form .rpc-button { width: 100%; }
    .rpc-starter-scenario-fields { grid-template-columns: 1fr; }
    .rpc-character-card { display: grid; grid-template-columns: 42% minmax(0, 1fr); }
    .rpc-character-card__image { aspect-ratio: auto; border-bottom: 0; border-right: 1px solid var(--rpc-border); min-height: 210px; }
}

* { box-sizing: border-box; }
html { background: var(--rpc-bg); max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; }
body {
    background: var(--rpc-bg);
    color: var(--rpc-ink);
    font-family: var(--rpc-font);
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
    min-width: 320px;
    max-width: 100%;
    overflow-x: hidden;
}
a { color: #8cef9b; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
img { height: auto; max-width: 100%; }
::selection { background: var(--rpc-button-end); color: #fff; text-shadow: none; }
::-moz-selection { background: var(--rpc-button-end); color: #fff; text-shadow: none; }

h1, h2, h3, h4, h5, h6 { color: var(--rpc-ink); font-weight: 760; margin-block: 0 .65em; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 4vw, 3rem); letter-spacing: -.045em; line-height: 1.04; }
h2 { font-size: clamp(1.6rem, 2.6vw, 1.875rem); letter-spacing: -.035em; line-height: 1.12; }
h3 { font-size: clamp(1.15rem, 2vw, 1.375rem); letter-spacing: -.02em; line-height: 1.2; }
h4 { font-size: 1.125rem; line-height: 1.3; }
h5 { font-size: 1rem; line-height: 1.35; }
h6 { font-size: .875rem; letter-spacing: .02em; line-height: 1.4; text-transform: uppercase; }
p, li, dd, dt { overflow-wrap: anywhere; }

.rpc-skip-link { background: #fff; color: #000; left: 12px; padding: 10px 14px; position: fixed; top: -100px; z-index: 1000; }
.rpc-skip-link:focus { top: 12px; }

.rpc-app-shell { display: grid; grid-template-columns: var(--rpc-sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.rpc-sidebar {
    background: var(--rpc-sidebar);
    border: 1px solid #303238;
    border-radius: 0 22px 22px 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 12px);
    left: 0;
    margin: 6px 0;
    overflow: hidden auto;
    padding: 18px 14px;
    position: sticky;
    top: 6px;
    z-index: 50;
}
.rpc-sidebar__top { display: grid; gap: 22px; }
.rpc-brand { align-items: center; color: #fff; display: flex; font-size: .95rem; font-weight: 760; gap: 10px; text-decoration: none; }
.rpc-brand__mark { align-items: center; background: var(--rpc-brand-fill); border: 2px solid var(--rpc-brand-border); border-radius: var(--rpc-control-radius); box-shadow: 0 0 0 2px rgba(110, 233, 129, .08); color: var(--rpc-brand-border); display: inline-flex; flex: 0 0 34px; font-size: 1rem; font-weight: 900; height: 34px; justify-content: center; }
.rpc-brand__name { font-size: 1rem; letter-spacing: -.025em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-brand__name span { color: #d9d9dd; }
.rpc-brand__tag { background: #34363d; border-radius: 5px; color: #c8c9cf; font-size: .65rem; padding: 2px 5px; }
.rpc-project-pill { align-items: center; background: #202226; border: 1px solid #303238; border-radius: var(--rpc-control-radius); color: #fff; display: grid; font-size: .82rem; font-weight: 700; gap: 9px; grid-template-columns: 30px minmax(0, 1fr) auto; min-height: 48px; padding: 8px; text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.rpc-project-pill[href]:hover { background: #25272b; border-color: #44474e; }
.rpc-project-pill__avatar { align-items: center; background: linear-gradient(135deg, #45c982, #6ee981); border-radius: 50%; color: #07110a; display: inline-flex; font-weight: 850; height: 30px; justify-content: center; overflow: hidden; width: 30px; }
.rpc-project-pill__avatar .rpc-avatar-image, .rpc-avatar-button .rpc-avatar-image { border-radius: inherit; display: block; height: 100%; object-fit: cover; width: 100%; }
.rpc-avatar-button .rpc-avatar-image { object-position: 50% 24%; }
.rpc-side-nav { display: grid; gap: 1px; margin-top: 18px; }
.rpc-nav-label { color: #555861; font-size: .64rem; font-weight: 700; letter-spacing: .08em; margin: 17px 8px 5px; text-transform: uppercase; }
.rpc-side-link { align-items: center; border: 1px solid transparent; border-radius: var(--rpc-control-radius); color: #d7d8dc; display: flex; font-size: .79rem; font-weight: 570; gap: 9px; min-height: 33px; padding: 5px 9px; text-decoration: none; transition: .18s ease; }
.rpc-side-link > span { color: #a9abb3; font-size: 1rem; text-align: center; width: 18px; }
.rpc-side-link:hover { background: #191a1d; border-color: #26282d; color: #fff; }
.rpc-side-link.is-active { background: linear-gradient(180deg, #1a261d, #101412); border-color: #5bda70; box-shadow: 0 0 0 1px rgba(110, 233, 129, .28), inset 0 -2px 9px rgba(110, 233, 129, .2); color: #fff; }
.rpc-side-link.rpc-private-link { color: var(--rpc-private); }
.rpc-side-link.rpc-private-link > span { color: #d96a78; }
.rpc-side-link.rpc-private-link:hover { background: #241418; border-color: #5d2a34; color: #ffd9dd; }
.rpc-side-link.rpc-private-link.is-active { background: linear-gradient(180deg, #35171d, #1d1114); border-color: #c34e61; box-shadow: 0 0 0 1px rgba(240, 85, 104, .16), inset 0 -2px 9px rgba(240, 85, 104, .12); color: #fff1f2; }
.rpc-sidebar__footer { align-items: center; border-top: 1px solid var(--rpc-border-soft); color: var(--rpc-subtle); display: flex; font-size: .7rem; gap: 8px; margin-top: auto; padding: 18px 8px 0; }
.rpc-status-dot, .rpc-live-dot { background: var(--rpc-green); border-radius: 50%; box-shadow: 0 0 12px rgba(126, 231, 135, .8); display: inline-block; height: 7px; width: 7px; }

.rpc-workspace { display: flex; flex-direction: column; max-width: 100%; min-width: 0; min-height: 100vh; }
.rpc-topbar { align-items: center; background: rgba(7, 8, 9, .9); backdrop-filter: blur(16px); display: flex; gap: 20px; justify-content: space-between; min-height: 72px; padding: 12px clamp(20px, 3vw, 42px); position: sticky; top: 0; z-index: 40; }
.rpc-topbar__context { align-items: center; color: var(--rpc-muted); display: flex; font-size: .78rem; gap: 14px; min-width: 0; }
.rpc-topbar__context strong { color: #fff; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-topbar__eyebrow { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-topbar__divider { background: #292b30; height: 24px; width: 1px; }
.rpc-topbar__actions { align-items: center; display: flex; flex: 0 0 auto; gap: 10px; }
.rpc-top-link { color: #e6e6e8; font-size: .82rem; font-weight: 700; text-decoration: none; }
.rpc-token-pill { align-items: center; background: #152617; border: 1px solid #234329; border-radius: var(--rpc-control-radius); color: var(--rpc-green); display: inline-flex; font-size: .78rem; font-weight: 800; gap: 7px; padding: 8px 13px; text-decoration: none; }
.rpc-avatar-button { align-items: center; background: linear-gradient(135deg, #278f4a, #6ee981); border: 2px solid #34363d; border-radius: 50%; color: #07110a; display: inline-flex; flex: 0 0 42px; font-size: .75rem; font-weight: 900; height: 42px; justify-content: center; overflow: hidden; text-decoration: none; width: 42px; }
.rpc-mobile-brand, .rpc-mobile-nav { display: none; }

.rpc-main { flex: 1; min-width: 0; padding: 18px clamp(20px, 3vw, 42px) 64px; }
.rpc-content { margin: 0 auto; max-width: 1480px; min-width: 0; width: 100%; }

.rpc-hero { align-items: center; background: radial-gradient(circle at 80% 15%, rgba(66, 190, 94, .2), transparent 30%), linear-gradient(145deg, #171a18, #0e0f11 72%); border: 1px solid var(--rpc-border); border-radius: 26px; box-shadow: var(--rpc-shadow); display: grid; gap: clamp(28px, 5vw, 70px); grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); min-height: min(620px, calc(100vh - 128px)); overflow: hidden; padding: clamp(34px, 6vw, 86px); position: relative; }
.rpc-hero::before { background: linear-gradient(90deg, var(--rpc-accent), var(--rpc-accent-2), #5b7cfa); content: ""; height: 2px; left: 0; position: absolute; right: 0; top: 0; }
.rpc-hero__content { min-width: 0; position: relative; z-index: 2; }
.rpc-eyebrow { align-items: center; color: #b7b8bf; display: flex; font-size: .7rem; font-weight: 800; gap: 9px; letter-spacing: .12em; text-transform: uppercase; }
.rpc-hero h1 { font-size: clamp(2.35rem, 4vw, 3rem); letter-spacing: -.045em; line-height: 1.02; margin: 18px 0 22px; max-width: 720px; }
.rpc-hero p { color: #b6b7bd; font-size: clamp(.95rem, 1.15vw, 1.08rem); line-height: 1.65; margin: 0; max-width: 650px; }
.rpc-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 32px; }
.rpc-pregnancy-test-action { margin-top: 8px; }
.rpc-button { align-items: center; background: linear-gradient(135deg, var(--rpc-button-start), var(--rpc-button-end)); border: 1px solid #328b4b; border-radius: var(--rpc-control-radius); color: #fff; cursor: pointer; display: inline-flex; font-size: .85rem; font-weight: 800; gap: 12px; justify-content: center; min-height: 44px; padding: 10px 19px; text-decoration: none; text-shadow: 0 1px 1px rgba(0,0,0,.32); transition: transform .18s ease, filter .18s ease; }
.rpc-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.rpc-button--secondary { background: #222328; border-color: #373940; color: #f3f3f5; }
.rpc-button--compact { min-height: 38px; padding: 7px 15px; }
.rpc-button--ghost { background: transparent; border-color: #4b4d55; }
.rpc-button--solid { background: linear-gradient(135deg, var(--rpc-button-start), var(--rpc-button-end)); }

.rpc-hero__visual { align-items: center; aspect-ratio: 1; display: flex; justify-content: center; margin: auto; max-width: 520px; position: relative; width: 100%; }
.rpc-orbit { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; position: absolute; }
.rpc-orbit--one { height: 88%; width: 88%; }
.rpc-orbit--two { border-color: rgba(110,233,129,.24); height: 66%; transform: rotate(20deg); width: 66%; }
.rpc-character-silhouette { align-items: center; background: radial-gradient(circle at 50% 22%, #476a50, #243329 42%, #111614 74%); border: 1px solid #385140; border-radius: 46% 46% 28% 28%; box-shadow: 0 0 80px rgba(110,233,129,.13); display: flex; flex-direction: column; height: 70%; justify-content: flex-end; overflow: hidden; padding-bottom: 14%; position: relative; width: 51%; }
.rpc-character-silhouette::before { background: #151218; border-radius: 48% 48% 43% 43%; content: ""; height: 36%; left: 30%; position: absolute; top: 10%; width: 40%; }
.rpc-character-silhouette::after { background: linear-gradient(180deg, #211a23, #0b0c0e); border-radius: 48% 48% 0 0; bottom: -5%; content: ""; height: 55%; position: absolute; width: 82%; }
.rpc-character-silhouette span, .rpc-character-silhouette small { position: relative; z-index: 2; }
.rpc-character-silhouette span { font-size: 1.25rem; font-weight: 900; letter-spacing: .12em; }
.rpc-character-silhouette small { color: #a6a1aa; font-size: .64rem; text-transform: uppercase; }
.rpc-floating-stat { align-items: center; backdrop-filter: blur(14px); background: rgba(28,29,33,.8); border: 1px solid #3a3c42; border-radius: 13px; box-shadow: 0 15px 40px rgba(0,0,0,.3); display: grid; gap: 0 9px; grid-template-columns: 30px auto; padding: 10px 13px; position: absolute; }
.rpc-floating-stat > span { align-items: center; background: var(--rpc-accent-soft); border-radius: 9px; color: #7dec8e; display: flex; grid-row: span 2; height: 30px; justify-content: center; }
.rpc-floating-stat strong { font-size: .75rem; }
.rpc-floating-stat small { color: var(--rpc-muted); font-size: .62rem; }
.rpc-floating-stat--top { right: 0; top: 17%; }
.rpc-floating-stat--bottom { bottom: 18%; left: 0; }

.rpc-quick-actions { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin-top: 18px; overflow: hidden; }
.rpc-quick-actions > a { align-items: center; background: #151619; color: #fff; display: grid; gap: 12px; grid-template-columns: 42px 1fr auto; min-height: 90px; padding: 18px 22px; text-decoration: none; transition: background .18s ease; }
.rpc-quick-actions > a + a { border-left: 1px solid var(--rpc-border); }
.rpc-quick-actions > a:hover { background: #1b1c20; }
.rpc-quick-actions__icon { align-items: center; background: #1d2920; border-radius: 12px; color: #72e986; display: flex; font-size: 1.2rem; height: 42px; justify-content: center; }
.rpc-quick-actions strong, .rpc-quick-actions small { display: block; }
.rpc-quick-actions strong { font-size: .84rem; }
.rpc-quick-actions small { color: var(--rpc-muted); font-size: .7rem; margin-top: 2px; }
.rpc-quick-actions b { color: #686a72; }

.rpc-section { margin-top: clamp(48px, 7vw, 90px); }
.rpc-section__heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 22px; }
.rpc-section__heading h2 { font-size: clamp(1.6rem, 2.6vw, 1.875rem); letter-spacing: -.035em; line-height: 1.12; margin: 8px 0 0; }
.rpc-section__heading > a { color: #e9e9eb; flex: 0 0 auto; font-size: .78rem; font-weight: 750; text-decoration: none; }
.rpc-feature-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.rpc-feature-card { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; display: flex; flex-direction: column; justify-content: space-between; min-height: 270px; overflow: hidden; padding: 24px; position: relative; }
.rpc-feature-card::after { background: var(--glow); border-radius: 50%; content: ""; filter: blur(10px); height: 190px; opacity: .23; position: absolute; right: -65px; top: -65px; width: 190px; }
.rpc-feature-card--emerald { --glow: #35bd5d; }
.rpc-feature-card--lime { --glow: #7be66e; }
.rpc-feature-card--blue { --glow: #5277f5; }
.rpc-feature-card__number { color: #777984; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.rpc-feature-card h3 { font-size: 1.2rem; line-height: 1.22; margin: 0 0 8px; }
.rpc-feature-card p { color: var(--rpc-muted); font-size: .82rem; margin: 0; max-width: 330px; }

.rpc-page-shell, .rpc-account { margin: 0 auto; max-width: 1240px; }
/* Top-level content sections must never share a border edge. */
.rpc-page-shell > .rpc-panel + .rpc-panel,
.rpc-page-shell > .rpc-support-overview + .rpc-panel { margin-top: var(--rpc-section-gap); }
.rpc-account--guest { max-width: 610px; }
.rpc-page-shell__header, .rpc-account__header { margin: 28px 0 30px; }
.rpc-page-shell__header h1, .rpc-account__header h1 { font-size: clamp(2.25rem, 4vw, 3rem); letter-spacing: -.045em; line-height: 1.04; margin: 10px 0 16px; }
.rpc-page-shell__header p, .rpc-account__header p { color: var(--rpc-muted); max-width: 720px; }
.rpc-account__identity { align-items: center; display: grid; gap: clamp(18px, 2.5vw, 28px); grid-template-columns: clamp(118px, 12vw, 154px) minmax(0, 1fr); }
.rpc-account__portrait { align-items: center; aspect-ratio: 1; background: #111315; border: 2px solid #365240; border-radius: 50%; box-shadow: 0 0 0 5px rgba(110, 233, 129, .07), var(--rpc-shadow); display: flex; justify-content: center; overflow: hidden; width: 100%; }
.rpc-account__portrait img { display: block; height: 100%; object-fit: cover; object-position: 50% 24%; width: 100%; }
.rpc-account__portrait--fallback { color: var(--rpc-accent); font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 850; }
.rpc-account__welcome { min-width: 0; }
.rpc-account__welcome > :first-child { margin-top: 0; }
.rpc-empty-state { align-items: center; background: radial-gradient(circle at 50% 0, rgba(110,233,129,.09), transparent 38%), var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 22px; display: flex; flex-direction: column; justify-content: center; min-height: min(480px, 55vh); padding: clamp(32px, 7vw, 80px); text-align: center; }
.rpc-empty-state::before { align-items: center; background: #1d2920; border: 1px solid #33483a; border-radius: 16px; color: #73e987; content: "◇"; display: flex; font-size: 1.7rem; height: 64px; justify-content: center; margin-bottom: 22px; width: 64px; }
.rpc-empty-state h1 { font-size: clamp(1.75rem, 3vw, 2.25rem); letter-spacing: -.035em; margin: 0 0 10px; }
.rpc-empty-state h2 { font-size: clamp(1.4rem, 2.5vw, 1.875rem); letter-spacing: -.03em; margin: 0 0 10px; }
.rpc-empty-state p { color: var(--rpc-muted); margin: 0 0 22px; max-width: 560px; }

.rpc-card-grid, .rpc-account__grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-card { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 18px; min-height: 220px; padding: 24px; }
.rpc-card h2 { font-size: 1.15rem; line-height: 1.25; margin: 0 0 14px; }
.rpc-card p, .rpc-card dd { color: var(--rpc-muted); font-size: .8rem; }
.rpc-account form { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 20px; box-shadow: var(--rpc-shadow); padding: clamp(24px, 5vw, 42px); }
.rpc-account form p { margin: 0 0 18px; }
.rpc-account label { color: #d7d8dc; display: block; font-size: .77rem; font-weight: 700; margin-bottom: 6px; }
.rpc-account input[type="text"], .rpc-account input[type="password"], .rpc-account input[type="email"], .rpc-account select, .rpc-account textarea { background: #0f1012; border: 1px solid #34363c; border-radius: 10px; color: #fff; min-height: 44px; padding: 10px 12px; width: 100%; }
.rpc-account input:focus, .rpc-account select:focus, .rpc-account textarea:focus { border-color: var(--rpc-accent); box-shadow: 0 0 0 3px rgba(110,233,129,.13); outline: none; }
.rpc-account input[type="submit"] { background: linear-gradient(135deg, var(--rpc-button-start), var(--rpc-button-end)); border: 1px solid #328b4b; border-radius: var(--rpc-control-radius); color: #fff; cursor: pointer; font-weight: 800; min-height: 44px; padding: 10px 20px; text-shadow: 0 1px 1px rgba(0,0,0,.32); }
.rpc-account__links, .rpc-disclosure { color: var(--rpc-muted); font-size: .78rem; }
.rpc-details { display: grid; gap: 8px 16px; grid-template-columns: max-content 1fr; margin: 0; }
.rpc-details dt { color: #777984; font-size: .75rem; font-weight: 750; }
.rpc-details dd { margin: 0; overflow-wrap: anywhere; }
.rpc-restrictions { display: grid; gap: 16px; }
.rpc-restrictions__intro { align-items: flex-start; display: flex; gap: 22px; justify-content: space-between; }
.rpc-restrictions__intro > div { min-width: 0; }
.rpc-restrictions__intro h2 { font-size: 1.35rem; margin: 2px 0 8px; }
.rpc-restrictions__intro p { line-height: 1.6; margin-bottom: 0; max-width: 790px; }
.rpc-restrictions__intro > .rpc-status-badge { flex: 0 0 auto; margin-top: 3px; }
.rpc-restrictions__summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.rpc-restriction-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-restriction-card { display: flex; flex-direction: column; gap: 15px; min-height: 0; padding: 22px; }
.rpc-restriction-card--clear { border-color: #2d4d35; }
.rpc-restriction-card--watch { border-color: #655a2f; }
.rpc-restriction-card--restricted { border-color: #68353d; box-shadow: inset 3px 0 0 #9b4c59; }
.rpc-restriction-card--inactive { border-color: #34363b; }
.rpc-restriction-card .rpc-panel-heading { align-items: flex-start; margin: 0; }
.rpc-restriction-card .rpc-panel-heading > div { min-width: 0; }
.rpc-restriction-card .rpc-panel-heading h2 { font-size: 1rem; margin: 0; }
.rpc-restriction-card .rpc-panel-heading p { font-size: .74rem; line-height: 1.55; margin: 5px 0 0; }
.rpc-restriction-card .rpc-details { border-top: 1px solid var(--rpc-border-soft); gap: 9px 16px; grid-template-columns: minmax(145px, .7fr) minmax(0, 1fr); padding-top: 14px; }
.rpc-restriction-card .rpc-details dt { font-size: .69rem; }
.rpc-restriction-card .rpc-details dd { font-size: .73rem; line-height: 1.45; }
.rpc-restriction-card__note { border-top: 1px solid var(--rpc-border-soft); font-size: .7rem !important; line-height: 1.55; margin: 0; padding-top: 13px; }
.rpc-restriction-card__link { align-self: flex-start; font-size: .72rem; font-weight: 750; margin-top: auto; }
.rpc-restrictions__character-note { margin: 0; }
.rpc-restrictions__character-note strong { display: block; font-size: .78rem; margin-bottom: 5px; }
.rpc-restrictions__character-note p { font-size: .72rem; line-height: 1.55; margin: 0; }

.rpc-token-grid { display: grid; gap: 15px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rpc-token-card { background: linear-gradient(150deg, #1d1e22, #121315); border: 1px solid var(--rpc-border); border-radius: 17px; min-height: 190px; padding: 22px; }
.rpc-token-card h2 { font-size: 1.1rem; margin: 6px 0 14px; }
.rpc-token-card p { color: var(--rpc-muted); font-size: .76rem; }
.rpc-token-card__amount { color: #74e988 !important; font-size: .72rem !important; font-weight: 850; margin: 0; }

.rpc-site-footer { align-items: center; border-top: 1px solid var(--rpc-border-soft); color: #5f6169; display: flex; font-size: .68rem; gap: 20px; justify-content: space-between; margin: 0 clamp(20px,3vw,42px); padding: 22px 0; }
.rpc-site-footer a { color: #797c84; text-decoration: none; }
.rpc-site-footer a:hover, .rpc-site-footer a:focus-visible { color: var(--rpc-accent-2); text-decoration: underline; }
.rpc-site-footer__identity, .rpc-site-footer__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px 12px; }
.rpc-site-footer__meta { color: #797c84; white-space: nowrap; }
.rpc-site-footer__mode { font-weight: 800; }
.rpc-site-footer__mode--testing { color: #f0d276; }
.rpc-site-footer__mode--production { color: #6ee981; }
.rpc-site-footer__mode--unconfigured { color: #ff9fa8; }
.rpc-site-footer__legal { align-items: center; display: flex; flex-wrap: wrap; gap: 9px 16px; }

.rpc-legal { display: grid; gap: 22px; }
.rpc-legal__hero small { color: var(--rpc-subtle); display: block; font-size: .7rem; font-weight: 750; margin-top: 14px; }
.rpc-legal__layout { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); }
.rpc-legal__toc { position: sticky; top: 88px; }
.rpc-legal__toc > strong { display: block; font-size: .82rem; margin-bottom: 12px; }
.rpc-legal__toc ol { display: grid; gap: 7px; margin: 0; padding-left: 20px; }
.rpc-legal__toc li { color: var(--rpc-subtle); font-size: .7rem; line-height: 1.35; padding-left: 2px; }
.rpc-legal__toc a { color: var(--rpc-muted); text-decoration: none; }
.rpc-legal__toc a:hover, .rpc-legal__toc a:focus-visible { color: var(--rpc-accent); text-decoration: underline; }
.rpc-legal__toc p { border-top: 1px solid var(--rpc-border-soft); font-size: .7rem; margin: 15px 0 0; padding-top: 13px; }
.rpc-legal__content { display: grid; gap: 16px; min-width: 0; }
.rpc-legal__section { scroll-margin-top: 92px; }
.rpc-legal__section h2 { font-size: 1.1rem; margin: 0 0 13px; }
.rpc-legal__section p, .rpc-legal__section li { color: var(--rpc-muted); font-size: .76rem; line-height: 1.68; }
.rpc-legal__section p { margin: 0 0 12px; }
.rpc-legal__section p:last-child { margin-bottom: 0; }
.rpc-legal__section ul { display: grid; gap: 7px; margin: 0 0 13px; padding-left: 21px; }
.rpc-legal__section strong { color: var(--rpc-ink); }
.rpc-legal-callout { background: #102016; border: 1px solid #2d5c38; border-radius: var(--rpc-control-radius); margin: 4px 0 14px; padding: 15px 17px; }
.rpc-legal-callout > strong { color: var(--rpc-accent); display: block; font-size: .78rem; margin-bottom: 5px; }
.rpc-legal-callout p { color: #cfead4; margin: 0; }

:focus-visible { outline: 2px solid #76eb89; outline-offset: 3px; }

/* WordPress login and registration */
body.login { background: radial-gradient(circle at 50% 10%, rgba(66,190,94,.16), transparent 32%), #08090a; color: #fff; font-family: var(--rpc-font); }
body.login #login { padding-top: 7vh; width: min(92vw, 420px); }
body.login h1 a { background: none; color: #fff; height: auto; margin-bottom: 22px; text-indent: 0; width: auto; }
body.login h1 a::before { align-items: center; background: var(--rpc-brand-fill); border: 2px solid var(--rpc-brand-border); border-radius: var(--rpc-control-radius); box-shadow: 0 0 0 2px rgba(110, 233, 129, .08); color: var(--rpc-brand-border); content: "R"; display: inline-flex; font-size: 1rem; font-weight: 900; height: 36px; justify-content: center; margin-right: 10px; width: 36px; }
body.login form { background: #151619; border: 1px solid #303238; border-radius: 18px; box-shadow: var(--rpc-shadow); padding: 28px; }
body.login label { color: #c8c9ce; font-size: .76rem; }
body.login form .input, body.login input[type="text"] { background: #0d0e10; border: 1px solid #34363c; border-radius: 10px; color: #fff; min-height: 46px; }
body.login form .input:focus { border-color: var(--rpc-accent); box-shadow: 0 0 0 2px rgba(110,233,129,.18); }
body.login .button-primary { background: linear-gradient(135deg, var(--rpc-button-start), var(--rpc-button-end)); border: 1px solid #328b4b; border-radius: var(--rpc-control-radius); color: #fff; font-weight: 800; min-height: 40px; padding: 0 18px; text-shadow: 0 1px 1px rgba(0,0,0,.32); }
body.login #nav a, body.login #backtoblog a, body.login .privacy-policy-page-link a { color: #aeb0b7; }
body.login .message, body.login .notice, body.login #login_error { background: #17181b; border-color: var(--rpc-accent); color: #eee; }
body.login #wfls-prompt-overlay { background-color: #151619 !important; color: #fff; }
.rpc-turnstile-field { clear: both; display: grid; gap: 7px; margin: 16px 0 19px; min-width: 0; }
.rpc-turnstile-field__label { color: #c8c9ce; font-size: .72rem; font-weight: 750; }
.rpc-turnstile-field .cf-turnstile { min-height: 65px; max-width: 100%; overflow: hidden; width: 100%; }
.rpc-turnstile-field iframe { max-width: 100%; }
.rpc-turnstile-field__notice { color: var(--rpc-danger); font-size: .75rem; margin: 0; }

@media (max-width: 1180px) {
    :root { --rpc-sidebar-width: 224px; }
    .rpc-brand__tag { display: none; }
    .rpc-hero { grid-template-columns: minmax(0, 1fr) minmax(270px, .75fr); }
    .rpc-token-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .rpc-catalog-browser { grid-template-columns: 1fr; }
    .rpc-catalog-filter-drawer { background: #121315; border: 1px solid var(--rpc-border); border-radius: 14px; }
    .rpc-catalog-filter-drawer > summary { align-items: center; color: #f0f1f2; cursor: pointer; display: flex; font-size: .78rem; font-weight: 800; justify-content: space-between; list-style: none; min-height: 46px; padding: 11px 14px; }
    .rpc-catalog-filter-drawer > summary::-webkit-details-marker { display: none; }
    .rpc-catalog-filter-drawer > summary::after { color: var(--rpc-accent); content: "+"; font-size: 1rem; margin-left: 12px; }
    .rpc-catalog-filter-drawer[open] > summary::after { content: "−"; }
    .rpc-catalog-filter-drawer > summary small { color: var(--rpc-muted); font-size: .64rem; font-weight: 650; margin-left: auto; }
    .rpc-catalog-filter-drawer:not([open]) > .rpc-catalog-filter-panel { display: none; }
    .rpc-catalog-filter-panel { border: 0; border-radius: 0 0 14px 14px; box-shadow: inset 0 1px var(--rpc-border-soft); display: block; max-height: none; overflow: visible; position: static; }
    .rpc-app-shell { display: block; }
    .rpc-sidebar { display: none; }
    .rpc-topbar { min-height: 64px; padding-inline: 18px; }
    .rpc-mobile-brand { align-items: center; color: #fff; display: flex; font-size: .86rem; font-weight: 800; gap: 8px; text-decoration: none; }
    .rpc-mobile-brand .rpc-brand__mark { flex-basis: 30px; height: 30px; }
    .rpc-topbar__context { display: none; }
    .rpc-mobile-nav { background: rgba(12,13,15,.96); border-bottom: 1px solid var(--rpc-border-soft); display: flex; gap: 6px; overflow-x: auto; padding: 8px 16px 10px; position: sticky; scrollbar-width: none; top: 64px; z-index: 35; }
    .rpc-mobile-nav::-webkit-scrollbar { display: none; }
    .rpc-mobile-nav a { border: 1px solid #292b30; border-radius: var(--rpc-control-radius); color: #aeb0b6; flex: 0 0 auto; font-size: .72rem; font-weight: 700; padding: 7px 12px; text-decoration: none; }
    .rpc-mobile-nav a.is-active { background: var(--rpc-accent-soft); border-color: #4eaf60; color: #fff; }
    .rpc-mobile-nav a.rpc-private-link { background: #241418; border-color: #5d2a34; color: #f4a0a9; }
    .rpc-mobile-nav a.rpc-private-link.is-active { background: #421b23; border-color: #c34e61; color: #fff1f2; }
    .rpc-main { padding: 16px 18px 50px; }
    .rpc-hero { grid-template-columns: 1fr; min-height: auto; padding: clamp(30px, 7vw, 56px); }
    .rpc-hero__visual { max-width: 430px; }
    .rpc-quick-actions { grid-template-columns: 1fr; }
    .rpc-quick-actions > a + a { border-left: 0; border-top: 1px solid var(--rpc-border); }
    .rpc-card-grid, .rpc-account__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .rpc-award-grid { grid-template-columns: 1fr; }
    .rpc-award-card { grid-template-columns: 1fr; }
    .rpc-award-card dl { grid-column: auto; }
    .rpc-award-card dl > div { grid-template-columns: 1fr; gap: 3px; }
    .rpc-catalog-results-toolbar { grid-template-columns: 1fr; }
    .rpc-catalog-results-toolbar .rpc-button { width: 100%; }
    .rpc-catalog-view-toggle { display: flex; width: 100%; }
    .rpc-catalog-view-toggle button { flex: 1; text-align: center; }
    .rpc-catalog-results-summary { align-items: stretch; flex-direction: column; }
    .rpc-active-filter-chips { justify-content: flex-start; }
    .rpc-admin-character-tools { grid-template-columns: 1fr; }
    .rpc-admin-token-tools { grid-template-columns: 1fr; }
    .rpc-admin-token-tool, .rpc-admin-token-tool:first-child, .rpc-admin-token-tool:last-child { border-left: 0; padding: 0; }
    .rpc-admin-token-tool:first-child { border-bottom: 1px solid var(--rpc-border-soft); margin-bottom: 18px; padding-bottom: 18px; }
    .rpc-admin-character-tool, .rpc-admin-character-tool:first-child, .rpc-admin-character-tool:last-child, .rpc-admin-character-tool:nth-child(2) { border-left: 0; padding: 0; }
    .rpc-admin-character-tool--finder, .rpc-admin-character-tool + .rpc-admin-character-tool { border-bottom: 1px solid var(--rpc-border-soft); margin: 0 0 18px; padding-bottom: 18px; }
    .rpc-admin-character-tool:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
    .rpc-topbar__actions .rpc-top-link { display: none; }
    .rpc-avatar-button { flex-basis: 40px; height: 40px; width: 40px; }
    .rpc-token-pill { font-size: 0; padding: 8px 11px; }
    .rpc-token-pill span { font-size: .9rem; }
    .rpc-main { padding-inline: 12px; }
    .rpc-hero { border-radius: 20px; padding: 30px 22px; }
    .rpc-hero h1 { font-size: clamp(2.1rem, 10vw, 2.65rem); line-height: 1.04; }
    .rpc-hero h1 { overflow-wrap: anywhere; }
    .rpc-hero__visual { max-width: 340px; }
    .rpc-floating-stat { padding: 8px; }
    .rpc-floating-stat--top { right: 0; }
    .rpc-floating-stat--bottom { left: 0; }
    .rpc-actions { align-items: stretch; flex-direction: column; }
    .rpc-button { width: 100%; }
    .rpc-feature-grid, .rpc-card-grid, .rpc-account__grid, .rpc-token-grid { grid-template-columns: 1fr; }
    .rpc-feature-card { min-height: 220px; }
    .rpc-section__heading { align-items: flex-start; flex-direction: column; }
    .rpc-page-shell__header h1, .rpc-account__header h1 { font-size: clamp(2rem, 9vw, 2.5rem); }
    .rpc-details { grid-template-columns: 1fr; }
    .rpc-details dd { margin-bottom: 8px; }
    .rpc-action-dialog { max-height: calc(100dvh - 24px); max-width: calc(100vw - 24px); }
    .rpc-action-dialog__surface { max-height: calc(100dvh - 24px); }
    .rpc-action-dialog__header { padding: 21px 62px 17px 18px; }
    .rpc-action-dialog__header h2 { font-size: 1.2rem; }
    .rpc-action-dialog__body { gap: 15px; padding: 18px; }
    .rpc-listing-choices { grid-template-columns: 1fr; }
    .rpc-listing-choice { min-height: 0; }
    .rpc-action-dialog__footer { align-items: stretch; flex-direction: column; }
    .rpc-action-dialog__footer .rpc-button { min-width: 0; width: 100%; }
    .rpc-action-dialog__close { right: 14px; top: 14px; }
    .rpc-site-footer { align-items: flex-start; flex-direction: column; }
    .rpc-legal__layout { grid-template-columns: 1fr; }
    .rpc-legal__toc { position: static; }
}

.rpc-life-events { display: grid; gap: 18px; }
.rpc-life-events > .rpc-panel-heading { align-items: flex-start; margin-bottom: 0; }
.rpc-life-events > .rpc-panel-heading p { line-height: 1.6; max-width: 720px; }
.rpc-life-events__filters { align-items: end; background: #101113; border: 1px solid var(--rpc-border-soft); border-radius: 12px; display: flex; flex-wrap: wrap; gap: var(--rpc-form-section-gap); padding: 13px; }
.rpc-life-events__filters label { display: grid; gap: 5px; min-width: 145px; }
.rpc-life-events__filters label > span { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); font-weight: 750; }
.rpc-life-events__filters select { appearance: auto; background: var(--rpc-field-bg); border: 1px solid var(--rpc-field-border); border-radius: var(--rpc-field-radius); box-shadow: 0 0 0 2px rgba(110, 233, 129, .08); color: #fff; color-scheme: dark; font-size: .72rem; min-height: 34px; padding: 6px 28px 6px 9px; width: 100%; }
.rpc-life-events__filters select:focus { border-color: var(--rpc-accent); box-shadow: var(--rpc-field-focus); outline: none; }
.rpc-life-events__filters .rpc-button { font-size: .7rem; min-height: 34px; padding: 6px 12px; width: auto; }
.rpc-life-events__timeline { display: grid; gap: 0; position: relative; }
.rpc-life-event { display: grid; gap: 14px; grid-template-columns: 13px minmax(0, 1fr); padding: 0 0 16px; position: relative; }
.rpc-life-event:last-child { padding-bottom: 0; }
.rpc-life-event::before { background: #304035; bottom: 0; content: ""; left: 6px; position: absolute; top: 13px; width: 1px; }
.rpc-life-event:last-child::before { display: none; }
.rpc-life-event__marker { background: var(--rpc-accent); border: 3px solid #1a2b1e; border-radius: 50%; box-shadow: 0 0 0 1px #42794c; height: 13px; margin-top: 17px; position: relative; width: 13px; z-index: 1; }
.rpc-life-event__content { background: #111315; border: 1px solid #292d31; border-radius: 12px; padding: 14px 16px; }
.rpc-life-event__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 7px 10px; justify-content: space-between; }
.rpc-life-event__meta time, .rpc-life-event__content small { color: #858991; font-size: .65rem; }
.rpc-life-event__visibility { background: #19291d; border: 1px solid #31553a; border-radius: var(--rpc-label-radius); color: #8dec9d; font-size: .62rem; font-weight: 750; padding: 4px 7px; }
.rpc-life-event__content h3 { font-size: .9rem; margin: 8px 0 5px; }
.rpc-life-event__content p { color: #d0d2d6; font-size: .76rem; line-height: 1.6; margin: 0 0 8px; }
.rpc-life-event--private::before { background: #5f3038; }
.rpc-life-event--private .rpc-life-event__marker { background: var(--rpc-private); border-color: #35191e; box-shadow: 0 0 0 1px #8e4050; }
.rpc-life-event--private .rpc-life-event__content { background: linear-gradient(145deg, rgba(240, 85, 104, .06), transparent 45%), #151113; border-color: #57303a; }
.rpc-life-event--private .rpc-life-event__visibility { background: #32191f; border-color: #733744; color: #f3a3ad; }
.rpc-life-events__empty { align-items: center; background: #111315; border: 1px dashed #34373d; border-radius: 12px; color: var(--rpc-muted); display: flex; font-size: .76rem; gap: 10px; justify-content: center; min-height: 110px; padding: 20px; text-align: center; }
.rpc-life-events__empty span { color: var(--rpc-accent); font-size: 1rem; }
.rpc-life-events__empty p { margin: 0; }
.rpc-life-events__pagination { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: flex; gap: 12px; justify-content: space-between; padding-top: 14px; }
.rpc-life-events__pagination > span { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); white-space: nowrap; }
.rpc-life-events__pagination > div { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rpc-inline-control-gap); justify-content: flex-end; }
.rpc-life-events__pagination .rpc-button, .rpc-life-events__page-current { border-radius: var(--rpc-label-radius); font-size: var(--rpc-compact-font-size); line-height: 1.2; min-height: 28px; min-width: 28px; padding: 5px 8px; width: auto; }
.rpc-life-events__page-current { align-items: center; background: #18321f; border: 1px solid #3c8e4d; color: #eaffed; display: inline-flex; font-weight: 800; justify-content: center; }

.rpc-public-profile, .rpc-public-profile-settings { display: grid; gap: 16px; }
.rpc-public-profile__layout { display: grid; gap: 16px; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); }
.rpc-public-profile__about, .rpc-public-profile__featured { min-height: 100%; }
.rpc-public-profile__description { color: var(--rpc-ink); font-size: .86rem; line-height: 1.75; margin-bottom: 0; overflow-wrap: anywhere; }
.rpc-public-profile__featured { align-items: center; background: linear-gradient(145deg, rgba(110,233,129,.055), transparent 48%), var(--rpc-surface); display: grid; gap: 20px; grid-template-columns: minmax(160px, 210px) minmax(0, 1fr); overflow: hidden; }
.rpc-public-profile__featured h2 { margin-bottom: 7px; }
.rpc-public-profile__featured h2 a { color: var(--rpc-ink); text-decoration: none; }
.rpc-public-profile__featured h2 a:hover { color: var(--rpc-accent); }
.rpc-public-profile__media { background: var(--rpc-surface-2); border: 1px solid #35503d; border-radius: 14px; display: block; overflow: hidden; width: 100%; }
.rpc-public-profile__media .rpc-character-placeholder { width: 100%; }
.rpc-public-profile__image { aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: 50% 24%; width: 100%; }
.rpc-public-profile__featured-copy { align-items: flex-start; display: flex; flex-direction: column; min-width: 0; }
.rpc-public-profile__featured-copy .rpc-button { margin-top: 12px; }
.rpc-public-profile__meta { color: var(--rpc-muted); font-size: .76rem; margin: 0; }
.rpc-public-profile-settings__form, .rpc-public-profile-settings__featured { display: flex; flex-direction: column; gap: 14px; }

.rpc-wrapper-section { display: flex; flex-direction: column; gap: 20px; }
.rpc-wrapper-layout { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(230px, 330px) minmax(0, 1fr); }
.rpc-wrapped-card { align-items: center; aspect-ratio: 5 / 7; background: radial-gradient(circle at 22% 10%, rgba(255,255,255,.16), transparent 24%), linear-gradient(145deg, #22272a 0%, #090b0d 48%, #171b1d 100%); border: 1px solid #3f474d; border-radius: 18px; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -22px 44px rgba(0,0,0,.6), 0 20px 55px rgba(0,0,0,.38); display: flex; flex-direction: column; justify-content: center; min-height: 360px; overflow: hidden; padding: 30px; position: relative; text-align: center; }
.rpc-wrapped-card::before, .rpc-wrapped-card::after { border: 1px solid rgba(255,255,255,.09); border-radius: 14px; content: ""; inset: 12px; pointer-events: none; position: absolute; }
.rpc-wrapped-card::after { border-radius: 10px; inset: 19px; }
.rpc-wrapped-card--opportunity { background: radial-gradient(circle at 22% 10%, rgba(255,222,89,.28), transparent 25%), linear-gradient(145deg, #34301c 0%, #0b0c0d 48%, #25200e 100%); border-color: #a89135; box-shadow: inset 0 1px 0 rgba(255,245,181,.24), inset 0 -22px 44px rgba(0,0,0,.62), 0 20px 55px rgba(121,94,11,.2); }
.rpc-wrapped-card--owned { background: radial-gradient(circle at 22% 10%, rgba(110,233,129,.28), transparent 25%), linear-gradient(145deg, #203525 0%, #090c0a 48%, #102617 100%); border-color: #3f8e55; box-shadow: inset 0 1px 0 rgba(185,255,196,.22), inset 0 -22px 44px rgba(0,0,0,.62), 0 20px 55px rgba(19,111,48,.2); }
.rpc-wrapped-card--offspring-male { background: radial-gradient(circle at 22% 10%, rgba(91,184,255,.34), transparent 25%), linear-gradient(145deg, #18354b 0%, #080c11 48%, #10273c 100%); border-color: #3e8bc0; box-shadow: inset 0 1px 0 rgba(178,226,255,.24), inset 0 -22px 44px rgba(0,0,0,.62), 0 20px 55px rgba(24,111,174,.22); }
.rpc-wrapped-card--offspring-female { background: radial-gradient(circle at 22% 10%, rgba(255,129,191,.34), transparent 25%), linear-gradient(145deg, #4a2037 0%, #10080d 48%, #351329 100%); border-color: #bd5e8d; box-shadow: inset 0 1px 0 rgba(255,196,226,.24), inset 0 -22px 44px rgba(0,0,0,.62), 0 20px 55px rgba(166,45,105,.22); }
.rpc-wrapped-card__shine { background: linear-gradient(112deg, transparent 20%, rgba(255,255,255,.13) 42%, transparent 60%); inset: -30% -55%; pointer-events: none; position: absolute; transform: rotate(-9deg); }
.rpc-wrapped-card__eyebrow { color: #f4d75e; font-size: .72rem; font-weight: 850; letter-spacing: .15em; position: relative; text-transform: uppercase; }
.rpc-wrapped-card--owned .rpc-wrapped-card__eyebrow { color: var(--rpc-accent); }
.rpc-wrapped-card--offspring-male .rpc-wrapped-card__eyebrow { color: #8fd2ff; }
.rpc-wrapped-card--offspring-female .rpc-wrapped-card__eyebrow { color: #ffabd3; }
.rpc-wrapped-card--neutral .rpc-wrapped-card__eyebrow { color: #bcc4c8; }
.rpc-wrapped-card strong { color: #fff; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.05; margin: 16px 0 8px; position: relative; }
.rpc-wrapped-card > span:last-child { color: #c8ced1; font-size: .82rem; position: relative; }
.rpc-unwrap-reveal { background: transparent; border: 0; color: var(--rpc-ink); inset: 0; margin: auto; max-height: calc(100dvh - 24px); max-width: min(94vw, 560px); overflow: visible; padding: 0; position: fixed; width: 100%; }
.rpc-unwrap-reveal::backdrop { backdrop-filter: blur(8px); background: rgba(1, 3, 2, .88); }
.rpc-unwrap-reveal__surface { align-items: center; background: radial-gradient(circle at 50% 34%, rgba(255,255,255,.05), transparent 42%), #111315; border: 1px solid #34393b; border-radius: 20px; box-shadow: 0 30px 100px rgba(0,0,0,.82); display: flex; flex-direction: column; max-height: calc(100dvh - 24px); overflow: auto; padding: 24px clamp(20px, 5vw, 38px) 30px; position: relative; text-align: center; }
.rpc-unwrap-reveal--opportunity { --rpc-unwrap-accent: #e0c64d; --rpc-unwrap-glow: rgba(202,165,36,.34); --rpc-unwrap-foil: radial-gradient(circle at 22% 10%, rgba(255,222,89,.28), transparent 25%), linear-gradient(145deg, #34301c 0%, #0b0c0d 48%, #25200e 100%); }
.rpc-unwrap-reveal--owned { --rpc-unwrap-accent: #6ee981; --rpc-unwrap-glow: rgba(37,183,79,.34); --rpc-unwrap-foil: radial-gradient(circle at 22% 10%, rgba(110,233,129,.28), transparent 25%), linear-gradient(145deg, #203525 0%, #090c0a 48%, #102617 100%); }
.rpc-unwrap-reveal--offspring-male { --rpc-unwrap-accent: #8fd2ff; --rpc-unwrap-glow: rgba(43,145,219,.38); --rpc-unwrap-foil: radial-gradient(circle at 22% 10%, rgba(91,184,255,.34), transparent 25%), linear-gradient(145deg, #18354b 0%, #080c11 48%, #10273c 100%); }
.rpc-unwrap-reveal--offspring-female { --rpc-unwrap-accent: #ffabd3; --rpc-unwrap-glow: rgba(211,76,142,.38); --rpc-unwrap-foil: radial-gradient(circle at 22% 10%, rgba(255,129,191,.34), transparent 25%), linear-gradient(145deg, #4a2037 0%, #10080d 48%, #351329 100%); }
.rpc-unwrap-reveal__skip { align-self: flex-end; position: relative; z-index: 10; }
.rpc-unwrap-reveal__skip[hidden], .rpc-unwrap-reveal__continue[hidden] { display: none; }
.rpc-unwrap-reveal__header { margin: 5px 0 15px; }
.rpc-unwrap-reveal__header .rpc-eyebrow { color: var(--rpc-unwrap-accent); justify-content: center; margin: 0 0 6px; }
.rpc-unwrap-reveal__header h2 { font-size: 1.25rem; margin: 0; }
.rpc-unwrap-reveal__stage { aspect-ratio: 5 / 7; border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.08); max-height: min(52dvh, 420px); overflow: visible; perspective: 1100px; position: relative; transform-style: preserve-3d; width: min(76vw, 300px); }
.rpc-unwrap-reveal__revealed, .rpc-unwrap-reveal__foil { border-radius: inherit; inset: 0; overflow: hidden; position: absolute; }
.rpc-unwrap-reveal__revealed { background: #0d100e; border: 1px solid #486b52; border-color: color-mix(in srgb, var(--rpc-unwrap-accent) 52%, #354039); box-shadow: 0 0 48px var(--rpc-unwrap-glow); opacity: .35; transform: scale(.94); }
.rpc-unwrap-reveal__portrait, .rpc-unwrap-reveal__portrait img, .rpc-unwrap-reveal__portrait .rpc-character-placeholder { height: 100%; width: 100%; }
.rpc-unwrap-reveal__portrait img { display: block; object-fit: cover; object-position: 50% 24%; }
.rpc-unwrap-reveal__portrait .rpc-character-placeholder { align-items: center; display: flex; justify-content: center; }
.rpc-unwrap-reveal__identity { align-items: flex-start; background: linear-gradient(180deg, transparent, rgba(3,5,4,.94)); bottom: 0; display: flex; flex-direction: column; gap: 4px; left: 0; padding: 50px 18px 17px; position: absolute; right: 0; text-align: left; }
.rpc-unwrap-reveal__identity .rpc-status-badge { border-color: #52785a; border-color: color-mix(in srgb, var(--rpc-unwrap-accent) 60%, #304035); color: var(--rpc-unwrap-accent); }
.rpc-unwrap-reveal__identity strong { color: #fff; font-size: 1.05rem; line-height: 1.2; margin-top: 4px; }
.rpc-unwrap-reveal__identity small { color: #c1c8c3; font-size: .68rem; }
.rpc-unwrap-reveal__foil { overflow: visible; transform-style: preserve-3d; z-index: 3; }
.rpc-unwrap-reveal__foil-piece { background: var(--rpc-unwrap-foil); background-size: 200% 100%; border-color: #60705f; border-color: color-mix(in srgb, var(--rpc-unwrap-accent) 55%, #3f474d); border-style: solid; bottom: 0; position: absolute; top: 0; width: calc(50% + 1px); will-change: opacity, transform; z-index: 2; }
.rpc-unwrap-reveal__foil-piece--left { background-position: left center; border-radius: 18px 0 0 18px; border-width: 1px 0 1px 1px; left: 0; transform-origin: right center; }
.rpc-unwrap-reveal__foil-piece--right { background-position: right center; border-radius: 0 18px 18px 0; border-width: 1px 1px 1px 0; right: 0; transform-origin: left center; }
.rpc-unwrap-reveal__foil-copy { align-items: center; display: flex; flex-direction: column; inset: 0; justify-content: center; pointer-events: none; position: absolute; z-index: 4; }
.rpc-unwrap-reveal__foil-copy > span { color: var(--rpc-unwrap-accent); font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.rpc-unwrap-reveal__foil-copy strong { color: #fff; font-size: clamp(1.9rem, 8vw, 2.7rem); line-height: 1; margin: 16px 0 9px; }
.rpc-unwrap-reveal__foil-copy small { color: #c8ced1; font-size: .72rem; }
.rpc-unwrap-reveal__shine { background: linear-gradient(112deg, transparent 18%, rgba(255,255,255,.2) 42%, transparent 62%); inset: -35% -70%; pointer-events: none; position: absolute; transform: translateX(-45%) rotate(-9deg); z-index: 3; }
.rpc-unwrap-reveal__seam { background: linear-gradient(180deg, transparent, #fff 18%, var(--rpc-unwrap-accent) 50%, #fff 82%, transparent); bottom: 4%; box-shadow: 0 0 15px var(--rpc-unwrap-accent), 0 0 30px var(--rpc-unwrap-glow); left: calc(50% - 1px); opacity: 0; position: absolute; top: 4%; transform: scaleY(0); transform-origin: top; width: 2px; z-index: 5; }
.rpc-unwrap-reveal__outcome { color: #cbd0cc; font-size: .8rem; line-height: 1.55; margin: 18px 0 14px; min-height: 2.5em; max-width: 400px; }
.rpc-unwrap-reveal__continue { border-color: #48a55c; border-color: color-mix(in srgb, var(--rpc-unwrap-accent) 70%, #328b4b); min-width: 220px; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__stage { animation: rpc-unwrap-lift 4.2s cubic-bezier(.22,.75,.25,1) both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__revealed { animation: rpc-unwrap-card-reveal 4.2s ease-out both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__foil-piece--left { animation: rpc-unwrap-peel-left 4.2s cubic-bezier(.3,.72,.22,1) both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__foil-piece--right { animation: rpc-unwrap-peel-right 4.2s cubic-bezier(.3,.72,.22,1) both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__foil-copy { animation: rpc-unwrap-copy-fade 4.2s ease both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__shine { animation: rpc-unwrap-shine 4.2s ease-in-out both; }
.rpc-unwrap-reveal.is-active:not(.is-complete) .rpc-unwrap-reveal__seam { animation: rpc-unwrap-seam 4.2s ease-in-out both; }
.rpc-unwrap-reveal.is-complete .rpc-unwrap-reveal__revealed { opacity: 1; transform: none; }
.rpc-unwrap-reveal.is-complete .rpc-unwrap-reveal__foil { display: none; }
body.rpc-unwrap-reveal-open { overflow: hidden; }
@keyframes rpc-unwrap-lift { 0%, 15% { transform: translateY(4px) scale(.985); } 34% { transform: translateY(-7px) scale(1.015); } 100% { transform: translateY(0) scale(1); } }
@keyframes rpc-unwrap-card-reveal { 0%, 34% { filter: brightness(.42) saturate(.65); opacity: .35; transform: scale(.94); } 68% { filter: brightness(1.08) saturate(1.08); opacity: 1; transform: scale(1.015); } 100% { filter: none; opacity: 1; transform: scale(1); } }
@keyframes rpc-unwrap-peel-left { 0%, 31% { opacity: 1; transform: translateX(0) rotateY(0) rotateZ(0); } 58% { opacity: 1; transform: translateX(-30%) rotateY(24deg) rotateZ(-1deg); } 100% { opacity: 0; transform: translateX(-112%) rotateY(42deg) rotateZ(-4deg); } }
@keyframes rpc-unwrap-peel-right { 0%, 31% { opacity: 1; transform: translateX(0) rotateY(0) rotateZ(0); } 58% { opacity: 1; transform: translateX(30%) rotateY(-24deg) rotateZ(1deg); } 100% { opacity: 0; transform: translateX(112%) rotateY(-42deg) rotateZ(4deg); } }
@keyframes rpc-unwrap-copy-fade { 0%, 26% { opacity: 1; transform: scale(1); } 38%, 100% { opacity: 0; transform: scale(.97); } }
@keyframes rpc-unwrap-shine { 0% { opacity: .3; transform: translateX(-48%) rotate(-9deg); } 28% { opacity: 1; transform: translateX(42%) rotate(-9deg); } 42%, 100% { opacity: 0; transform: translateX(58%) rotate(-9deg); } }
@keyframes rpc-unwrap-seam { 0%, 14% { opacity: 0; transform: scaleY(0); } 24%, 34% { opacity: 1; transform: scaleY(1); } 48%, 100% { opacity: 0; transform: scaleY(1); } }
.rpc-wrapped-catalog-section { display: grid; gap: 18px; margin-bottom: 22px; }
.rpc-wrapped-catalog-section > .rpc-panel-heading { margin-bottom: 0; }
.rpc-wrapped-catalog-card .rpc-wrapped-card { aspect-ratio: 4 / 5; border-left: 0; border-radius: 16px 16px 0 0; border-right: 0; border-top: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -18px 38px rgba(0,0,0,.62); min-height: 0; padding: 22px; width: 100%; }
.rpc-wrapped-catalog-card .rpc-wrapped-card strong { font-size: clamp(1.45rem, 2.8vw, 2.15rem); }
.rpc-wrapped-catalog-card .rpc-wrapped-card__eyebrow { font-size: .66rem; }
.rpc-wrapped-catalog-card .rpc-character-card__body p { margin-bottom: 0; }
.rpc-sealed-character-details { align-self: start; }
.rpc-sealed-character-details > p { max-width: 720px; }
.rpc-sealed-character-details .rpc-details { margin-top: 20px; }
.rpc-sealed-character-image-notice { margin: 20px 0 0; }
.rpc-sealed-character-image-notice strong { display: block; margin-bottom: 4px; }
.rpc-sealed-character-image-notice p { margin: 0; max-width: 760px; }
.rpc-testing-module-grid { align-items: start; margin-top: 22px; }
.rpc-testing-module-grid .rpc-form-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-testing-module-grid .rpc-form-grid > label { align-content: start; align-self: start; min-width: 0; }
.rpc-testing-module-grid .rpc-form-grid input, .rpc-testing-module-grid .rpc-form-grid select { height: 42px; min-height: 42px; }
.rpc-testing-module-grid .rpc-form-grid small { color: var(--rpc-muted); display: block; font-size: .65rem; line-height: 1.45; margin-top: 2px; }
.rpc-testing-module-grid .rpc-section-stack { display: grid; gap: 14px; margin-top: 26px; min-width: 0; }
.rpc-testing-module-grid .rpc-section-stack > h3 { margin: 0 0 2px; }
.rpc-testing-record { align-items: center; display: flex; gap: 16px; justify-content: space-between; min-height: 0; padding: 16px; }
.rpc-testing-record p { margin: 3px 0; }
.rpc-testing-record small { color: var(--rpc-muted); }
.rpc-testing-record .rpc-button { flex: 0 0 auto; }
.rpc-algorithm-batch { display: grid; gap: 18px; margin-top: 22px; }
.rpc-algorithm-batch .rpc-section-stack { display: grid; gap: 14px; min-width: 0; }
.rpc-algorithm-batch .rpc-section-stack > .rpc-panel-heading { margin-bottom: 0; }
.rpc-algorithm-batch > .rpc-two-column { align-items: start; }
.rpc-algorithm-batch > .rpc-two-column > .rpc-card { min-height: 0; }
.rpc-algorithm-batch__feedback { margin: 0; }
.rpc-algorithm-batch__estimate { margin: 0; }
.rpc-algorithm-batch__estimate.is-over-capacity { background: #2a2415; border-color: #8b6f22; color: #ffe49a; }
.rpc-algorithm-batch .rpc-batch-history { gap: 20px; margin-top: 8px; }
.rpc-algorithm-batch .rpc-batch-history > .rpc-panel-heading { margin-bottom: 4px; }
.rpc-algorithm-batch progress { appearance: none; background: #292b2f; border: 0; border-radius: 999px; display: block; height: 9px; overflow: hidden; width: 100%; }
.rpc-algorithm-batch progress::-webkit-progress-bar { background: #292b2f; border-radius: 999px; }
.rpc-algorithm-batch progress::-webkit-progress-value { background: linear-gradient(90deg, var(--rpc-accent-2), var(--rpc-accent)); border-radius: 999px; }
.rpc-algorithm-batch progress::-moz-progress-bar { background: linear-gradient(90deg, var(--rpc-accent-2), var(--rpc-accent)); border-radius: 999px; }
.rpc-batch-record { display: grid; gap: 14px; min-height: 0; padding: 21px 24px; }
.rpc-batch-record > .rpc-panel-heading { align-items: flex-start; margin: 0; }
.rpc-batch-record .rpc-panel-heading h3 { line-height: 1.2; margin: 2px 0 0; }
.rpc-batch-record .rpc-eyebrow { margin: 0; }
.rpc-batch-record__facts { display: grid; gap: 6px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.rpc-batch-record__facts > div { align-items: baseline; display: flex; gap: 5px; min-width: 0; }
.rpc-batch-record__facts dt { color: var(--rpc-ink); font-size: .74rem; font-weight: 750; }
.rpc-batch-record__facts dt::after { content: ":"; }
.rpc-batch-record__facts dd { color: var(--rpc-muted); font-size: .74rem; line-height: 1.4; margin: 0; min-width: 0; }
.rpc-batch-record__progress { display: grid; gap: 7px; }
.rpc-batch-record__progress p, .rpc-batch-record__results p, .rpc-batch-record__details p { line-height: 1.45; margin: 0; }
.rpc-batch-record__results { display: grid; gap: 5px; }
.rpc-batch-record__secondary, .rpc-batch-record__details p { color: var(--rpc-muted); font-size: .7rem; }
.rpc-batch-record__details { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 4px; padding-top: 11px; }
.rpc-batch-record__actions { margin-top: 2px; }
.rpc-wrapper-copy { display: flex; flex-direction: column; gap: 15px; }
.rpc-wrapper-copy > * { margin-bottom: 0; }
.rpc-wrapper-portrait { aspect-ratio: 4 / 5; border: 1px solid #365240; border-radius: 14px; display: block; overflow: hidden; }
.rpc-wrapper-portrait img, .rpc-wrapper-portrait .rpc-character-placeholder { height: 100%; object-fit: cover; object-position: 50% 24%; width: 100%; }
.rpc-inline-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.rpc-inline-actions form { margin: 0; }
.rpc-starter-pool { display: flex; flex-direction: column; gap: 20px; }
.rpc-starter-filters { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(180px, 1.5fr) minmax(165px, 1fr) minmax(130px, .7fr) auto; }
.rpc-starter-filters label { margin: 0; }
.rpc-starter-pagination { align-items: center; border-top: 1px solid var(--rpc-line); display: flex; justify-content: space-between; margin-top: 18px; padding-top: 16px; }
.rpc-starter-pagination > div { display: flex; gap: 8px; }
.rpc-sealed-character { align-items: center; display: grid; gap: 32px; grid-template-columns: minmax(230px, 330px) minmax(0, 1fr); }
.rpc-sealed-character > div:last-child { align-items: flex-start; display: flex; flex-direction: column; }

@media (max-width: 820px) {
    .rpc-testing-record { align-items: flex-start; flex-direction: column; }
    .rpc-batch-record__facts { grid-template-columns: 1fr; }
    .rpc-wrapper-layout, .rpc-sealed-character { grid-template-columns: 1fr; }
    .rpc-wrapped-card { margin-inline: auto; max-width: 330px; width: 100%; }
    .rpc-starter-filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
    .rpc-unwrap-reveal { max-width: calc(100vw - 16px); }
    .rpc-unwrap-reveal__surface { border-radius: 15px; padding: 16px 16px 22px; }
    .rpc-unwrap-reveal__stage { max-height: 50dvh; width: min(72vw, 260px); }
    .rpc-unwrap-reveal__header { margin-top: 1px; }
    .rpc-unwrap-reveal__continue { min-width: 0; width: 100%; }
    .rpc-starter-filters { grid-template-columns: 1fr; }
    .rpc-starter-pagination { align-items: flex-start; flex-direction: column; gap: 12px; }
    .rpc-inline-actions { align-items: stretch; flex-direction: column; }
    .rpc-inline-actions form, .rpc-inline-actions .rpc-button { width: 100%; }
    .rpc-testing-module-grid .rpc-form-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .rpc-unwrap-reveal *, .rpc-unwrap-reveal *::before, .rpc-unwrap-reveal *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

.rpc-pregnancy-panel { margin-bottom: var(--rpc-section-gap); }
.rpc-pregnancy-grid, .rpc-request-list { display: grid; gap: 12px; }
.rpc-pregnancy-card, .rpc-request-card { background: #101311; border: 1px solid var(--rpc-border); border-radius: 13px; padding: 16px; }
.rpc-pregnancy-card .rpc-status-badge { margin-bottom: 12px; }
.rpc-request-card { align-items: center; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto; }
.rpc-request-card h3 { font-size: 1rem; margin: 3px 0 8px; }
.rpc-request-card p:not(.rpc-eyebrow) { color: var(--rpc-muted); font-size: .72rem; line-height: 1.55; margin: 4px 0; }
.rpc-request-card__actions, .rpc-action-dialog__footer { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; }
.rpc-request-card__actions form, .rpc-action-dialog__footer form { margin: 0; }
.rpc-mating-confirm-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 16px; }
.rpc-mating-confirm-grid .rpc-mating-facts { background: #0d100e; border: 1px solid var(--rpc-border-soft); border-radius: 11px; padding: 13px; }
.rpc-mate-now-summary { background: linear-gradient(145deg, rgba(34, 94, 48, .32), rgba(14, 25, 17, .96)); border: 1px solid #347747; border-radius: 12px; box-shadow: inset 0 1px 0 rgba(110, 233, 129, .08); display: grid; gap: 12px; margin-bottom: 17px; padding: 15px; }
.rpc-mate-now-summary__heading { align-items: end; display: flex; gap: 14px; justify-content: space-between; }
.rpc-mate-now-summary__heading p, .rpc-mate-now-summary__heading strong { margin: 0; }
.rpc-mate-now-summary__heading > strong { color: #c6f7cd; font-size: .7rem; }
.rpc-mate-now-summary__grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-mate-now-summary__grid > div { background: rgba(5, 10, 7, .54); border: 1px solid rgba(110, 233, 129, .18); border-radius: 8px; display: grid; gap: 3px; padding: 10px 11px; }
.rpc-mate-now-summary__grid span { color: #9da9a0; font-size: .62rem; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.rpc-mate-now-summary__grid strong { color: #f3f8f4; font-size: .78rem; line-height: 1.4; }
.rpc-mate-now-summary__grid .rpc-mate-now-summary__total { border-color: #4bb560; }
.rpc-mate-now-summary__grid .rpc-mate-now-summary__total strong { color: var(--rpc-accent); font-size: 1rem; }
.rpc-mate-now-summary__grid .rpc-mate-now-summary__failure { border-color: #746627; }
.rpc-mate-now-summary__grid .rpc-mate-now-summary__failure strong { color: #f0d768; font-size: 1rem; }
.rpc-mate-now-summary__waiver { color: #b9c7bc; font-size: .63rem; line-height: 1.4; }
.rpc-mate-now-summary__grid .rpc-mate-now-summary__beneficiary { grid-column: 1 / -1; }
.rpc-mate-now-summary > p { color: #b8c5ba; font-size: .68rem; line-height: 1.5; margin: 0; }
.rpc-mating-dialog .rpc-action-dialog__surface { max-width: 920px; }
.rpc-mating-stage { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 140px minmax(0, 1fr); overflow: hidden; position: relative; }
.rpc-mating-participant { background: #0e110f; border: 1px solid var(--rpc-border); border-radius: 14px; padding: 14px; text-align: center; }
.rpc-mating-participant > img { aspect-ratio: 4 / 5; border: 1px solid #31583a; border-radius: 11px; object-fit: cover; object-position: center; width: min(100%, 250px); }
.rpc-mating-participant h3 { margin: 11px 0 4px; }
.rpc-mating-participant > p { color: var(--rpc-muted); font-size: .7rem; margin: 0 0 10px; }
.rpc-mating-stage__center { align-items: center; align-self: center; display: flex; flex-direction: column; gap: 12px; text-align: center; }
.rpc-fertility-rate { display: block; font-size: clamp(1.7rem, 4vw, 2.7rem); line-height: 1; margin: 13px 0; }
.rpc-fertility-rate--high { color: #63e983; }
.rpc-fertility-rate--medium { color: #5fc8ff; }
.rpc-fertility-rate--low { color: #f2cf5b; }
.rpc-fertility-rate--very-low { color: #ff6b6b; }
.rpc-mating-individual-result, .rpc-mating-final { opacity: 0; transform: translateY(8px); transition: opacity .32s ease, transform .32s ease; }
.rpc-mating-individual-result.is-visible, .rpc-mating-final.is-visible { opacity: 1; transform: none; }
.rpc-mating-individual-result { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 4px; margin-top: 14px; padding-top: 12px; }
.rpc-mating-individual-result strong { font-size: 1rem; }
.rpc-mating-individual-result span { color: var(--rpc-muted); font-size: .68rem; }
.rpc-mating-final { background: #101912; border: 1px solid #2e7f41; border-radius: 13px; grid-column: 1 / -1; padding: 18px; position: relative; z-index: 2; }
.rpc-mating-final h3 { margin: 0 0 7px; }
.rpc-mating-final__actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.rpc-mating-final__actions .rpc-button { min-width: 104px; }
.rpc-mating-confetti { animation: rpc-mating-confetti 2.5s ease-in forwards; background: #63e983; height: 9px; left: var(--x); position: absolute; top: -14px; transform: rotate(0); width: 5px; z-index: 3; animation-delay: var(--delay); }
.rpc-mating-confetti:nth-of-type(3n) { background: #f2cf5b; }
.rpc-mating-confetti:nth-of-type(4n) { background: #5fc8ff; }
@keyframes rpc-mating-confetti { to { opacity: .1; top: 100%; transform: rotate(var(--spin)) translateX(25px); } }

@media (max-width: 760px) {
    .rpc-request-card, .rpc-mating-confirm-grid, .rpc-mate-now-summary__grid { grid-template-columns: 1fr; }
    .rpc-mate-now-summary__heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .rpc-mate-now-summary__grid .rpc-mate-now-summary__beneficiary { grid-column: auto; }
    .rpc-request-card__actions { justify-content: flex-start; }
    .rpc-mating-stage { grid-template-columns: 1fr; }
    .rpc-mating-stage__center { order: -1; }
    .rpc-mating-final { grid-column: auto; }
}
.rpc-public-profile-settings__form h2, .rpc-public-profile-settings__form p, .rpc-public-profile-settings__featured h2, .rpc-public-profile-settings__featured p { margin-bottom: 0; }
.rpc-public-profile-settings__form .rpc-button { align-self: flex-start; }
.rpc-public-profile-settings__featured-card { align-items: center; display: grid; gap: 14px; grid-template-columns: 112px minmax(0, 1fr); }
.rpc-public-profile-settings__media { background: var(--rpc-surface-2); border: 1px solid #35503d; border-radius: 12px; display: block; overflow: hidden; }
.rpc-public-profile-settings__media .rpc-character-placeholder { width: 100%; }
.rpc-public-profile-settings__image { aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: 50% 24%; width: 100%; }
.rpc-public-profile-settings__details { min-width: 0; }
.rpc-public-profile-settings__details h3 { font-size: 1rem; margin: 0 0 5px; }
.rpc-public-profile-settings__details h3 a { color: var(--rpc-ink); text-decoration: none; }
.rpc-public-profile-settings__details h3 a:hover { color: var(--rpc-accent); }
.rpc-public-profile-settings__details > p:last-child { color: var(--rpc-muted); font-size: .76rem; line-height: 1.55; margin-top: 9px; }
.rpc-public-profile-settings__actions { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 14px; }
.rpc-public-profile-settings__actions form { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
.rpc-details dd a, .rpc-character-summary > p a { color: var(--rpc-accent); }

.rpc-story-journal, .rpc-story-thoughts { display: grid; gap: 18px; }
.rpc-story-section, .rpc-story-admin { display: grid; gap: 16px; }
.rpc-story-section > .rpc-panel-heading, .rpc-story-admin > .rpc-panel-heading { align-items: flex-start; margin-bottom: 0; }
.rpc-journal-composer { min-width: 0; }
.rpc-journal-composer > summary { cursor: pointer; list-style: none; width: max-content; }
.rpc-journal-composer > summary::-webkit-details-marker { display: none; }
.rpc-journal-composer__hide { display: none; }
.rpc-journal-composer[open] .rpc-journal-composer__show { display: none; }
.rpc-journal-composer[open] .rpc-journal-composer__hide { display: inline; }
.rpc-journal-composer__body { margin-top: 14px; }
.rpc-story-compose { background: #101214; border: 1px solid #2a3430; border-radius: 12px; padding: 14px; }
.rpc-story-compose label > small { color: var(--rpc-muted); font-size: .65rem; line-height: 1.45; }
.rpc-story-compose .rpc-button { justify-self: start; }
.rpc-story-empty { align-items: center; background: #111315; border: 1px dashed #34373d; border-radius: 12px; color: var(--rpc-muted); display: flex; font-size: .76rem; gap: 10px; justify-content: center; min-height: 92px; padding: 18px; text-align: center; }
.rpc-story-empty span { color: var(--rpc-accent); }
.rpc-story-empty p { margin: 0; }
.rpc-backstory-card, .rpc-journal-entry-card, .rpc-thought-card { background: #111315; border: 1px solid #2b3033; border-radius: 12px; padding: 15px 16px; }
.rpc-backstory-card { background: linear-gradient(145deg, rgba(110,233,129,.045), transparent 48%), #111315; border-color: #34463a; }
.rpc-journal-entry-card--private { background: linear-gradient(145deg, rgba(229,76,90,.09), transparent 52%), #151113; border-color: #79323a; }
.rpc-journal-entry-card--private .rpc-story-content__body { color: #ffdfe2; }
.rpc-journal-timeline, .rpc-thought-timeline { display: grid; gap: 10px; }
.rpc-story-content__meta { align-items: center; color: var(--rpc-muted); display: flex; flex-wrap: wrap; font-size: .65rem; gap: 7px 10px; }
.rpc-story-content__meta a { color: var(--rpc-accent); font-weight: 750; text-decoration: none; }
.rpc-story-content__body { color: #e5e6e8; font-size: .8rem; line-height: 1.72; margin-top: 10px; overflow-wrap: anywhere; white-space: normal; }
.rpc-journal-entry-card__entry, .rpc-thought-card__entry { align-items: start; display: grid; gap: 16px; grid-template-columns: 168px minmax(0, 1fr); margin-top: 12px; }
.rpc-journal-entry-card__entry .rpc-story-content__body, .rpc-thought-card__entry .rpc-story-content__body { margin-top: 0; }
.rpc-journal-entry-card__media, .rpc-thought-card__media { background: #080a0b; border: 1px solid #34463a; border-radius: 10px; overflow: hidden; width: 168px; }
.rpc-journal-entry-card__media img, .rpc-thought-card__media img { display: block; height: 210px; object-fit: cover; width: 168px; }
.rpc-story-content--hidden { border-style: dashed; }
.rpc-story-hidden { align-items: center; color: var(--rpc-muted); display: flex; font-size: .74rem; gap: 9px; }
.rpc-story-hidden span { color: #e7b765; }
.rpc-story-hidden p { margin: 0; }
.rpc-story-flag { border-top: 1px solid var(--rpc-border-soft); margin-top: 12px; padding-top: 9px; }
.rpc-story-flag summary { color: var(--rpc-muted); cursor: pointer; font-size: .65rem; width: max-content; }
.rpc-story-flag[open] summary { margin-bottom: 10px; }
.rpc-story-flag form { background: #0d0f10; border: 1px solid #282b2f; border-radius: 10px; max-width: 480px; padding: 12px; }
.rpc-story-filters { align-items: end; background: #101113; border: 1px solid var(--rpc-border-soft); border-radius: 12px; display: flex; flex-wrap: wrap; gap: var(--rpc-form-section-gap); padding: 12px; }
.rpc-story-filters label { min-width: 145px; }
.rpc-story-filters select { font-size: .72rem; min-height: 34px; padding: 6px 28px 6px 9px; }
.rpc-story-filters .rpc-button { font-size: .7rem; min-height: 34px; padding: 6px 12px; width: auto; }
.rpc-story-pagination { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: flex; gap: 12px; justify-content: space-between; padding-top: 14px; }
.rpc-story-pagination > span { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); }
.rpc-story-pagination > div { display: flex; gap: var(--rpc-inline-control-gap); }
.rpc-story-pagination .rpc-button { font-size: var(--rpc-compact-font-size); min-height: 28px; padding: 5px 8px; }
.rpc-moderation-case { background: #111315; border: 1px solid #3a3130; border-radius: 12px; padding: 15px; }
.rpc-moderation-case blockquote { background: #0b0d0e; border-left: 3px solid #d29a4a; color: #e5e6e8; font-size: .78rem; line-height: 1.65; margin: 12px 0; padding: 12px 14px; }
.rpc-moderation-case__content { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(110px, 150px) minmax(0, 1fr); margin: 12px 0; }
.rpc-moderation-case__content img { aspect-ratio: 4 / 5; border: 1px solid #4a4034; border-radius: 9px; display: block; object-fit: cover; width: 100%; }
.rpc-moderation-case__content blockquote { margin: 0; }
.rpc-moderation-actions { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-moderation-actions form { background: #0d0f10; border: 1px solid #292c30; border-radius: 10px; padding: 11px; }

.rpc-private-notes-page .rpc-page-content { display: grid; gap: 16px; }
.rpc-private-note-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: var(--rpc-inline-control-gap); justify-content: flex-end; }
.rpc-private-note-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.8fr); }
.rpc-private-note-conversations, .rpc-private-note-detail { background: var(--rpc-surface); border: 1px solid var(--rpc-border); border-radius: 14px; min-width: 0; padding: 14px; }
.rpc-private-note-conversations { display: grid; gap: 12px; }
.rpc-private-note-conversations .rpc-panel-heading { align-items: flex-start; margin: 0; }
.rpc-private-note-conversations .rpc-panel-heading > div { display: flex; flex-direction: column; gap: 3px; }
.rpc-private-note-conversations .rpc-panel-heading > div:last-child { flex-direction: row; gap: 10px; }
.rpc-private-note-conversations .rpc-panel-heading small { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); }
.rpc-private-note-conversations .rpc-panel-heading a { color: var(--rpc-muted); font-size: var(--rpc-compact-font-size); text-decoration: none; }
.rpc-private-note-conversations .rpc-panel-heading a.is-active, .rpc-private-note-conversations .rpc-panel-heading a:hover { color: var(--rpc-accent); }
.rpc-private-note-conversation-items { display: grid; gap: 6px; }
.rpc-private-note-conversation { background: #111315; border: 1px solid transparent; border-radius: 10px; color: var(--rpc-ink); display: grid; gap: 3px; padding: 10px 11px; text-decoration: none; }
.rpc-private-note-conversation:hover, .rpc-private-note-conversation.is-active { background: #151918; border-color: #365240; }
.rpc-private-note-conversation strong { font-size: .76rem; }
.rpc-private-note-conversation small, .rpc-private-note-conversation time { color: var(--rpc-muted); font-size: .65rem; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rpc-private-note-detail { display: grid; gap: 14px; }
.rpc-private-note-detail-heading { align-items: flex-start; border-bottom: 1px solid var(--rpc-border-soft); display: flex; gap: 12px; justify-content: space-between; padding-bottom: 12px; }
.rpc-private-note-detail-heading h2 { font-size: 1.05rem; margin: 2px 0 0; }
.rpc-private-note-detail-heading > div:last-child { display: flex; flex-wrap: wrap; gap: var(--rpc-inline-control-gap); }
.rpc-private-note-detail-heading form { margin: 0; }
.rpc-private-note-messages { display: grid; gap: 10px; }
.rpc-private-note-message { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 12px; display: grid; gap: 7px; max-width: min(88%, 620px); padding: 11px 13px; }
.rpc-private-note-message.is-mine { background: #132018; border-color: #2d5038; justify-self: end; }
.rpc-private-note-message.is-theirs { justify-self: start; }
.rpc-private-note-message > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: space-between; }
.rpc-private-note-message strong { font-size: .72rem; }
.rpc-private-note-message span, .rpc-private-note-message time, .rpc-private-note-reported { color: var(--rpc-muted); font-size: .62rem; }
.rpc-private-note-message p { color: #e8e9eb; font-size: .78rem; line-height: 1.65; margin: 0; overflow-wrap: anywhere; }
.rpc-private-note-report { border-top: 1px solid var(--rpc-border-soft); padding-top: 7px; }
.rpc-private-note-report summary { color: var(--rpc-muted); cursor: pointer; font-size: .63rem; width: max-content; }
.rpc-private-note-report form { display: grid; gap: 10px; margin-top: 10px; }
.rpc-private-note-compose { background: #101214; border-color: #2d3731; gap: var(--rpc-form-section-gap); }
.rpc-private-note-compose label > small { color: var(--rpc-muted); font-size: .64rem; }
.rpc-private-note-compose textarea { min-height: 112px; resize: vertical; }
.rpc-private-note-price { align-items: center; display: flex; flex-wrap: wrap; font-size: .7rem; gap: 8px 14px; justify-content: space-between; }
.rpc-private-note-price span { color: var(--rpc-muted); }
.rpc-private-note-compose .rpc-button { justify-self: start; }
.rpc-private-note-single { display: grid; gap: 10px; }
.rpc-private-note-single p { overflow-wrap: anywhere; }
.rpc-private-note-admin-detail { display: grid; gap: 13px; margin-top: 16px; }
.rpc-private-note-admin-detail dl { display: grid; font-size: .74rem; gap: 6px 12px; grid-template-columns: max-content 1fr; margin: 0; }
.rpc-private-note-admin-detail dt { color: var(--rpc-muted); }
.rpc-private-note-admin-detail dd { margin: 0; }
.rpc-private-note-evidence { background: #0b0d0e; border-left: 3px solid #d29a4a; color: #e8e9eb; font-size: .78rem; line-height: 1.65; margin: 0; overflow-wrap: anywhere; padding: 12px 14px; }

.rpc-support-page .rpc-page-content { display: grid; gap: 16px; }
.rpc-support-overview { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); }
.rpc-support-intro { display: grid; gap: 14px; }
.rpc-support-intro h2, .rpc-support-create h2 { font-size: 1.05rem; margin: 3px 0 7px; }
.rpc-support-intro p { color: var(--rpc-muted); font-size: .76rem; line-height: 1.6; margin: 0; }
.rpc-support-intro ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; }
.rpc-support-intro li { color: #dcdee1; font-size: .72rem; line-height: 1.55; }
.rpc-support-create { gap: var(--rpc-form-section-gap); }
.rpc-support-create label > small { color: var(--rpc-muted); font-size: .64rem; }
.rpc-support-create textarea, .rpc-support-reply textarea, .rpc-support-admin-form textarea { min-height: 110px; resize: vertical; }
.rpc-support-create .rpc-button, .rpc-support-reply .rpc-button, .rpc-support-admin-form .rpc-button { justify-self: start; }
.rpc-support-history, .rpc-support-admin-queue, .rpc-support-detail { display: grid; gap: 14px; }
.rpc-support-filters, .rpc-support-admin-filters { align-items: end; }
.rpc-support-filters label { min-width: 170px; }
.rpc-support-admin-filters label { min-width: 155px; }
.rpc-support-admin-filters .rpc-support-search { flex: 1 1 210px; }
.rpc-support-history .rpc-table td:first-child, .rpc-support-admin-queue .rpc-table td:first-child { white-space: nowrap; }
.rpc-support-admin-queue .rpc-table td small { color: var(--rpc-muted); display: block; font-size: .62rem; margin-top: 3px; }
.rpc-support-admin-queue .rpc-table td .rpc-support-hold { color: #e6b866; }
.rpc-support-status { background: #202329; border: 1px solid #3a3e46; border-radius: var(--rpc-label-radius); color: #dfe1e5; display: inline-flex; font-size: var(--rpc-compact-font-size); font-weight: 780; line-height: 1.2; padding: 5px 8px; white-space: nowrap; }
.rpc-support-status--open { background: #13251a; border-color: #326640; color: #91f1a2; }
.rpc-support-status--in_review { background: #17232c; border-color: #345a70; color: #9fd4f0; }
.rpc-support-status--waiting_on_player { background: #292214; border-color: #735c2f; color: #f1ca7d; }
.rpc-support-status--resolved { background: #172522; border-color: #356259; color: #9ee4d2; }
.rpc-support-status--closed { color: #a9abb2; }
.rpc-support-detail { margin-top: 0; }
.rpc-support-detail__heading { align-items: flex-start; border-bottom: 1px solid var(--rpc-border-soft); display: flex; gap: 14px; justify-content: space-between; padding-bottom: 12px; }
.rpc-support-detail__heading h2 { font-size: 1.08rem; margin: 3px 0; }
.rpc-support-detail__heading p { color: var(--rpc-muted); font-size: .7rem; margin: 0; }
.rpc-support-facts { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 10px; display: grid; font-size: .72rem; gap: 6px 12px; grid-template-columns: max-content 1fr; margin: 0; padding: 11px 13px; }
.rpc-support-facts dt { color: var(--rpc-muted); }
.rpc-support-facts dd { margin: 0; overflow-wrap: anywhere; }
.rpc-support-columns { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.55fr) minmax(210px, .65fr); }
.rpc-support-columns h3, .rpc-support-admin-form h3 { font-size: .85rem; margin: 0 0 10px; }
.rpc-support-messages { display: grid; gap: 9px; }
.rpc-support-message { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 11px; display: grid; gap: 7px; padding: 11px 13px; }
.rpc-support-message.is-team { background: #132018; border-color: #2d5038; }
.rpc-support-message > div { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.rpc-support-message strong { font-size: .72rem; }
.rpc-support-message time, .rpc-support-events time { color: var(--rpc-muted); font-size: .62rem; }
.rpc-support-message p { color: #e8e9eb; font-size: .78rem; line-height: 1.65; margin: 0; overflow-wrap: anywhere; }
.rpc-support-events { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 11px; display: grid; gap: 10px; padding: 12px; }
.rpc-support-events h3 { margin: 0; }
.rpc-support-events article { align-items: flex-start; display: grid; gap: 8px; grid-template-columns: 7px 1fr; }
.rpc-support-events article > span { background: var(--rpc-accent); border-radius: 50%; box-shadow: 0 0 0 3px rgba(110, 233, 129, .1); height: 7px; margin-top: 4px; width: 7px; }
.rpc-support-events article > div { display: grid; gap: 3px; }
.rpc-support-events strong { font-size: .68rem; font-weight: 680; line-height: 1.45; }
.rpc-support-reply, .rpc-support-admin-form { background: #101214; border: 1px solid var(--rpc-border-soft); border-radius: 11px; gap: var(--rpc-form-section-gap); padding: 13px; }
.rpc-support-admin-form { margin-top: 2px; }
.rpc-support-admin-form .rpc-panel-heading { align-items: flex-start; margin: 0; }
.rpc-support-admin-form__grid { display: grid; gap: var(--rpc-form-section-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-support-notification { display: grid; gap: 10px; }
.rpc-support-notification .rpc-panel-heading { margin: 0; }
.rpc-support-notification h2 { font-size: 1rem; margin: 2px 0 0; }
.rpc-support-notification > p { color: var(--rpc-muted); font-size: .72rem; margin: 0; }
.rpc-support-notification .rpc-button { justify-self: start; }
.rpc-character-images { display: grid; gap: var(--rpc-section-gap); }
.rpc-character-image-cta { align-items: center; background: #101a13; border: 1px solid #294733; border-radius: 12px; display: flex; gap: 16px; justify-content: space-between; padding: 13px 14px; }
.rpc-character-image-cta strong { display: block; font-size: .78rem; }
.rpc-character-image-cta p { color: var(--rpc-muted); font-size: .69rem; line-height: 1.5; margin: 4px 0 0; }
.rpc-character-image-gallery { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.rpc-character-image-card { background: #101214; border: 1px solid var(--rpc-border); border-radius: 14px; margin: 0; overflow: hidden; }
.rpc-character-image-card.is-featured { border-color: #3a7c4a; box-shadow: 0 0 0 1px rgba(110, 233, 129, .11); }
.rpc-character-image-card__open { appearance: none; background: transparent; border: 0; color: inherit; cursor: zoom-in; display: block; margin: 0; overflow: hidden; padding: 0; width: 100%; }
.rpc-character-image-card__open:focus-visible { outline: 2px solid var(--rpc-accent); outline-offset: -3px; }
.rpc-character-image-card__open > img { aspect-ratio: 1; display: block; object-fit: cover; object-position: center; transition: transform .18s ease; width: 100%; }
.rpc-character-image-card__open:hover > img { transform: scale(1.018); }
.rpc-character-image-card figcaption { display: grid; gap: 9px; padding: 11px; }
.rpc-character-image-card figcaption > strong { font-size: .72rem; line-height: 1.45; overflow-wrap: anywhere; }
.rpc-character-image-card figcaption > small { color: var(--rpc-muted); display: grid; font-size: .62rem; gap: 3px; line-height: 1.45; }
.rpc-character-image-card figcaption form, .rpc-character-image-card figcaption .rpc-button { margin: 0; width: 100%; }
.rpc-character-image-card__view-controls { align-items: center; border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 7px; padding-top: 9px; }
.rpc-character-image-card__view-controls > span { color: var(--rpc-muted); font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rpc-character-image-card__view-controls .rpc-button { min-height: 30px; }
.rpc-character-image-fields { display: grid; gap: var(--rpc-form-section-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-character-image-fields small { color: var(--rpc-muted); font-size: .62rem; }
.rpc-character-image-sort { margin-bottom: 2px; }
.rpc-character-image-sort label { min-width: min(100%, 280px); }
.rpc-character-image-pagination { border-top: 1px solid var(--rpc-border-soft); padding-top: 13px; }
.rpc-image-lightbox { background: transparent; border: 0; color: var(--rpc-ink); height: 100%; margin: auto; max-height: none; max-width: none; padding: clamp(12px, 3vw, 28px); width: 100%; }
.rpc-image-lightbox::backdrop { background: rgba(0, 0, 0, .9); backdrop-filter: blur(4px); }
.rpc-image-lightbox[open] { align-items: center; display: flex; justify-content: center; }
.rpc-image-lightbox__surface { background: #0d0f11; border: 1px solid #35383d; border-radius: 15px; box-shadow: 0 24px 80px rgba(0, 0, 0, .7); display: grid; gap: 12px; max-height: calc(100vh - 24px); max-width: 1120px; overflow: hidden; padding: 13px; width: 100%; }
.rpc-image-lightbox__header, .rpc-image-lightbox__footer { align-items: center; display: flex; gap: 14px; justify-content: space-between; }
.rpc-image-lightbox__header { min-height: 34px; padding-left: 4px; }
.rpc-image-lightbox__header strong { font-size: .8rem; overflow-wrap: anywhere; }
.rpc-image-lightbox__close, .rpc-image-lightbox__arrow { align-items: center; appearance: none; background: #1c1e22; border: 1px solid #3b3e44; color: var(--rpc-ink); cursor: pointer; display: inline-flex; justify-content: center; }
.rpc-image-lightbox__close { border-radius: 8px; font-size: 1.15rem; height: 32px; line-height: 1; width: 32px; }
.rpc-image-lightbox__close:hover, .rpc-image-lightbox__arrow:hover { background: #26292e; border-color: #545860; }
.rpc-image-lightbox__close:focus-visible, .rpc-image-lightbox__arrow:focus-visible { outline: 2px solid var(--rpc-accent); outline-offset: 2px; }
.rpc-image-lightbox__stage { align-items: center; background: #050607; border-radius: 10px; display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; justify-items: center; min-height: min(68vh, 720px); overflow: hidden; touch-action: pan-y; }
.rpc-image-lightbox__stage > img { display: block; max-height: min(72vh, 820px); max-width: 100%; object-fit: contain; }
.rpc-image-lightbox__arrow { border-radius: 50%; font-size: 1.5rem; height: 36px; line-height: 1; position: relative; width: 36px; z-index: 1; }
.rpc-image-lightbox__arrow:disabled { cursor: default; opacity: .28; }
.rpc-image-lightbox__footer { color: var(--rpc-muted); font-size: .68rem; line-height: 1.45; min-height: 24px; padding: 0 4px; }
.rpc-image-lightbox__footer > span:first-child { color: var(--rpc-ink); overflow-wrap: anywhere; }
.rpc-image-lightbox__footer > span:last-child { flex: 0 0 auto; }
.rpc-image-lightbox__status { background: rgba(13, 15, 17, .9); border-radius: 8px; color: var(--rpc-muted); font-size: .7rem; left: 50%; padding: 7px 10px; pointer-events: none; position: absolute; top: 50%; transform: translate(-50%, -50%); }
body.rpc-image-lightbox-open { overflow: hidden; }

@media (max-width: 760px) {
    .rpc-life-events__filters { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; }
    .rpc-life-events__filters label { min-width: 0; }
    .rpc-life-events__filters .rpc-button { width: 100%; }
    .rpc-life-events__pagination { align-items: flex-start; flex-direction: column; }
    .rpc-life-events__pagination > div { justify-content: flex-start; }
    .rpc-public-profile__layout, .rpc-public-profile__featured { grid-template-columns: 1fr; }
    .rpc-public-profile__media { max-width: 220px; }
    .rpc-public-profile-settings__actions, .rpc-public-profile-settings__actions form, .rpc-public-profile-settings__actions .rpc-button { width: 100%; }
    .rpc-story-filters, .rpc-moderation-actions { display: grid; grid-template-columns: 1fr; }
    .rpc-story-filters label, .rpc-story-filters .rpc-button { min-width: 0; width: 100%; }
    .rpc-story-pagination { align-items: flex-start; flex-direction: column; }
    .rpc-journal-entry-card__entry, .rpc-thought-card__entry, .rpc-moderation-case__content { grid-template-columns: 1fr; }
    .rpc-journal-entry-card__media, .rpc-thought-card__media { max-width: 100%; }
    .rpc-moderation-case__content img { max-width: 320px; }
    .rpc-private-note-layout { grid-template-columns: 1fr; }
    .rpc-private-note-message { max-width: 94%; }
    .rpc-support-overview, .rpc-support-columns { grid-template-columns: 1fr; }
    .rpc-support-admin-form__grid { grid-template-columns: 1fr; }
    .rpc-support-filters, .rpc-support-admin-filters { align-items: stretch; display: grid; grid-template-columns: 1fr; }
    .rpc-support-filters label, .rpc-support-admin-filters label, .rpc-support-filters .rpc-button, .rpc-support-admin-filters .rpc-button { min-width: 0; width: 100%; }
    .rpc-character-image-cta { align-items: stretch; flex-direction: column; }
    .rpc-character-image-cta .rpc-button { width: 100%; }
    .rpc-character-image-fields { grid-template-columns: 1fr; }
    .rpc-character-image-sort { align-items: stretch; display: grid; grid-template-columns: 1fr; }
    .rpc-character-image-sort label, .rpc-character-image-sort .rpc-button { min-width: 0; width: 100%; }
    .rpc-image-lightbox { padding: 6px; }
    .rpc-image-lightbox__surface { border-radius: 11px; max-height: calc(100vh - 12px); padding: 9px; }
    .rpc-image-lightbox__stage { grid-template-columns: 36px minmax(0, 1fr) 36px; min-height: min(68vh, 620px); }
    .rpc-image-lightbox__arrow { font-size: 1.3rem; height: 32px; width: 32px; }
    .rpc-image-lightbox__footer { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 480px) {
    .rpc-life-events__filters { grid-template-columns: 1fr; }
    .rpc-account__identity { gap: 13px; grid-template-columns: 76px minmax(0, 1fr); }
    .rpc-account__portrait--fallback { font-size: 1.75rem; }
    .rpc-account__welcome h1 { font-size: clamp(1.7rem, 9vw, 2.15rem); margin: 7px 0 10px; }
    .rpc-account__welcome > p:last-child { font-size: .72rem; line-height: 1.55; }
}

@media (max-width: 760px) {
    .rpc-restrictions__intro { flex-direction: column; gap: 12px; }
    .rpc-restrictions__summary, .rpc-restriction-grid { grid-template-columns: 1fr; }
    .rpc-restriction-card .rpc-details { grid-template-columns: 1fr; }
    .rpc-restriction-card .rpc-details dd { margin-bottom: 5px; }
}

.rpc-badge-shop-toolbar { align-items: end; margin-bottom: var(--rpc-section-gap); }
.rpc-badge-shop-toolbar label { flex: 1 1 320px; }
.rpc-badge-shop-grid { display: grid; gap: var(--rpc-section-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: var(--rpc-section-gap); }
.rpc-badge-shop-card { align-content: start; display: grid; gap: 16px; grid-template-columns: 88px minmax(0, 1fr); }
.rpc-badge-shop-card__copy { min-width: 0; }
.rpc-badge-shop-card__copy h2 { margin: 3px 0 7px; }
.rpc-badge-shop-card__copy p:not(.rpc-eyebrow) { color: var(--rpc-muted); font-size: .78rem; line-height: 1.55; margin: 0 0 10px; }
.rpc-badge-send-form { border-top: 1px solid var(--rpc-border-soft); grid-column: 1 / -1; margin-top: 2px; padding-top: 16px; }
.rpc-badge-image { aspect-ratio: 1; background: #0c0e0d; border: 1px solid #31553a; border-radius: 12px; object-fit: contain; padding: 7px; width: 88px; }
.rpc-badge-image--small { border-radius: 7px; padding: 3px; width: 34px; }
.rpc-badge-request-history { align-items: start; margin-top: var(--rpc-section-gap); }
.rpc-badge-request-detail__heading { align-items: center; display: flex; gap: 16px; margin-bottom: 18px; }
.rpc-badge-request-detail__heading h2 { margin: 3px 0 6px; }
.rpc-badge-request-detail__heading p:last-child { color: var(--rpc-muted); margin: 0; }
.rpc-featured-badge-grid, .rpc-gift-history-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rpc-badge-history-card { align-items: start; background: #101211; border: 1px solid var(--rpc-border); border-radius: 12px; display: grid; gap: 12px; grid-template-columns: 70px minmax(0, 1fr); padding: 13px; }
.rpc-badge-history-card .rpc-badge-image { border-radius: 9px; padding: 5px; width: 70px; }
.rpc-badge-history-card h3 { font-size: .95rem; margin: 2px 0 5px; }
.rpc-badge-history-card p { color: var(--rpc-muted); font-size: .73rem; line-height: 1.5; margin: 0 0 7px; }
.rpc-badge-history-card small { color: var(--rpc-subtle); display: block; font-size: .65rem; line-height: 1.45; }
.rpc-badge-history-card.is-hidden-primary { border-style: dashed; }
.rpc-badge-display-form { border-top: 1px solid var(--rpc-border-soft); display: grid; gap: 8px; grid-column: 1 / -1; margin-top: 2px; padding-top: 11px; }
.rpc-badge-display-form .rpc-checkbox span { font-size: .7rem; }
.rpc-badge-table-name { align-items: center; display: flex; gap: 8px; }
.rpc-badge-admin { align-items: start; margin-bottom: var(--rpc-section-gap); }
.rpc-badge-admin .rpc-form-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rpc-badge-admin .rpc-form-grid > label { align-content: start; align-self: start; min-width: 0; }
.rpc-badge-admin .rpc-form-grid input, .rpc-badge-admin .rpc-form-grid select { height: 42px; min-height: 42px; }
.rpc-featured-badge-summary { border-top: 1px solid var(--rpc-border-soft); margin-top: 16px; padding-top: 14px; }
.rpc-featured-badge-summary .rpc-panel-heading { margin-bottom: 9px; }
.rpc-featured-badge-summary h3 { font-size: .82rem; margin: 0; }
.rpc-featured-badge-summary a { font-size: .68rem; }
.rpc-featured-badge-summary__items { display: flex; flex-wrap: wrap; gap: 7px; }
.rpc-wrapped-purchase { display: grid; gap: 16px; margin-top: var(--rpc-section-gap); }
.rpc-wrapped-purchase .rpc-panel-heading { margin-bottom: 0; }
.rpc-wrapped-purchase__limits .rpc-stat-grid { margin: 0; }
.rpc-wrapped-purchase form { gap: 12px; }

@media (max-width: 980px) {
    .rpc-badge-shop-grid, .rpc-featured-badge-grid, .rpc-gift-history-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .rpc-badge-shop-grid, .rpc-featured-badge-grid, .rpc-gift-history-grid { grid-template-columns: 1fr; }
    .rpc-badge-shop-card { grid-template-columns: 70px minmax(0, 1fr); }
    .rpc-badge-shop-card > .rpc-badge-image { width: 70px; }
    .rpc-badge-request-detail__heading { align-items: flex-start; }
    .rpc-badge-request-detail__heading .rpc-badge-image { width: 68px; }
    .rpc-badge-admin .rpc-form-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .rpc-action-dialog__spinner { animation: none; border-color: #31583a; border-top-color: var(--rpc-accent); }
}

.rpc-tutorial-guide-panel { display: grid; gap: 18px; }
.rpc-tutorial-guide-panel .rpc-panel-heading { margin-bottom: 0; }
.rpc-tutorial-guide-panel .rpc-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.rpc-tutorial-guide-panel .rpc-actions form { margin: 0; }
.rpc-tutorial-layer { inset: 0; position: fixed; z-index: 100000; }
.rpc-tutorial-layer[hidden] { display: none; }
.rpc-tutorial-backdrop { background: transparent; inset: 0; position: absolute; }
.rpc-tutorial-spotlight { background: transparent; border: 2px solid var(--rpc-accent-2); border-radius: 12px; box-shadow: 0 0 0 9999px rgba(2, 5, 3, .78), 0 0 0 5px rgba(110, 233, 129, .16), 0 0 30px rgba(110, 233, 129, .24); left: 16px; min-height: 56px; pointer-events: none; position: fixed; top: 16px; transition: left .18s ease, top .18s ease, width .18s ease, height .18s ease; width: 220px; z-index: 2; }
.rpc-tutorial-spotlight.is-fallback { background: rgba(18, 21, 22, .98); border-style: dashed; box-shadow: 0 0 0 9999px rgba(2, 5, 3, .78), 0 0 0 5px rgba(110, 233, 129, .08); left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); width: min(420px, calc(100vw - 32px)) !important; }
.rpc-tutorial-card { background: #121516; border: 1px solid #47614d; border-radius: var(--rpc-control-radius); bottom: 22px; box-shadow: 0 22px 70px rgba(0, 0, 0, .52); color: #f4f6f4; display: grid; gap: 12px; max-height: calc(100vh - 44px); max-width: 660px; overflow: auto; padding: 22px; position: fixed; right: 22px; width: calc(100vw - 44px); z-index: 3; }
.rpc-tutorial-card.is-top { bottom: auto; top: 22px; }
.rpc-tutorial-card h2 { font-size: clamp(1.25rem, 2.5vw, 1.65rem); margin: 0; }
.rpc-tutorial-card > p,
.rpc-tutorial-copy { color: #c6ccc8; font-size: .82rem; line-height: 1.65; margin: 0; }
.rpc-tutorial-copy { white-space: pre-line; }
.rpc-tutorial-card .rpc-eyebrow { color: #9db5a3; font-size: .66rem; }
.rpc-tutorial-target-note { background: #172019; border: 1px solid #304b36; border-radius: 8px; color: #c5d7c9; font-size: .72rem; line-height: 1.5; padding: 10px 12px; }
.rpc-tutorial-progress { display: grid; gap: 6px; }
.rpc-tutorial-progress span { color: #aeb8b1; font-size: .67rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.rpc-tutorial-progress progress { accent-color: var(--rpc-accent-2); height: 8px; width: 100%; }
.rpc-tutorial-status { color: #f0d768 !important; min-height: 1.2em; }
.rpc-tutorial-actions { display: flex; flex-wrap: nowrap; gap: 6px; margin-top: 2px; }
.rpc-tutorial-actions[hidden],
.rpc-tutorial-progress[hidden],
.rpc-tutorial-target-note[hidden],
.rpc-tutorial-spotlight[hidden] { display: none; }
.rpc-tutorial-actions .rpc-button { flex: 1 1 auto; font-size: .68rem; min-width: 0; padding: 8px 10px; white-space: nowrap; width: auto; }
.rpc-tutorial-actions .rpc-button--quiet { background: transparent; border-color: #3a3f3b; color: #c7ccc8; }
.rpc-tutorial-actions .rpc-button--quiet:hover { background: #1b1f1c; border-color: #566159; }
body.rpc-tutorial-open { overflow: hidden; }

@media (max-width: 700px) {
    .rpc-tutorial-spotlight { transition: none; }
    .rpc-tutorial-card, .rpc-tutorial-card.is-top { border-radius: 12px 12px 0 0; bottom: 0; left: 0; max-height: min(68vh, 620px); max-width: none; padding: 18px; right: 0; top: auto; width: 100%; }
    .rpc-tutorial-actions { display: flex; gap: 4px; }
    .rpc-tutorial-actions .rpc-button { font-size: .57rem; min-width: 0; padding: 7px 4px; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .rpc-tutorial-spotlight { transition: none; }
}
.rpc-restrictions-grid,
.rpc-admin-restriction-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.rpc-restriction-card,
.rpc-admin-restriction-list > form {
    margin: 0;
    padding: 16px;
    border: 1px solid var(--rpc-border, #30343a);
    border-radius: 16px;
    background: #111416;
}

.rpc-admin-restriction-list .rpc-panel-heading {
    margin-bottom: 12px;
}

@media (min-width: 760px) {
    .rpc-restrictions-grid,
    .rpc-admin-restriction-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.rpc-email-template-admin {
    display: grid;
    gap: 18px;
}

.rpc-email-template-admin > .rpc-panel-heading {
    margin-bottom: 0;
}

.rpc-email-template-picker {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(240px, 1fr) auto;
}

.rpc-email-template-picker label {
    display: grid;
    gap: 7px;
}

.rpc-email-template-picker label > span {
    color: var(--rpc-muted);
    font-size: var(--rpc-compact-font-size);
    font-weight: 800;
}

.rpc-email-template-picker select {
    appearance: auto;
    background: var(--rpc-field-bg);
    border: 1px solid var(--rpc-field-border);
    border-radius: var(--rpc-field-radius);
    box-shadow: 0 0 0 2px rgba(110, 233, 129, .08);
    color: #fff;
    color-scheme: dark;
    min-height: 42px;
    padding: 8px 10px;
    width: 100%;
}

.rpc-email-template-picker select:focus {
    border-color: var(--rpc-accent-2);
    box-shadow: var(--rpc-field-focus);
    outline: none;
}

.rpc-email-template-picker select option {
    background: var(--rpc-field-bg);
    color: #fff;
}

.rpc-email-template-workspace {
    border-top: 1px solid var(--rpc-border-soft);
    display: grid;
    gap: 14px;
    padding-top: 18px;
}

.rpc-email-template-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rpc-email-template-summary > div {
    background: #101312;
    border: 1px solid #2b312d;
    border-radius: var(--rpc-control-radius);
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px 14px;
}

.rpc-email-template-summary span {
    color: var(--rpc-muted);
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rpc-email-template-summary strong {
    color: var(--rpc-ink);
    font-size: .75rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.rpc-email-preview-toggle {
    display: flex;
    gap: 8px;
}

.rpc-email-preview-toggle .rpc-button.is-active {
    background: #173a21;
    border-color: var(--rpc-accent-2);
    color: #fff;
}

.rpc-email-preview-shell {
    background: #090b0a;
    border: 1px solid #303632;
    border-radius: var(--rpc-control-radius);
    overflow: auto;
    padding: 18px;
}

.rpc-email-preview-shell iframe {
    background: #070908;
    border: 0;
    border-radius: 10px;
    display: block;
    height: 720px;
    margin: 0 auto;
    max-width: 100%;
    transition: width .18s ease;
    width: 100%;
}

.rpc-email-preview-shell--mobile iframe {
    width: 390px;
}

.rpc-email-plain-preview {
    background: #101312;
    border: 1px solid #2b312d;
    border-radius: var(--rpc-control-radius);
    padding: 12px 14px;
}

.rpc-email-plain-preview summary {
    color: var(--rpc-accent);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
}

.rpc-email-plain-preview pre {
    color: #d7dcd8;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .7rem;
    line-height: 1.6;
    margin: 14px 0 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.rpc-email-test-panel {
    align-items: center;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.rpc-email-test-panel h2,
.rpc-email-test-panel p {
    margin-bottom: 7px;
    margin-top: 0;
}

.rpc-email-test-panel form {
    margin: 0;
}

@media (max-width: 700px) {
    .rpc-email-template-picker,
    .rpc-email-template-summary,
    .rpc-email-test-panel {
        grid-template-columns: 1fr;
    }

    .rpc-email-template-picker .rpc-button,
    .rpc-email-test-panel .rpc-button {
        justify-content: center;
        width: 100%;
    }

    .rpc-email-preview-shell {
        padding: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpc-email-preview-shell iframe {
        transition: none;
    }
}
