.psfrn-hub-body {
    --hub-page: #090b0e;
    --hub-text: #f7f8fa;
    --hub-muted: #b9bec8;
    --hub-subtle: #8d949f;
    --hub-soft: #858c98;
    --hub-section-heading: #cbd0d8;
    --hub-card-border: rgba(255,255,255,.13);
    --hub-card-bg: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035));
    --hub-card-shadow: 0 18px 55px rgba(0,0,0,.22);
    --hub-link-border: rgba(255,255,255,.12);
    --hub-link-bg: rgba(255,255,255,.065);
    --hub-link-hover: rgba(255,255,255,.105);
    --hub-icon-bg: rgba(255,255,255,.09);
    --hub-arrow: #7e8590;
    --hub-art-border: rgba(255,255,255,.16);
    --hub-art-ring: rgba(255,255,255,.025);
    --hub-host-border: rgba(255,255,255,.1);
    --hub-host-bg: rgba(255,255,255,.045);
    --hub-footer-border: rgba(255,255,255,.08);
    --hub-footer: #6f7681;
    --hub-footer-link: #a9afb8;
    --hub-accent-readable: color-mix(in srgb, var(--hub-accent) 72%, white);
    --hub-glow-strength: 30%;
    color-scheme: dark;
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--hub-accent) var(--hub-glow-strength), transparent), transparent 42rem),
        var(--hub-page);
    color: var(--hub-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-inline: env(safe-area-inset-left) env(safe-area-inset-right);
    transition: background-color .2s ease, color .2s ease;
}

