:root { --e99rc-height: calc(80px + env(safe-area-inset-bottom, 0px)); }
.e99rc-space { display: block; width: 100%; height: var(--e99rc-height); flex-shrink: 0; }
.e99rc-bar, .e99rc-bar * { box-sizing: border-box; }
/* Existing site palette: newsever/style.css (.bottom-bar) and
   inc/customizer/customizer-default.php (top_header_background_color).
   Scope these tokens to the plugin; no theme rules or settings are changed. */
.e99rc-bar { --e99rc-accent: #f25600; --e99rc-bg: #1c1c1c; position: fixed; inset: auto 0 0; z-index: 9998; display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; min-height: 76px; padding: 4px max(12px, env(safe-area-inset-right, 0px)) calc(4px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); margin: 0; border-top: 1px solid var(--e99rc-accent); background: var(--e99rc-bg); color: #fff; box-shadow: 0 -2px 8px #0003; font: 14px/1.3 system-ui, sans-serif; }
.e99rc-identity { display: flex; align-items: center; gap: 8px; min-width: 0; }
.e99rc-bar .e99rc-logo { display: block; width: 98px; height: 38px; max-width: 42%; flex: 0 1 98px; object-fit: contain; border: 0; border-radius: 0; background: transparent; margin: 0; padding: 0; }
.e99rc-labels { min-width: 0; }
.e99rc-badge { display: block; color: #fff; font-size: 10px; font-weight: 750; letter-spacing: .04em; overflow-wrap: anywhere; }
.e99rc-badge::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--e99rc-accent); vertical-align: 1px; }
.e99rc-name { display: block; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
/* Native browser controls retain their own keyboard and volume behavior. */
.e99rc-player { min-width: 0; width: 100%; }
.e99rc-player audio { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 0; color-scheme: dark; }
.e99rc-player a { color: #fff; text-decoration: underline; }
.e99rc-bar .e99rc-share { justify-self: end; display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; padding: 6px 12px; border: 1px solid var(--e99rc-accent); border-radius: 4px; background: transparent; color: #fff; font: 600 12px/1.3 system-ui, sans-serif; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.e99rc-bar .e99rc-share:hover { background: var(--e99rc-accent); color: #fff; }
.e99rc-bar [hidden] { display: none !important; }
.e99rc-bar a:focus-visible, .e99rc-bar button:focus-visible, .e99rc-bar audio:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.e99rc-bar .e99rc-status, .e99rc-bar .e99rc-help { grid-column: 1 / -1; margin: 0; font: 400 12px/1.4 system-ui, sans-serif; color: #fff; overflow-wrap: anywhere; }
body.e99rc-enabled #scroll-up { bottom: calc(var(--e99rc-height) + 12px); }
@media (max-width: 760px) {
    :root { --e99rc-height: calc(132px + env(safe-area-inset-bottom, 0px)); }
    .e99rc-bar { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; }
    .e99rc-identity { grid-column: 1; grid-row: 1; gap: 6px; }
    .e99rc-share { grid-column: 2; grid-row: 1; }
    .e99rc-player { grid-column: 1 / -1; grid-row: 2; }
    .e99rc-bar .e99rc-logo { width: 82px; height: 32px; flex-basis: 82px; }
    .e99rc-name { font-size: 13px; }
    .e99rc-bar .e99rc-share { padding: 5px 8px; font-size: 11px; }
}
@media print { .e99rc-bar, .e99rc-space { display: none !important; } }