html[data-theme="light"] .psfrn-hub-body {
    --hub-page: #f4f6f8;
    --hub-text: #172033;
    --hub-muted: #4f5b6c;
    --hub-subtle: #687486;
    --hub-soft: #5c687a;
    --hub-section-heading: #465265;
    --hub-card-border: #d8dee7;
    --hub-card-bg: linear-gradient(145deg, #fff, #f8fafc);
    --hub-card-shadow: 0 16px 45px rgba(15,23,42,.1);
    --hub-link-border: #d7dde6;
    --hub-link-bg: rgba(255,255,255,.9);
    --hub-link-hover: #fff;
    --hub-icon-bg: #edf1f5;
    --hub-arrow: #697588;
    --hub-art-border: rgba(15,23,42,.14);
    --hub-art-ring: rgba(15,23,42,.045);
    --hub-host-border: #d9dfe8;
    --hub-host-bg: rgba(255,255,255,.86);
    --hub-footer-border: #d6dce5;
    --hub-footer: #687486;
    --hub-footer-link: #344054;
    --hub-accent-readable: color-mix(in srgb, var(--hub-accent) 78%, #111827);
    --hub-glow-strength: 16%;
    color-scheme: light;
}

.psfrn-hub-body * { box-sizing: border-box; }
.psfrn-hub-body a { color: inherit; }

.psfrn-hub-shell {
    width: min(100% - 28px, 620px);
    margin: 0 auto;
    padding: 20px 0 calc(52px + env(safe-area-inset-bottom));
}

.psfrn-hub-preview-banner {
    position: sticky;
    top: 8px;
    z-index: 10;
    margin: 0 0 18px;
    padding: 9px 14px;
    border: 1px solid #f5ad42;
    border-radius: 999px;
    background: #241704;
    color: #ffdca4;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.psfrn-hub-identity { text-align: left; }
.psfrn-hub-identity-row {
    display: grid;
    grid-template-columns: clamp(96px, 24vw, 148px) minmax(0, 1fr);
    gap: 22px;
    align-items: center;
}
.psfrn-hub-identity-copy { min-width: 0; }
.psfrn-hub-art {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    margin: 0;
    border: 1px solid var(--hub-art-border);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0,0,0,.24), 0 0 0 6px var(--hub-art-ring);
    object-fit: cover;
}

.psfrn-hub-art-fallback {
    display: grid;
    background: #b94f20;
    background: linear-gradient(145deg, color-mix(in srgb, var(--hub-accent) 82%, #fff), #161a20 68%);
    color: #090b0e;
    place-content: center;
    text-align: center;
}
.psfrn-hub-art-fallback span { font-size: 17px; font-weight: 950; letter-spacing: .22em; }
.psfrn-hub-art-fallback strong { color: #fff; font-size: 52px; letter-spacing: -.04em; text-shadow: 0 6px 20px rgba(0,0,0,.35); }

.psfrn-hub-identity h1 {
    margin: 0;
    font-size: clamp(28px, 6vw, 44px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.psfrn-hub-identity-copy > p {
    max-width: 510px;
    margin: 11px 0 0;
    color: var(--hub-muted);
    font-size: 14px;
    line-height: 1.5;
}

.psfrn-hub-network {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 13px 0 0;
    color: var(--hub-soft);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.psfrn-hub-network img { width: 82px; height: auto; max-height: 34px; object-fit: contain; }
.psfrn-hub-network-logo-light { display: none; }
html[data-theme="light"] .psfrn-hub-network-logo-dark { display: none; }
html[data-theme="light"] .psfrn-hub-network-logo-light { display: block; }

.psfrn-hub-latest,
.psfrn-hub-feature,
.psfrn-hub-newsletter,
.psfrn-hub-sponsor {
    margin: 30px 0;
    border: 1px solid var(--hub-card-border);
    border-radius: 24px;
    background: var(--hub-card-bg);
    box-shadow: var(--hub-card-shadow);
}

.psfrn-hub-latest { padding: 24px; }
.psfrn-hub-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--hub-accent-readable);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.psfrn-hub-latest h2,
.psfrn-hub-feature h2,
.psfrn-hub-newsletter h2 { margin: 0; font-size: 22px; line-height: 1.2; letter-spacing: -.02em; }
.psfrn-hub-latest time { display: block; margin-top: 8px; color: var(--hub-subtle); font-size: 13px; }

.psfrn-hub-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 58px;
    margin-top: 20px;
    padding: 12px 18px;
    border-radius: 15px;
    background: var(--hub-accent);
    color: var(--hub-on-accent, #0b0c0f) !important;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 12px 30px color-mix(in srgb, var(--hub-accent) 24%, transparent);
    transition: transform .15s ease, filter .15s ease;
}

.psfrn-hub-primary:hover,
.psfrn-hub-primary:focus-visible { filter: brightness(1.08); transform: translateY(-2px); }
.psfrn-hub-latest > audio,
.psfrn-hub-latest > .rally-player { width: 100%; margin-top: 16px; }
.psfrn-hub-episode-link { display: inline-flex; min-height: 44px; gap: 6px; margin-top: 5px; color: var(--hub-accent-readable); font-size: 12px; font-weight: 820; text-decoration: none; align-items: center; }
.psfrn-hub-episode-link:hover,
.psfrn-hub-episode-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

.psfrn-hub-section { margin: 34px 0; }
.psfrn-hub-section > h2 { margin: 0 0 12px 4px; color: var(--hub-section-heading); font-size: 13px; letter-spacing: .11em; text-transform: uppercase; }
.psfrn-hub-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.psfrn-hub-link {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 11px 14px;
    border: 1px solid var(--hub-link-border);
    border-radius: 16px;
    background: var(--hub-link-bg);
    color: var(--hub-text) !important;
    font-size: 15px;
    font-weight: 780;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.psfrn-hub-link > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }

.psfrn-hub-link:hover,
.psfrn-hub-link:focus-visible { border-color: var(--hub-accent-readable); background: var(--hub-link-hover); transform: translateY(-2px); }
.psfrn-hub-link-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--hub-icon-bg); }
.psfrn-hub-link-icon svg { width: 21px; height: 21px; fill: currentColor; }
.psfrn-hub-link-arrow { color: var(--hub-arrow); font-size: 26px; font-weight: 400; }
.psfrn-hub-link--subscribe {
    grid-column: 1 / -1;
    min-height: 74px;
    border-color: color-mix(in srgb, var(--hub-accent) 78%, #fff 22%);
    background: linear-gradient(135deg, var(--hub-accent), color-mix(in srgb, var(--hub-accent) 78%, #000 22%));
    box-shadow: 0 12px 30px color-mix(in srgb, var(--hub-accent) 30%, transparent);
    color: var(--hub-on-accent) !important;
    font-size: 18px;
    font-weight: 900;
}
.psfrn-hub-link--subscribe .psfrn-hub-link-icon { background: rgba(0,0,0,.16); }
.psfrn-hub-link--subscribe .psfrn-hub-link-arrow { color: currentColor; }
.psfrn-hub-link--subscribe:hover,
.psfrn-hub-link--subscribe:focus-visible {
    border-color: color-mix(in srgb, var(--hub-accent) 58%, #fff 42%);
    background: linear-gradient(135deg, color-mix(in srgb, var(--hub-accent) 90%, #fff 10%), var(--hub-accent));
    filter: brightness(1.06);
}
.psfrn-hub-socials { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.psfrn-hub-feature { padding: 22px 24px; border-color: color-mix(in srgb, var(--hub-accent) 45%, transparent); }
.psfrn-hub-feature p,
.psfrn-hub-newsletter p { margin: 9px 0 0; color: var(--hub-muted); line-height: 1.5; }
.psfrn-hub-feature > a { display: inline-flex; min-height: 44px; gap: 6px; margin-top: 8px; color: var(--hub-accent-readable); font-weight: 850; text-decoration: none; align-items: center; }

.psfrn-hub-newsletter { padding: 24px; text-align: center; }
.psfrn-hub-newsletter a { display: inline-flex; margin-top: 16px; padding: 11px 18px; border: 1px solid var(--hub-accent-readable); border-radius: 999px; color: var(--hub-accent-readable); font-weight: 850; text-decoration: none; }

.psfrn-hub-hosts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.psfrn-hub-host { display: flex; min-width: 0; padding: 14px 8px; border: 1px solid var(--hub-host-border); border-radius: 16px; background: var(--hub-host-bg); align-items: center; flex-direction: column; gap: 9px; text-align: center; text-decoration: none; }
.psfrn-hub-host img,
.psfrn-hub-host-placeholder { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; }
.psfrn-hub-host-placeholder { display: grid; place-items: center; background: var(--hub-accent); color: var(--hub-on-accent, #090b0e); font-size: 23px; font-weight: 950; }
.psfrn-hub-host strong { overflow: hidden; width: 100%; font-size: 12px; text-overflow: ellipsis; }

.psfrn-hub-sponsor { padding: 17px; text-align: center; }
.psfrn-hub-sponsor > span { display: block; margin-bottom: 10px; color: var(--hub-subtle); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.psfrn-hub-sponsor a { text-decoration: none; }
.psfrn-hub-sponsor img { max-width: 180px; max-height: 76px; object-fit: contain; }
.psfrn-hub-footer { display: flex; padding-top: 22px; border-top: 1px solid var(--hub-footer-border); color: var(--hub-footer); align-items: center; flex-direction: column; gap: 9px; font-size: 11px; text-align: center; }
.psfrn-hub-footer a { display: inline-flex; min-height: 44px; color: var(--hub-footer-link); font-weight: 750; align-items: center; }

.psfrn-hub-latest > .rally-player { --rally-player-accent: var(--hub-accent) !important; }
.psfrn-hub-latest > .rally-player .rally-player__play,
.psfrn-hub-latest > .rally-player .rally-player__download { color: var(--hub-on-accent, #fff) !important; }

/* Keep the network player legible and native to both public themes. */
html[data-theme="light"] .psfrn-hub-body .rally-player {
    --rally-player-panel: #f0f3f7;
    --rally-player-muted: #596579;
    border-color: #ced5df;
    background:
        radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--rally-player-accent) 13%, transparent), transparent 38%),
        linear-gradient(135deg, #fff, #edf1f5);
    color: #172033;
    box-shadow: 0 12px 28px rgba(15,23,42,.12);
}
html[data-theme="light"] .psfrn-hub-body .rally-player__thumbnail { background: #e2e7ee; box-shadow: 0 4px 14px rgba(15,23,42,.15); }
html[data-theme="light"] .psfrn-hub-body .rally-player__eyebrow { color: color-mix(in srgb, var(--rally-player-accent) 76%, #172033); }
html[data-theme="light"] .psfrn-hub-body .rally-player__title { color: #172033; }
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__skip,
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__speed { border-color: #b9c2cf !important; background: rgba(255,255,255,.58) !important; color: #273449 !important; }
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__skip:hover,
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__speed:hover { border-color: #8995a6 !important; background: #fff !important; }
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__mute { color: #273449 !important; }
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__mute:hover,
html[data-theme="light"] .psfrn-hub-body .rally-player .rally-player__mute:focus-visible { background: rgba(15,23,42,.08) !important; }
html[data-theme="light"] .psfrn-hub-body .rally-player input[type="range"].rally-player__seek::-webkit-slider-runnable-track {
    background: linear-gradient(to right, var(--rally-player-accent) 0, var(--rally-player-accent) var(--rally-player-progress), #b9c2ce var(--rally-player-progress), #b9c2ce 100%) !important;
}
html[data-theme="light"] .psfrn-hub-body .rally-player input[type="range"].rally-player__seek::-moz-range-track { background: #b9c2ce !important; }
html[data-theme="light"] .psfrn-hub-body .rally-player input[type="range"].rally-player__volume-range::-webkit-slider-runnable-track {
    background: linear-gradient(to right, var(--rally-player-accent) 0, var(--rally-player-accent) var(--rally-player-volume), #aeb8c6 var(--rally-player-volume), #aeb8c6 100%) !important;
}
html[data-theme="light"] .psfrn-hub-body .rally-player input[type="range"].rally-player__volume-range::-moz-range-track { background: #aeb8c6 !important; }

/* WordPress host/admin workspace */
.psfrn-hub-admin { --hub-admin-accent: #f36a21; max-width: 1540px; padding-bottom: 118px; color: #1f2937; }
.psfrn-hub-admin * { box-sizing: border-box; }
.psfrn-hub-admin-title,
.psfrn-hub-panel-heading,
.psfrn-hub-section-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.psfrn-hub-admin-title { margin: 18px 0 20px; }
.psfrn-hub-admin-title h1 { margin: 0; font-size: 31px; letter-spacing: -.035em; }
.psfrn-hub-admin-title p,
.psfrn-hub-panel-heading p,
.psfrn-hub-section-title p { margin: 5px 0 0; color: #64748b; }
.psfrn-hub-section-title .psfrn-hub-missing { color: #9a4b00; }
.psfrn-hub-section-title .psfrn-hub-complete { color: #24703d; }
.psfrn-hub-status { padding: 7px 12px; border-radius: 999px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; font-size: 11px; }
.psfrn-hub-status.is-live { background: #dcfce7; color: #166534; }
.psfrn-hub-status.is-draft { background: #fef3c7; color: #92400e; }
.psfrn-hub-status.is-disabled { background: #fee2e2; color: #991b1b; }
.psfrn-hub-show-switcher { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.psfrn-hub-show-switcher label { font-weight: 800; }
.psfrn-hub-show-switcher select { min-width: min(420px, 100%); }
.psfrn-hub-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: 20px; align-items: start; }
.psfrn-hub-panel { margin: 0 0 20px; padding: 24px; border: 1px solid #d9dee7; border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(15,23,42,.055); }
.psfrn-hub-panel h2,
.psfrn-hub-panel h3,
.psfrn-hub-panel h4 { margin-top: 0; }
.psfrn-hub-header-actions,
.psfrn-hub-network-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.psfrn-hub-locked-summary { display: flex; gap: 14px; margin: 20px 0; padding: 15px; border-radius: 14px; background: #f1f5f9; align-items: center; }
.psfrn-hub-locked-summary img { width: 76px; height: 76px; border-radius: 12px; object-fit: cover; }
.psfrn-hub-locked-summary div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.psfrn-hub-locked-summary span,
.psfrn-hub-locked-summary small { color: #64748b; }
.psfrn-hub-qr-note { display: block; margin-top: 7px; color: #24703d; font-size: 12px; font-weight: 800; }
.psfrn-hub-settings-tabs { position: sticky; z-index: 50; top: calc(var(--wp-admin--admin-bar--height, 0px) + 8px); display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin: 22px 0 0; padding: 7px; border: 1px solid #d6dde7; border-radius: 16px; background: rgba(244,247,250,.96); box-shadow: 0 8px 24px rgba(15,23,42,.08); backdrop-filter: blur(14px); }
.psfrn-hub-settings-tabs button { display: grid; min-width: 0; min-height: 62px; grid-template-columns: 28px minmax(0,1fr); grid-template-rows: auto auto; gap: 1px 8px; padding: 9px 10px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #334155; font: inherit; text-align: left; cursor: pointer; align-items: center; }
.psfrn-hub-settings-tabs button > span { display: grid; width: 26px; height: 26px; grid-row: 1 / 3; border-radius: 50%; background: #e2e8f0; color: #475569; font-size: 12px; font-weight: 900; place-items: center; }
.psfrn-hub-settings-tabs button > strong { overflow: hidden; color: inherit; font-size: 13px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.psfrn-hub-settings-tabs button > small { overflow: hidden; color: #64748b; font-size: 10px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.psfrn-hub-settings-tabs button[aria-selected="true"] { border-color: #f36a21; background: #fff; color: #9f3412; box-shadow: 0 4px 14px rgba(15,23,42,.08); }
.psfrn-hub-settings-tabs button[aria-selected="true"] > span { background: #f36a21; color: #111827; }
.psfrn-hub-settings-tabs button:focus-visible { outline: 3px solid rgba(243,106,33,.3); outline-offset: 2px; }
.psfrn-hub-tab-panel[hidden] { display: none !important; }
.psfrn-hub-tab-panel { min-height: 280px; }
.psfrn-hub-form-section { margin-top: 22px; padding-top: 22px; border-top: 1px solid #e5e7eb; }
.psfrn-hub-form-section.is-first { margin-top: 0; padding-top: 22px; border-top: 0; }
.psfrn-hub-smart-settings { display: grid; gap: 14px; }
.psfrn-hub-smart-settings .psfrn-hub-section-title,
.psfrn-hub-smart-settings .psfrn-hub-setting-toggle,
.psfrn-hub-smart-settings .psfrn-hub-smart-defaults { margin: 0; }
.psfrn-hub-smart-url { display: flex; min-width: 0; gap: 12px; padding: 14px; border: 1px solid #cdd8e6; border-radius: 14px; background: linear-gradient(135deg, #eff6ff, #f8fafc); align-items: center; justify-content: space-between; }
.psfrn-hub-smart-url code { min-width: 0; padding: 0; background: transparent; color: #17345f; font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.psfrn-hub-smart-url > div { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.psfrn-hub-smart-defaults { padding: 14px; border: 1px solid #e0e6ee; border-radius: 14px; background: #fbfcfe; }
.psfrn-hub-smart-status { display: flex; min-width: 0; gap: 5px; padding: 12px 14px; border-radius: 12px; background: #eef8f1; color: #285b39; font-size: 12px; line-height: 1.45; flex-direction: column; overflow-wrap: anywhere; }
.psfrn-hub-smart-status small { color: #557263; }
.psfrn-hub-advanced { margin-top: 14px; padding: 0 14px 14px; border: 1px solid #d8dee8; border-radius: 13px; background: #fbfcfe; }
.psfrn-hub-advanced > summary { min-height: 44px; padding: 12px 0; color: #344054; cursor: pointer; font-size: 12px; font-weight: 850; }
.psfrn-hub-advanced > p { margin: 0 0 12px; color: #64748b; }
.psfrn-hub-color-field { max-width: 360px; }
.psfrn-hub-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.psfrn-hub-field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.psfrn-hub-field label,
.psfrn-hub-field legend { color: #344054; font-size: 12px; font-weight: 800; }
.psfrn-hub-field small { color: #64748b; }
.psfrn-hub-field input:not([type=checkbox]):not([type=color]),
.psfrn-hub-field select,
.psfrn-hub-field textarea { width: 100%; min-height: 40px; }
.psfrn-hub-field input[type=color] { width: 74px; min-height: 42px; }
.psfrn-hub-field-wide { grid-column: 1 / -1; }
.psfrn-hub-editor-panel,
[data-hub-link-list] { min-width: 0; }
[data-hub-link-list] { display: grid; gap: 12px; margin-top: 14px; }
.psfrn-hub-editor-row { display: grid; width: 100%; max-width: 100%; min-width: 0; grid-template-columns: 32px minmax(0,.9fr) minmax(0,1.1fr); grid-template-areas: "drag type label" "drag url url" "drag actions actions" "drag schedule schedule"; gap: 11px 12px; margin: 0; padding: 15px; border: 1px solid #d8dee8; border-radius: 15px; background: linear-gradient(145deg, #fff, #f8fafc); box-shadow: 0 5px 16px rgba(15,23,42,.045); align-items: end; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.psfrn-hub-editor-row > * { max-width: 100%; min-width: 0; }
.psfrn-hub-editor-row:hover { border-color: #c8d1de; box-shadow: 0 9px 22px rgba(15,23,42,.07); }
.psfrn-hub-editor-row.is-dragging { opacity: .72; border-color: #f36a21; box-shadow: 0 12px 28px rgba(243,106,33,.16); transform: scale(.995); }
.psfrn-hub-editor-row.is-locked { background: linear-gradient(145deg, #f8fafc, #f1f5f9); }
.psfrn-hub-editor-row.is-sourced { grid-template-areas: "drag auto auto" "drag actions actions" "drag schedule schedule"; }
.psfrn-hub-editor-row.is-sourced .psfrn-hub-field-type,
.psfrn-hub-editor-row.is-sourced .psfrn-hub-field-label,
.psfrn-hub-editor-row.is-sourced .psfrn-hub-field-url { display: none; }
.psfrn-hub-auto-link { display: flex; grid-area: auto; min-width: 0; padding: 3px 0; flex-direction: column; gap: 3px; }
.psfrn-hub-auto-link strong { overflow: hidden; color: #243043; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.psfrn-hub-auto-link small { color: #64748b; }
.psfrn-hub-drag { display: grid; grid-area: drag; width: 32px; min-height: 100%; padding: 0; border: 1px dashed #cbd5e1; border-radius: 10px; background: #f8fafc; color: #64748b; cursor: grab; font-size: 21px; place-items: center; touch-action: none; }
.psfrn-hub-drag:hover { border-color: #f36a21; background: #fff7ed; color: #c2410c; }
.psfrn-hub-field-type { grid-area: type; }
.psfrn-hub-field-label { grid-area: label; }
.psfrn-hub-field-url { grid-area: url; }
.psfrn-hub-editor-row-actions { display: flex; grid-area: actions; min-height: 34px; align-items: center; flex-wrap: wrap; gap: 8px; }
.psfrn-hub-enabled,
.psfrn-hub-lock { display: inline-flex; min-height: 30px; margin: 0; padding: 5px 9px; border: 1px solid #d7dee8; border-radius: 999px; background: #fff; color: #344054; font-size: 11px; font-weight: 800; line-height: 1; align-items: center; gap: 6px; white-space: nowrap; }
.psfrn-hub-enabled input,
.psfrn-hub-lock input { width: 15px; height: 15px; margin: 0; }
.psfrn-hub-health { display: inline-flex; min-height: 30px; padding: 5px 9px; border-radius: 999px; background: #e5e7eb; color: #475569; font-size: 10px; font-weight: 850; letter-spacing: .025em; text-transform: uppercase; align-items: center; }
.psfrn-hub-health.is-healthy { background: #dcfce7; color: #166534; }
.psfrn-hub-health.is-broken { background: #fee2e2; color: #991b1b; }
.psfrn-hub-health.is-warning { background: #fef3c7; color: #92400e; }
.psfrn-hub-editor-row-actions > .button-link-delete { margin-left: auto; }
.psfrn-hub-move { display: none !important; min-height: 30px; padding: 5px 9px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #344054; font-size: 11px; font-weight: 800; cursor: pointer; }
.psfrn-hub-schedule { grid-area: schedule; border-top: 1px solid #e5e7eb; }
.psfrn-hub-schedule summary { display: flex; width: 100%; padding: 9px 0 0; color: #526173; cursor: pointer; font-size: 11px; font-weight: 800; list-style: none; align-items: center; justify-content: space-between; }
.psfrn-hub-schedule summary::-webkit-details-marker { display: none; }
.psfrn-hub-schedule summary::after { content: "+"; display: grid; width: 22px; height: 22px; border-radius: 50%; background: #eef2f7; color: #526173; font-size: 15px; place-items: center; }
.psfrn-hub-schedule[open] summary::after { content: "−"; }
.psfrn-hub-schedule-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding-top: 10px; }
.psfrn-hub-setting-toggle,
.psfrn-hub-host-toggle { display: flex; width: 100%; gap: 11px; margin-top: 14px; padding: 14px 16px; border: 1px solid #d8dee8; border-radius: 14px; background: #f8fafc; align-items: flex-start; cursor: pointer; }
.psfrn-hub-setting-toggle input,
.psfrn-hub-host-toggle input { flex: 0 0 auto; margin: 3px 0 0; }
.psfrn-hub-setting-toggle > span,
.psfrn-hub-host-toggle > span { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.psfrn-hub-setting-toggle strong,
.psfrn-hub-host-toggle strong { color: #243043; font-size: 13px; }
.psfrn-hub-setting-toggle small,
.psfrn-hub-host-toggle small { color: #64748b; line-height: 1.45; }
.psfrn-hub-host-source-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.psfrn-hub-host-source-card { display: flex; min-width: 0; gap: 11px; padding: 11px; border: 1px solid #e1e6ee; border-radius: 13px; background: #fff; align-items: center; }
.psfrn-hub-host-source-card > img,
.psfrn-hub-host-source-card > span { display: grid; width: 50px; height: 50px; flex: 0 0 50px; overflow: hidden; border-radius: 11px; background: #f36a21; color: #111827; font-weight: 900; object-fit: cover; place-items: center; }
.psfrn-hub-host-source-card > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.psfrn-hub-host-source-card strong { overflow: hidden; color: #243043; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.psfrn-hub-host-source-card small,
.psfrn-hub-source-empty { color: #64748b; }
.psfrn-hub-source-empty { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #f8fafc; }
.psfrn-hub-theme-choice { margin: 14px 0 18px; padding: 0; border: 0; }
.psfrn-hub-theme-choice legend { margin-bottom: 8px; color: #344054; font-size: 12px; font-weight: 800; }
.psfrn-hub-theme-choice > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.psfrn-hub-theme-choice label { display: flex; min-width: 0; gap: 10px; padding: 13px 14px; border: 1px solid #d8dee8; border-radius: 13px; background: #f8fafc; cursor: pointer; align-items: flex-start; }
.psfrn-hub-theme-choice label:has(input:checked) { border-color: #f36a21; background: #fff7ed; box-shadow: 0 0 0 2px rgba(243,106,33,.13); }
.psfrn-hub-theme-choice input { flex: 0 0 auto; margin: 3px 0 0; }
.psfrn-hub-theme-choice span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.psfrn-hub-theme-choice strong { color: #243043; font-size: 13px; }
.psfrn-hub-theme-choice small,
.psfrn-hub-theme-choice p { color: #64748b; line-height: 1.4; }
.psfrn-hub-theme-choice p { margin: 8px 0 0; font-size: 11px; }
.psfrn-hub-savebar { position: fixed; z-index: 100000; bottom: max(12px, env(safe-area-inset-bottom)); left: 50%; display: flex; width: min(720px, calc(100vw - 28px)); gap: 14px; margin: 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(17,24,39,.97); color: #d1d5db; box-shadow: 0 20px 55px rgba(15,23,42,.34); align-items: center; transform: translateX(-50%); backdrop-filter: blur(14px); }
.psfrn-hub-savebar span { min-width: 0; flex: 1 1 auto; font-size: 12px; line-height: 1.4; }
.psfrn-hub-savebar .button-primary { min-height: 46px; margin: 0; padding: 9px 18px; border-radius: 10px; background: #f36a21; border-color: #f36a21; color: #101216; font-weight: 850; white-space: nowrap; }
.psfrn-hub-savebar .button-primary:hover,
.psfrn-hub-savebar .button-primary:focus { background: #ff7a2f; border-color: #ff7a2f; color: #101216; }
.psfrn-hub-health-form { display: flex; gap: 12px; margin-top: 16px; color: #64748b; align-items: center; }
.psfrn-hub-health-check-form { display: none; }
.psfrn-hub-preview-panel { position: sticky; top: 44px; min-width: 0; }
.psfrn-hub-phone { width: 360px; max-width: 100%; height: 700px; margin: 20px auto 0; padding: 10px; border: 6px solid #17191e; border-radius: 38px; background: #17191e; box-shadow: 0 24px 60px rgba(15,23,42,.22); }
.psfrn-hub-phone iframe { width: 100%; height: 100%; border: 0; border-radius: 25px; background: #090b0e; }
.psfrn-hub-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px,1fr)); gap: 10px; margin-top: 20px; }
.psfrn-hub-metrics > div { padding: 16px; border-radius: 13px; background: #f4f6f9; }
.psfrn-hub-metrics strong { display: block; font-size: 25px; line-height: 1; }
.psfrn-hub-metrics span { display: block; margin-top: 7px; color: #64748b; font-size: 11px; font-weight: 750; text-transform: uppercase; }
.psfrn-hub-breakdown-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.psfrn-hub-breakdown { min-width: 0; }
.psfrn-hub-breakdown-row { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 9px; padding-bottom: 6px; overflow: hidden; }
.psfrn-hub-breakdown-row span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.psfrn-hub-breakdown-row i { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 3px; background: #f36a21; }
.psfrn-hub-trends { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.psfrn-hub-trends table { width: 100%; border-collapse: collapse; }
.psfrn-hub-trends th,
.psfrn-hub-trends td { padding: 7px 9px; border-bottom: 1px solid #e5e7eb; text-align: left; }
.psfrn-hub-network-controls { border-color: #f1c9ad; }
.psfrn-hub-danger-zone { margin: 22px 0; padding: 18px; border: 1px solid #fecaca; border-radius: 14px; background: #fff7f7; }
.psfrn-hub-policy { margin-top: 22px; padding-top: 22px; border-top: 1px solid #e5e7eb; }
.psfrn-hub-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin: 10px 0 16px; }
.psfrn-hub-type-grid label { display: flex; gap: 6px; padding: 8px; border: 1px solid #e5e7eb; border-radius: 9px; align-items: center; }
.psfrn-hub-type-grid svg { width: 17px; height: 17px; fill: currentColor; }

/* Frontend host workspace: the same editor, without a wp-admin dependency. */
.psfrn-hub-frontend { width: min(100%, 1540px); margin: 24px auto; padding: 22px 18px 130px; border-radius: 22px; background: #f5f7fa; }
.psfrn-hub-frontend h1,
.psfrn-hub-frontend h2,
.psfrn-hub-frontend h3,
.psfrn-hub-frontend h4 { color: #1f2937 !important; }
#psfrn-link-hub-workspace.psfrn-hub-frontend h1,
#psfrn-link-hub-workspace.psfrn-hub-frontend h2,
#psfrn-link-hub-workspace.psfrn-hub-frontend h3,
#psfrn-link-hub-workspace.psfrn-hub-frontend h4 { color: #1f2937 !important; }
.psfrn-hub-frontend .psfrn-hub-panel h2 { font-size: 20px !important; line-height: 1.3; }
.psfrn-hub-frontend .psfrn-hub-panel h3 { font-size: 18px !important; line-height: 1.35; }
.psfrn-hub-frontend .psfrn-hub-panel h4 { font-size: 15px !important; line-height: 1.4; }
.psfrn-hub-frontend .psfrn-hub-admin-title p,
.psfrn-hub-frontend .psfrn-hub-panel-heading p,
.psfrn-hub-frontend .psfrn-hub-section-title p,
.psfrn-hub-frontend .psfrn-hub-form-section > p { color: #64748b !important; }
.psfrn-hub-frontend .psfrn-hub-section-title .psfrn-hub-missing { color: #9a4b00 !important; }
.psfrn-hub-frontend .psfrn-hub-section-title .psfrn-hub-complete { color: #24703d !important; }
.psfrn-hub-frontend .psfrn-hub-field label,
.psfrn-hub-frontend .psfrn-hub-field legend,
.psfrn-hub-frontend .psfrn-hub-show-switcher label { color: #344054 !important; }
.psfrn-hub-frontend .psfrn-hub-enabled,
.psfrn-hub-frontend .psfrn-hub-lock,
.psfrn-hub-frontend .psfrn-hub-schedule summary { color: #344054 !important; }
.psfrn-hub-frontend .psfrn-hub-health { color: #475569 !important; }
.psfrn-hub-frontend .psfrn-hub-health.is-healthy { color: #166534 !important; }
.psfrn-hub-frontend .psfrn-hub-health.is-broken { color: #991b1b !important; }
.psfrn-hub-frontend .psfrn-hub-health.is-warning { color: #92400e !important; }
.psfrn-hub-frontend .psfrn-hub-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 14px; color: #b83b13; font-weight: 800; text-decoration: none; }
.psfrn-hub-frontend .button,
.psfrn-hub-frontend button.button,
.psfrn-hub-frontend .button-link-delete { display: inline-flex; min-height: 38px; padding: 8px 13px; border: 1px solid #aeb8c7; border-radius: 7px; background: #fff; color: #283548; font: inherit; font-weight: 750; line-height: 1.2; text-decoration: none; align-items: center; justify-content: center; cursor: pointer; }
.psfrn-hub-frontend .button:hover,
.psfrn-hub-frontend .button:focus { border-color: #f36a21; color: #9f3412; }
.psfrn-hub-frontend .button-primary,
.psfrn-hub-frontend button.button-primary { border-color: #f36a21; background: #f36a21; color: #111827; }
.psfrn-hub-frontend .button-link-delete { min-height: auto; padding: 4px 7px; border-color: transparent; background: transparent; color: #b42318; font-size: 12px; }
.psfrn-hub-frontend input,
.psfrn-hub-frontend select,
.psfrn-hub-frontend textarea { max-width: 100%; padding: 8px 10px; border: 1px solid #aeb8c7; border-radius: 6px; background: #fff; color: #172033; font: inherit; }
.psfrn-hub-frontend .psfrn-hub-notice { margin: 0 0 18px; padding: 12px 15px; border: 1px solid #86c69a; border-radius: 9px; background: #effbf2; color: #185b2d; }
.psfrn-hub-frontend .psfrn-hub-notice.is-error { border-color: #ef9a94; background: #fff1f0; color: #8d2119; }

@media (max-width: 1500px) {
    .psfrn-hub-admin-grid { grid-template-columns: 1fr; }
    .psfrn-hub-preview-panel { position: static; }
    .psfrn-hub-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 782px) {
    .psfrn-hub-shell { width: min(100% - 20px, 620px); padding-top: 18px; }
    .psfrn-hub-show-switcher { align-items: stretch; flex-direction: column; }
    .psfrn-hub-show-switcher select { width: 100%; min-width: 0; }
    .psfrn-hub-panel { padding: 16px; border-radius: 15px; }
    .psfrn-hub-header-actions { width: 100%; }
    .psfrn-hub-header-actions .button { flex: 1 1 145px; }
    .psfrn-hub-settings-tabs { top: calc(var(--wp-admin--admin-bar--height, 0px) + 4px); gap: 4px; margin-top: 16px; padding: 5px; border-radius: 13px; }
    .psfrn-hub-settings-tabs button { min-height: 54px; grid-template-columns: 24px minmax(0,1fr); gap: 5px; padding: 7px 5px; border-radius: 9px; text-align: center; }
    .psfrn-hub-settings-tabs button > span { width: 23px; height: 23px; }
    .psfrn-hub-settings-tabs button > strong { font-size: 12px; }
    .psfrn-hub-settings-tabs button > small { display: none; }
    .psfrn-hub-tab-panel { min-height: 0; }
    .psfrn-hub-frontend input:not([type=checkbox]):not([type=color]),
    .psfrn-hub-frontend select,
    .psfrn-hub-frontend textarea { font-size: 16px; }
    .psfrn-hub-identity-row { gap: 14px; align-items: start; }
    .psfrn-hub-art { border-radius: 16px; }
    .psfrn-hub-identity h1 { font-size: clamp(24px, 7vw, 32px); }
    .psfrn-hub-identity-copy > p { margin-top: 8px; font-size: 12px; line-height: 1.42; }
    .psfrn-hub-network { gap: 7px; margin-top: 9px; font-size: 10px; }
    .psfrn-hub-network img { width: 60px; }
    .psfrn-hub-hosts { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .psfrn-hub-form-grid,
    .psfrn-hub-breakdown-grid,
    .psfrn-hub-trends,
    .psfrn-hub-type-grid { grid-template-columns: 1fr; }
    .psfrn-hub-editor-row { grid-template-columns: minmax(0,1fr); grid-template-areas: "type" "label" "url" "actions" "schedule"; padding: 13px; }
    .psfrn-hub-editor-row.is-sourced { grid-template-areas: "auto" "actions" "schedule"; }
    .psfrn-hub-host-source-list { grid-template-columns: 1fr; }
    .psfrn-hub-frontend .psfrn-hub-drag,
    .psfrn-hub-drag { display: none !important; }
    .psfrn-hub-move { display: inline-flex !important; align-items: center; justify-content: center; }
    .psfrn-hub-field-wide { grid-column: auto; }
    .psfrn-hub-schedule-fields { grid-template-columns: 1fr; }
    .psfrn-hub-editor-row-actions > .button-link-delete { margin-left: 0; }
    .psfrn-hub-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .psfrn-hub-health-form,
    .psfrn-hub-panel-heading,
    .psfrn-hub-section-title { align-items: stretch; flex-direction: column; }
    .psfrn-hub-savebar { bottom: max(8px, env(safe-area-inset-bottom)); width: calc(100vw - 18px); gap: 10px; padding: 9px 10px; border-radius: 14px; }
    .psfrn-hub-savebar span { font-size: 10px; line-height: 1.3; }
    .psfrn-hub-savebar .button-primary { min-height: 44px; padding: 8px 13px; font-size: 13px; }
    .psfrn-hub-smart-url { align-items: stretch; flex-direction: column; }
    .psfrn-hub-smart-url > div { width: 100%; }
    .psfrn-hub-smart-url .button { flex: 1 1 160px; }
    .psfrn-hub-preview-panel { display: none; }
}

@media (max-width: 480px) {
    .psfrn-hub-panel { padding: 12px; }
    .psfrn-hub-frontend { padding-right: 8px; padding-left: 8px; }
    .psfrn-hub-settings-tabs button { grid-template-columns: minmax(0,1fr); grid-template-rows: 23px auto; justify-items: center; }
    .psfrn-hub-settings-tabs button > span { grid-row: auto; }
    .psfrn-hub-savebar span { display: none; }
    .psfrn-hub-savebar .button-primary { width: 100%; }
    .psfrn-hub-latest { padding: 16px; border-radius: 20px; }
    .psfrn-hub-latest h2 { font-size: 20px; }
    .psfrn-hub-section { margin: 28px 0; }
    .psfrn-hub-link { grid-template-columns: 30px minmax(0,1fr); min-height: 58px; gap: 8px; padding: 9px 10px; border-radius: 14px; font-size: 13px; }
    .psfrn-hub-link-icon { width: 30px; height: 30px; border-radius: 9px; }
    .psfrn-hub-link-icon svg { width: 18px; height: 18px; }
    .psfrn-hub-link-arrow { display: none; }
    .psfrn-hub-link--subscribe { grid-column: 1 / -1; min-height: 66px; padding: 11px 13px; font-size: 16px; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player { grid-template-columns: minmax(0,1fr); gap: 0; padding: 12px; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__thumbnail { display: none; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__topline { grid-template-columns: 46px minmax(0,1fr); gap: 12px; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__title { overflow: visible; white-space: normal; -webkit-mask-image: none; mask-image: none; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__title-text { display: block; min-width: 0; white-space: normal; animation: none !important; transform: none !important; will-change: auto; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__actions { grid-column: 1 / -1; width: 100%; justify-content: flex-start; gap: 5px; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__skip,
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__speed { min-width: 44px !important; height: 44px !important; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__download { min-height: 44px !important; height: 44px !important; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player input[type="range"].rally-player__seek { height: 30px !important; min-height: 30px !important; }
    .psfrn-hub-body .psfrn-hub-latest > .rally-player .rally-player__mute { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
}

@media (max-width: 340px) {
    .psfrn-hub-hosts { grid-template-columns: 1fr; }
    .psfrn-hub-theme-choice > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .psfrn-hub-body { transition: none; }
    .psfrn-hub-primary,
    .psfrn-hub-link { transition: none; }
}
