Files
return-youtube-dislike/Extensions/combined/content-style.css
T
Anarios c31f60cc24 Fix Firefox consent and release interface regressions
Keep private windows counts-only and separate account consent from core access. Correct stale account UI, Premium themes and ranges, display preferences, and RTL popup and release layouts.
2026-10-18 18:13:46 +02:00

1659 lines
37 KiB
CSS

:root {
/* --yt-spec-icon-disabled: #f44 !important;
--yt-spec-text-primary: #4f4 !important; */
/* --yt-spec-general-background-a: #000 !important;
--yt-spec-general-background-b: #000 !important;
--yt-spec-general-background-c: #000 !important;
--yt-spec-brand-background-solid: #000 !important;
--yt-spec-brand-background-primary: #000 !important;
--yt-spec-brand-background-secondary: #000 !important; */
}
[data-ryd-thumb-color],
[data-ryd-thumb-color] :is(.ytSpecButtonShapeNextIcon, .yt-spec-button-shape-next__icon, yt-icon, .ytIconWrapperHost) {
color: var(--ryd-thumb-color) !important;
}
[data-ryd-thumb-color] yt-animated-icon svg [fill]:not([fill="none"]) {
fill: var(--ryd-thumb-color) !important;
}
[data-ryd-thumb-color] yt-animated-icon svg [stroke]:not([stroke="none"]) {
stroke: var(--ryd-thumb-color) !important;
}
.ryd-discussion,
.ryd-discussion-popup,
.ryd-discussion-toast {
--ryd-discussion-bg: var(--yt-spec-base-background, #fff);
--ryd-discussion-fg: var(--yt-spec-text-primary, #0f0f0f);
--ryd-discussion-muted: var(--yt-spec-text-secondary, #606060);
--ryd-discussion-surface: var(--yt-spec-badge-chip-background, #f2f2f2);
--ryd-discussion-line: var(--yt-spec-10-percent-layer, #dedede);
--ryd-discussion-accent: var(--yt-spec-call-to-action, #065fd4);
--ryd-discussion-on-accent: var(--yt-spec-inverted-text-primary, #fff);
color-scheme: light;
box-sizing: border-box;
color: var(--ryd-discussion-fg);
font:
14px/1.5 Roboto,
Arial,
sans-serif;
text-align: start;
}
html[dark] .ryd-discussion,
html[dark] .ryd-discussion-popup,
html[dark] .ryd-discussion-toast {
--ryd-discussion-bg: var(--yt-spec-base-background, #0f0f0f);
--ryd-discussion-fg: var(--yt-spec-text-primary, #f1f1f1);
--ryd-discussion-muted: var(--yt-spec-text-secondary, #aaa);
--ryd-discussion-surface: var(--yt-spec-badge-chip-background, #272727);
--ryd-discussion-line: var(--yt-spec-10-percent-layer, #3f3f3f);
--ryd-discussion-accent: var(--yt-spec-call-to-action, #3ea6ff);
--ryd-discussion-on-accent: var(--yt-spec-inverted-text-primary, #0f0f0f);
color-scheme: dark;
}
.ryd-discussion *,
.ryd-discussion-popup *,
.ryd-discussion-toast * {
box-sizing: border-box;
}
.ryd-discussion [hidden],
.ryd-discussion[hidden],
.ryd-discussion-popup [hidden],
.ryd-discussion-backdrop[hidden] {
display: none !important;
}
.ryd-discussion {
width: 100%;
margin: 20px 0 32px;
padding: 20px 0;
border-top: 1px solid var(--ryd-discussion-line);
}
.ryd-discussion-header {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 12px;
}
.ryd-discussion-brand,
.ryd-discussion-header-actions,
.ryd-discussion-toolbar,
.ryd-discussion-form-actions,
.ryd-discussion-comment-actions,
.ryd-discussion-account,
.ryd-discussion-comment-heading {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.ryd-discussion-header-actions {
gap: 2px;
}
.ryd-discussion-title {
margin: 0;
font-size: 20px;
font-weight: 600;
line-height: 1.3;
}
.ryd-discussion-logo {
padding: 4px 6px;
background: #d92323;
color: #fff;
font-size: 10px;
font-weight: 800;
border-radius: 6px;
letter-spacing: -0.2px;
}
.ryd-discussion-description {
margin: 10px 0 0;
color: var(--ryd-discussion-muted);
font-size: 13px;
}
.ryd-discussion-independent {
margin: 2px 0 20px;
color: var(--ryd-discussion-muted);
font-size: 12px;
}
.ryd-discussion-subtitle {
margin: 0;
font-size: 16px;
font-weight: 600;
}
.ryd-discussion-button,
.ryd-discussion-close {
appearance: none;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 5px;
border: 0;
border-radius: 18px;
background: transparent;
color: inherit;
min-height: 34px;
padding: 6px 12px;
font: inherit;
font-size: 12px;
font-weight: 500;
line-height: 1.4;
cursor: pointer;
text-decoration: none;
white-space: normal;
}
.ryd-discussion-button:hover,
.ryd-discussion-close:hover {
background: var(--ryd-discussion-surface);
}
.ryd-discussion-button[aria-pressed="true"] {
background: var(--ryd-discussion-surface);
color: var(--ryd-discussion-accent);
}
.ryd-discussion-button:disabled {
opacity: 0.5;
cursor: default;
}
.ryd-discussion-button:focus-visible,
.ryd-discussion-close:focus-visible,
.ryd-discussion-select:focus-visible,
.ryd-discussion-textarea:focus-visible,
.ryd-discussion-input:focus-visible,
.ryd-discussion-launcher:focus-visible,
.ryd-discussion-notification-link:focus-visible {
outline: 2px solid var(--ryd-discussion-accent);
outline-offset: 2px;
}
.ryd-discussion-primary {
background: var(--ryd-discussion-accent);
color: var(--ryd-discussion-on-accent);
padding-inline: 16px;
}
.ryd-discussion-primary:hover {
background: var(--ryd-discussion-accent);
filter: brightness(0.92);
}
.ryd-discussion-danger {
color: #dc3232;
}
.ryd-discussion-close {
font-size: 26px;
padding: 0;
height: 36px;
width: 36px;
min-width: 36px;
}
.ryd-discussion-composer {
margin-bottom: 20px;
}
.ryd-discussion-gate {
margin: 0 0 6px;
color: var(--ryd-discussion-muted);
font-size: 13px;
}
.ryd-discussion-link,
.ryd-discussion-notification-link {
color: var(--ryd-discussion-accent);
text-decoration: none;
}
.ryd-discussion-link:hover,
.ryd-discussion-notification-link:hover {
text-decoration: underline;
}
.ryd-discussion-form {
margin: 10px 0;
width: 100%;
}
.ryd-discussion-label {
display: block;
width: 100%;
color: var(--ryd-discussion-fg);
font-size: 13px;
margin: 6px 0;
}
.ryd-discussion-textarea,
.ryd-discussion-input {
display: block;
width: 100%;
max-width: 100%;
min-width: 0;
margin-top: 6px;
border: 1px solid var(--ryd-discussion-line);
border-radius: 10px;
background: var(--ryd-discussion-bg);
color: var(--ryd-discussion-fg);
padding: 10px 12px;
font: inherit;
line-height: 1.5;
}
.ryd-discussion-textarea {
resize: vertical;
min-height: 78px;
}
.ryd-discussion-input {
max-width: 420px;
}
.ryd-discussion-textarea::placeholder {
color: var(--ryd-discussion-muted);
}
.ryd-discussion-form-actions {
justify-content: flex-end;
margin-top: 6px;
}
.ryd-discussion-counter {
margin-inline-end: auto;
color: var(--ryd-discussion-muted);
font-size: 11px;
}
.ryd-discussion-toolbar {
justify-content: space-between;
margin: 16px 0 12px;
}
.ryd-discussion-select {
border: 0;
border-radius: 8px;
padding: 8px 28px 8px 10px;
background: var(--ryd-discussion-surface);
color: inherit;
font: inherit;
font-size: 13px;
}
.ryd-discussion-status {
margin: 8px 0;
color: var(--ryd-discussion-muted);
font-size: 13px;
}
.ryd-discussion-status:empty {
display: none;
}
.ryd-discussion-comment {
padding: 16px 0;
border-bottom: 1px solid var(--ryd-discussion-line);
min-width: 0;
}
.ryd-discussion-comment:last-child {
border-bottom: 0;
}
.ryd-discussion-comment-heading {
gap: 8px;
}
.ryd-discussion-author {
font-size: 13px;
font-weight: 600;
overflow-wrap: anywhere;
}
.ryd-discussion-avatar {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
min-width: 28px;
border-radius: 50%;
color: var(--ryd-discussion-muted);
background: var(--ryd-discussion-surface);
font-size: 13px;
font-weight: 500;
}
.ryd-discussion-meta {
color: var(--ryd-discussion-muted);
font-size: 11px;
}
.ryd-discussion-comment-text {
margin: 8px 0 6px;
white-space: pre-wrap;
overflow-wrap: anywhere;
word-break: normal;
font-size: 14px;
line-height: 1.55;
}
.ryd-discussion-comment-actions {
gap: 2px;
}
.ryd-discussion-comment-actions .ryd-discussion-button {
padding-inline: 9px;
}
.ryd-discussion-thumb {
width: 18px;
height: 18px;
fill: currentColor;
flex-shrink: 0;
}
.ryd-discussion-thumb.is-down {
transform: rotate(180deg);
}
.ryd-discussion-reaction {
min-width: 42px;
font-variant-numeric: tabular-nums;
}
.ryd-discussion-replies {
margin-inline-start: 24px;
padding-inline-start: 12px;
border-inline-start: 2px solid var(--ryd-discussion-line);
}
.ryd-discussion-replies:empty {
display: none;
}
.ryd-discussion-reply {
padding-block: 12px;
}
.ryd-discussion-inline-editor:empty {
display: none;
}
.ryd-discussion-confirm {
display: flex;
align-items: center;
gap: 8px;
margin: 12px 0;
flex-wrap: wrap;
}
.ryd-discussion-more {
margin: 12px 0;
background: var(--ryd-discussion-surface);
}
.ryd-discussion-comment.is-highlighted {
border-radius: 10px;
padding-inline: 12px;
background: var(--ryd-discussion-surface);
}
.ryd-discussion-report {
border: 1px solid var(--ryd-discussion-line);
border-radius: 12px;
padding: 14px;
margin-top: 14px;
}
.ryd-discussion-report-reason {
color: var(--ryd-discussion-muted);
font-size: 12px;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.ryd-discussion-notification {
border-bottom: 1px solid var(--ryd-discussion-line);
padding: 12px 8px;
display: flex;
align-items: flex-start;
gap: 8px;
flex-wrap: wrap;
}
.ryd-discussion-notification.is-unread {
background: var(--ryd-discussion-surface);
border-radius: 8px;
}
.ryd-discussion-notification-link {
flex: 1 1 100%;
font-size: 13px;
overflow-wrap: anywhere;
}
.ryd-discussion-inbox-list {
display: grid;
gap: 4px;
}
.ryd-discussion-launcher {
display: block;
margin: 8px auto;
width: 48px;
height: 48px;
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 50%;
background: #d92323;
color: #fff;
font:
700 12px/1 Roboto,
Arial,
sans-serif;
cursor: pointer;
box-shadow: 0 2px 8px #0003;
}
.ryd-discussion-backdrop {
position: fixed;
inset: 0;
background: #0008;
z-index: 2147483000;
}
.ryd-discussion-shorts {
position: fixed;
inset: 0 0 0 auto;
width: min(440px, 100vw);
height: 100dvh;
margin: 0;
padding: 20px;
background: var(--ryd-discussion-bg);
z-index: 2147483001;
border: 0;
box-shadow: -8px 0 32px #0003;
overflow-y: auto;
overscroll-behavior: contain;
}
.ryd-discussion-shorts .ryd-discussion-header {
align-items: flex-start;
}
.ryd-discussion-shorts .ryd-discussion-header-actions {
width: 100%;
}
.ryd-discussion-shorts .ryd-discussion-close {
margin-inline-start: auto;
}
.ryd-discussion-toast {
position: fixed;
inset-inline-end: 24px;
bottom: 24px;
z-index: 2147483002;
width: min(360px, calc(100vw - 32px));
display: flex;
gap: 12px;
align-items: flex-start;
padding: 16px;
border-radius: 14px;
background: var(--ryd-discussion-bg);
border: 1px solid var(--ryd-discussion-line);
box-shadow: 0 6px 30px #0003;
}
.ryd-discussion-toast p {
margin: 5px 0;
font-size: 13px;
}
.ryd-discussion-toast .ryd-discussion-close {
margin-inline-start: auto;
}
.ryd-discussion-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
@media (max-width: 600px) {
#ryd-discussion-panel {
max-inline-size: calc(100vw - 48px);
margin-inline: auto;
}
.ryd-discussion-header-actions {
width: 100%;
}
.ryd-discussion-title {
font-size: 18px;
}
.ryd-discussion-replies {
margin-inline-start: 10px;
padding-inline-start: 8px;
}
.ryd-discussion-shorts {
width: 100vw;
padding: 16px;
}
.ryd-discussion-toast {
inset-inline-end: 16px;
bottom: 16px;
}
}
.ryd-discussion {
container: ryd-comments / inline-size;
}
.ryd-discussion.ryd-discussion-watch {
margin-block: 24px 32px;
padding: 22px;
border: 1px solid var(--ryd-discussion-line);
border-radius: 16px;
background: var(--ryd-discussion-bg);
}
.ryd-discussion .ryd-discussion-header {
align-items: flex-start;
gap: 12px 20px;
}
.ryd-discussion .ryd-discussion-brand {
min-inline-size: 0;
gap: 10px;
}
.ryd-discussion .ryd-discussion-title {
font-size: 1.5em;
font-weight: 700;
line-height: 1.3;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-logo {
flex: 0 0 auto;
padding: 5px 7px;
border-radius: 7px;
font-size: 0.75em;
line-height: 1.2;
}
.ryd-discussion .ryd-discussion-header-actions {
gap: 4px;
}
.ryd-discussion .ryd-discussion-header-actions > .ryd-discussion-button[aria-pressed="true"] {
box-shadow: inset 0 -2px var(--ryd-discussion-accent);
}
.ryd-discussion .ryd-discussion-description {
max-inline-size: 78ch;
margin-block: 10px 0;
font-size: 0.93em;
line-height: 1.55;
overflow-wrap: anywhere;
}
.ryd-discussion > .ryd-discussion-independent {
max-inline-size: 78ch;
margin-block: 4px 20px;
font-size: 0.86em;
line-height: 1.5;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-composer {
margin-block-end: 18px;
padding: 16px;
border: 1px solid var(--ryd-discussion-line);
border-radius: 12px;
}
.ryd-discussion .ryd-discussion-gate {
margin-block: 0 8px;
font-size: 0.93em;
line-height: 1.55;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-composer > .ryd-discussion-link {
display: inline-block;
max-inline-size: 100%;
font-size: 0.93em;
font-weight: 600;
line-height: 1.6;
text-decoration: underline;
text-underline-offset: 3px;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-composer > .ryd-discussion-meta {
margin-block: 8px 0;
}
.ryd-discussion .ryd-discussion-account {
justify-content: space-between;
gap: 4px 12px;
}
.ryd-discussion .ryd-discussion-form {
margin-block: 10px 0;
}
.ryd-discussion .ryd-discussion-label {
font-size: 0.93em;
line-height: 1.5;
}
.ryd-discussion .ryd-discussion-textarea,
.ryd-discussion .ryd-discussion-input {
padding: 12px;
font-size: 1.08em;
line-height: 1.55;
}
.ryd-discussion .ryd-discussion-textarea {
min-block-size: 96px;
}
.ryd-discussion .ryd-discussion-form-actions {
gap: 8px;
margin-block-start: 10px;
}
.ryd-discussion .ryd-discussion-counter {
font-size: 0.86em;
line-height: 1.5;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-toolbar {
gap: 8px 12px;
margin-block: 0 4px;
padding-block: 10px;
border-block: 1px solid var(--ryd-discussion-line);
}
.ryd-discussion .ryd-discussion-select {
min-inline-size: 0;
max-inline-size: 100%;
min-block-size: 38px;
padding-block: 8px;
border: 1px solid var(--ryd-discussion-line);
border-radius: 9px;
background: var(--ryd-discussion-bg);
font-size: 0.93em;
}
.ryd-discussion .ryd-discussion-status {
margin-block: 12px;
font-size: 0.93em;
line-height: 1.55;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-comment {
padding-block: 20px;
}
.ryd-discussion .ryd-discussion-comment-heading {
min-inline-size: 0;
gap: 4px 9px;
}
.ryd-discussion .ryd-discussion-avatar {
flex: 0 0 30px;
inline-size: 30px;
block-size: 30px;
min-inline-size: 30px;
font-size: 0.93em;
}
.ryd-discussion .ryd-discussion-author {
min-inline-size: 0;
font-size: 0.93em;
line-height: 1.5;
}
.ryd-discussion .ryd-discussion-meta {
min-inline-size: 0;
font-size: 0.86em;
line-height: 1.5;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-comment-text {
max-inline-size: 78ch;
margin-block: 10px 8px;
font-size: 1em;
line-height: 1.65;
}
.ryd-discussion .ryd-discussion-button {
min-inline-size: 0;
max-inline-size: 100%;
min-block-size: 36px;
padding-block: 7px;
padding-inline: 12px;
border-radius: 9px;
font-size: 0.93em;
line-height: 1.4;
overflow-wrap: anywhere;
}
.ryd-discussion .ryd-discussion-primary {
padding-inline: 16px;
}
.ryd-discussion .ryd-discussion-comment-actions {
gap: 4px;
}
.ryd-discussion .ryd-discussion-comment-actions > .ryd-discussion-button {
padding-inline: 10px;
}
.ryd-discussion .ryd-discussion-reaction {
min-inline-size: 52px;
gap: 7px;
border: 0;
border-radius: 0;
background: transparent;
}
.ryd-discussion .ryd-discussion-comment-actions > [data-action="reply"],
.ryd-discussion .ryd-discussion-comment-actions > [data-action="load-replies"] {
color: var(--ryd-discussion-accent);
}
.ryd-discussion .ryd-discussion-replies {
margin-inline-start: 16px;
padding-inline-start: 16px;
}
.ryd-discussion .ryd-discussion-reply {
padding-block: 16px;
}
.ryd-discussion .ryd-discussion-more {
margin-block: 16px 0;
padding-inline: 18px;
}
.ryd-discussion.ryd-discussion-shorts {
padding-block: 22px;
padding-inline: 20px;
}
.ryd-discussion .ryd-discussion-close {
flex: 0 0 36px;
border: 1px solid var(--ryd-discussion-line);
border-radius: 50%;
}
.ryd-discussion
:is(
.ryd-discussion-button,
.ryd-discussion-close,
.ryd-discussion-select,
.ryd-discussion-textarea,
.ryd-discussion-input,
.ryd-discussion-link,
.ryd-discussion-notification-link
):focus-visible {
outline: 3px solid var(--ryd-discussion-accent);
outline-offset: 3px;
}
@container ryd-comments (max-width: 380px) {
.ryd-discussion .ryd-discussion-title {
font-size: 1.36em;
}
.ryd-discussion .ryd-discussion-header-actions {
inline-size: 100%;
}
.ryd-discussion .ryd-discussion-composer {
padding: 12px;
}
.ryd-discussion .ryd-discussion-replies {
margin-inline-start: 6px;
padding-inline-start: 10px;
}
}
@media (max-width: 600px) {
.ryd-discussion.ryd-discussion-watch {
padding: 16px;
}
.ryd-discussion.ryd-discussion-shorts {
padding: 16px;
}
}
/* html:not(.style-scope)[dark], :not(.style-scope)[dark] {
--yt-spec-general-background-a: #000 !important;
--yt-spec-general-background-b: #000 !important;
--yt-spec-general-background-c: #000 !important;
--yt-spec-brand-background-solid: #000 !important;
--yt-spec-brand-background-primary: #000 !important;
--yt-spec-brand-background-secondary: #000 !important;
} */
#ryd-bar-container {
background: #737373;
background: color-mix(in srgb, var(--yt-spec-text-primary, #f1f1f1) 55%, var(--yt-spec-base-background, #0f0f0f) 45%);
border-radius: 2px;
}
#ryd-bar {
background: var(--yt-spec-text-primary, #f1f1f1);
border-radius: 2px;
transition: all 0.15s ease-in-out;
}
.ryd-tooltip {
display: block;
height: 2px;
}
.ryd-tooltip-old-design {
position: relative;
top: 9px;
}
.ryd-tooltip-new-design {
position: absolute;
bottom: -10px;
inset-inline-start: 0;
}
.ryd-tooltip-bar-container {
width: 100%;
height: 2px;
position: absolute;
padding-top: 6px;
padding-bottom: 12px;
top: -6px;
}
/* required to make the ratio bar visible in the new design */
ytd-menu-renderer.ytd-watch-metadata {
overflow-y: visible !important;
}
#top-level-buttons-computed {
position: relative !important;
}
/*
* YouTube can retain a desktop minimum width for the stacked Watch metadata
* row after the viewport becomes phone-sized. Its current 390px layout has
* been observed with a roughly 427px #top-row, which places the reaction group
* past the left edge even after every optional action has moved to More.
* Constrain and center each action-allocation wrapper so the native menu fitter
* measures the usable viewport width instead of that oversized ancestor.
*/
@media (max-width: 480px) {
:is(ytd-watch-flexy, ytd-watch-grid)[video-id] #top-row #actions,
:is(ytd-watch-flexy, ytd-watch-grid)[video-id] #top-row #actions-inner,
:is(ytd-watch-flexy, ytd-watch-grid)[video-id] #top-row ytd-menu-renderer.ytd-watch-metadata {
box-sizing: border-box;
margin-inline: auto !important;
max-width: calc(100vw - 24px) !important;
min-width: 0 !important;
width: 100% !important;
}
}
.ryd-synthetic-shorts-dislike {
box-sizing: content-box;
display: block;
flex: 0 0 auto;
height: 70px;
margin: 0 !important;
padding: 0 0 8px;
width: 100%;
}
.ryd-synthetic-shorts-dislike-label {
align-items: center;
display: flex;
flex-direction: column;
}
.ryd-synthetic-shorts-dislike svg {
display: block;
fill: currentColor;
height: 24px;
pointer-events: none;
width: 24px;
}
.ryd-synthetic-shorts-dislike .ytSpecButtonShapeNextIcon,
.ryd-synthetic-shorts-dislike .yt-spec-button-shape-next__icon {
flex: 0 0 24px;
height: 24px;
min-width: 24px;
width: 24px;
}
.ryd-synthetic-shorts-dislike button {
color: inherit;
cursor: pointer;
}
.ryd-synthetic-shorts-dislike button[aria-pressed="true"] {
color: var(--yt-spec-call-to-action, #3ea6ff);
}
.ryd-premium-analytics,
.ryd-premium-tier-notice {
--ryd-analytics-bg: var(--yt-spec-base-background, #fff);
--ryd-analytics-fg: var(--yt-spec-text-primary, #0f0f0f);
--ryd-analytics-muted: var(--yt-spec-text-secondary, #606060);
--ryd-analytics-border: rgba(0, 0, 0, 0.08);
--ryd-analytics-surface: rgba(15, 23, 42, 0.04);
--ryd-analytics-row: rgba(15, 23, 42, 0.03);
}
html[dark]:not([dark="false"]):not([light]) .ryd-premium-analytics,
html[dark]:not([dark="false"]):not([light]) .ryd-premium-tier-notice {
--ryd-analytics-bg: var(--yt-spec-base-background, #202020);
--ryd-analytics-fg: var(--yt-spec-text-primary, #fff);
--ryd-analytics-muted: var(--yt-spec-text-secondary, #bbb);
--ryd-analytics-border: rgba(255, 255, 255, 0.08);
--ryd-analytics-surface: rgba(255, 255, 255, 0.02);
--ryd-analytics-row: rgba(255, 255, 255, 0.03);
}
.ryd-premium-analytics {
background: var(--ryd-analytics-bg);
border: 1px solid var(--ryd-analytics-border);
border-radius: 16px;
padding: 16px;
margin-bottom: 16px;
color: var(--ryd-analytics-fg);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
font-family: Roboto, Arial, sans-serif;
position: relative;
transition:
box-shadow 0.2s ease,
transform 0.2s ease;
}
.ryd-premium-analytics::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
pointer-events: none;
opacity: 0;
background: rgba(148, 163, 184, 0.22);
transition: opacity 0.2s ease;
}
.ryd-premium-analytics.is-loading::before {
opacity: 1;
}
.ryd-premium-analytics.is-expanded {
position: fixed;
top: 72px;
left: 50%;
transform: translateX(-50%);
width: min(960px, calc(100vw - 48px));
max-height: calc(100vh - 120px);
overflow-y: auto;
z-index: 2147483646;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
}
.ryd-premium-teaser {
--ryd-teaser-bg: var(--yt-spec-base-background, #fff);
--ryd-teaser-fg: var(--yt-spec-text-primary, #0f0f0f);
--ryd-teaser-muted: var(--yt-spec-text-secondary, #606060);
--ryd-teaser-control: var(--ryd-teaser-muted);
--ryd-teaser-subtitle: var(--ryd-teaser-muted);
--ryd-teaser-highlights: var(--ryd-teaser-muted);
--ryd-teaser-link: var(--ryd-teaser-muted);
--ryd-teaser-hover-fg: var(--ryd-teaser-fg);
--ryd-teaser-border: rgba(0, 0, 0, 0.08);
background: var(--ryd-teaser-bg);
border: 1px solid var(--ryd-teaser-border);
border-radius: 16px;
padding: 12px 18px 10px;
margin-bottom: 16px;
color: var(--ryd-teaser-fg);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
font-family: Roboto, Arial, sans-serif;
transition:
box-shadow 0.2s ease,
transform 0.2s ease,
opacity 0.2s ease,
padding 0.2s ease;
position: relative;
display: flex;
flex-direction: column;
gap: 0;
}
html[dark] .ryd-premium-teaser {
--ryd-teaser-bg: var(--yt-spec-base-background, #202020);
--ryd-teaser-fg: var(--yt-spec-text-primary, #fff);
--ryd-teaser-muted: var(--yt-spec-text-secondary, #9ca3af);
--ryd-teaser-control: var(--yt-spec-text-secondary, #94a3b8);
--ryd-teaser-subtitle: var(--yt-spec-text-secondary, #bcccdc);
--ryd-teaser-highlights: var(--yt-spec-text-secondary, #93adc8);
--ryd-teaser-link: var(--yt-spec-text-secondary, #8ea4c8);
--ryd-teaser-hover-fg: var(--yt-spec-text-primary, #f8fafc);
--ryd-teaser-border: rgba(255, 255, 255, 0.08);
}
.ryd-premium-teaser.is-expanded {
gap: 12px;
padding: 12px 18px 16px;
}
.ryd-premium-teaser.is-loading {
opacity: 0.65;
}
.ryd-premium-tier-notice {
background: var(--ryd-analytics-bg);
border: 1px solid var(--ryd-analytics-border);
border-radius: 16px;
padding: 20px;
margin-bottom: 16px;
color: var(--ryd-analytics-fg);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
font-family: Roboto, Arial, sans-serif;
display: flex;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}
.ryd-premium-tier-notice__content {
display: flex;
flex-direction: column;
gap: 12px;
flex: 1 1 240px;
}
.ryd-premium-tier-notice__title {
margin: 0;
font-size: 18px;
font-weight: 600;
}
.ryd-premium-tier-notice__message {
margin: 0;
font-size: 13px;
color: var(--ryd-analytics-muted);
line-height: 1.5;
}
.ryd-premium-tier-notice__actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.ryd-premium-tier-notice__cta {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 10px 18px;
border-radius: 999px;
background: #2563eb;
color: #ffffff;
font-weight: 600;
font-size: 13px;
text-decoration: none;
transition:
background 0.2s ease,
transform 0.2s ease;
}
.ryd-premium-tier-notice__cta:hover {
background: #1d4ed8;
transform: translateY(-1px);
}
.ryd-premium-teaser__summary {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 12px;
flex-wrap: wrap;
}
.ryd-premium-teaser__counts {
display: flex;
flex-wrap: wrap;
gap: 12px;
width: 100%;
padding-right: 5px;
}
.ryd-premium-teaser__count {
flex: 1 1 0;
min-width: 120px;
padding: 10px 14px;
border-radius: 12px;
background: rgba(148, 163, 184, 0.08);
display: flex;
flex-direction: column;
gap: 4px;
}
.ryd-premium-teaser__count-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ryd-teaser-muted);
}
.ryd-premium-teaser__count-value {
font-size: 20px;
font-weight: 600;
line-height: 1.2;
}
.ryd-premium-teaser__toggle {
width: 24px;
height: 24px;
display: inline-flex;
align-items: center;
justify-content: center;
border: none;
border-radius: 6px;
background: rgba(148, 163, 184, 0.16);
color: var(--ryd-teaser-control);
cursor: pointer;
transition:
background 0.2s ease,
color 0.2s ease;
align-self: center;
margin: 8px auto 0;
order: 3;
}
.ryd-premium-teaser.is-expanded .ryd-premium-teaser__toggle {
margin-top: 0;
}
.ryd-premium-teaser__toggle:hover,
.ryd-premium-teaser__toggle:focus-visible {
background: rgba(148, 163, 184, 0.28);
color: var(--ryd-teaser-hover-fg);
outline: none;
}
.ryd-premium-teaser__toggle-icon {
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid currentColor;
transition: transform 0.2s ease;
}
.ryd-premium-teaser.is-expanded .ryd-premium-teaser__toggle-icon {
transform: rotate(180deg);
}
.ryd-premium-teaser__close {
width: 32px;
height: 32px;
border: none;
border-radius: 999px;
background: transparent;
color: var(--ryd-teaser-control);
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition:
background 0.2s ease,
color 0.2s ease;
position: absolute;
top: 0;
right: 0;
}
.ryd-premium-teaser__close:hover,
.ryd-premium-teaser__close:focus-visible {
background: rgba(148, 163, 184, 0.16);
color: var(--ryd-teaser-hover-fg);
outline: none;
}
.ryd-premium-teaser__close-icon {
font-size: 18px;
line-height: 1;
font-weight: 600;
}
.ryd-premium-teaser__details {
display: none;
flex-direction: column;
gap: 12px;
order: 2;
}
.ryd-premium-teaser.is-expanded .ryd-premium-teaser__details {
display: flex;
}
.ryd-premium-teaser__title {
margin: 0;
font-size: 16px;
font-weight: 600;
}
.ryd-premium-teaser__subtitle {
margin: 0;
font-size: 13px;
color: var(--ryd-teaser-subtitle);
line-height: 1.5;
}
.ryd-premium-teaser__highlights-title {
margin: 0 0 6px 0;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ryd-teaser-muted);
}
.ryd-premium-teaser__highlights-list {
margin: 0;
padding-left: 18px;
display: grid;
gap: 6px;
font-size: 13px;
color: var(--ryd-teaser-highlights);
}
.ryd-premium-teaser__links {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
}
.ryd-premium-teaser__cta {
border: none;
background: rgba(59, 130, 246, 0.95);
color: #ffffff;
text-decoration: none;
font-size: 13px;
font-weight: 600;
border-radius: 999px;
padding: 8px 18px;
cursor: pointer;
transition:
background 0.2s ease,
transform 0.2s ease,
box-shadow 0.2s ease;
}
.ryd-premium-teaser__cta:hover {
background: rgba(59, 130, 246, 1);
box-shadow: 0 8px 18px rgba(59, 130, 246, 0.25);
}
.ryd-premium-teaser__secondary {
color: var(--ryd-teaser-link);
font-size: 12px;
text-decoration: none;
}
.ryd-premium-teaser__secondary:hover {
text-decoration: underline;
}
.ryd-premium-teaser__status {
margin: 0;
font-size: 12px;
color: var(--ryd-teaser-muted);
}
html[dark] .ryd-premium-teaser__count {
background: rgba(148, 163, 184, 0.12);
}
html[dark] .ryd-premium-teaser__toggle:hover,
html[dark] .ryd-premium-teaser__toggle:focus-visible {
background: rgba(148, 163, 184, 0.22);
}
.ryd-analytics__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.ryd-analytics__title {
font-size: 16px;
font-weight: 600;
}
.ryd-analytics__controls {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
flex: 1 1 auto;
}
.ryd-analytics__ranges,
.ryd-analytics__modes,
.ryd-analytics__window-toggle {
display: inline-flex;
gap: 6px;
background: rgba(59, 130, 246, 0.12);
border: 1px solid rgba(59, 130, 246, 0.2);
border-radius: 999px;
padding: 2px;
}
.ryd-analytics__ranges button,
.ryd-analytics__modes button,
.ryd-analytics__window-toggle button {
border: none;
background: transparent;
color: #1f2937;
font-size: 12px;
padding: 6px 12px;
border-radius: 999px;
cursor: pointer;
transition:
background 0.2s ease,
color 0.2s ease,
box-shadow 0.2s ease;
}
.ryd-analytics__ranges button.is-active,
.ryd-analytics__modes button.is-active,
.ryd-analytics__window-toggle button.is-active {
background: rgba(59, 130, 246, 0.28);
color: #0f172a;
box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.35);
}
.ryd-analytics__ranges button:hover,
.ryd-analytics__modes button:hover,
.ryd-analytics__window-toggle button:hover {
background: rgba(59, 130, 246, 0.18);
color: #0f172a;
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__ranges,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__modes,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-toggle {
background: rgba(255, 255, 255, 0.05);
border: none;
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__ranges button,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__modes button,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-toggle button {
color: var(--yt-spec-text-secondary, #bbbbbb);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__ranges button.is-active,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__modes button.is-active,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-toggle button.is-active {
background: rgba(255, 255, 255, 0.15);
color: var(--yt-spec-text-primary, #ffffff);
box-shadow: none;
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__ranges button:hover,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__modes button:hover,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-toggle button:hover {
background: rgba(255, 255, 255, 0.1);
color: var(--yt-spec-text-primary, #ffffff);
}
.ryd-analytics__window {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.ryd-analytics__window-label {
font-size: 12px;
font-weight: 600;
color: #1f2937;
}
.ryd-analytics__window-hint {
font-size: 12px;
color: #4b5563;
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-label {
color: var(--yt-spec-text-primary, #ffffff);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__window-hint {
color: var(--yt-spec-text-secondary, #a3a3a3);
}
.ryd-analytics__body {
display: flex;
flex-direction: column;
gap: 16px;
}
.ryd-analytics__section {
background: var(--ryd-analytics-surface);
border-radius: 16px;
padding: 12px;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
transition:
box-shadow 0.2s ease,
transform 0.2s ease;
}
.ryd-analytics__section-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.ryd-analytics__section-title {
margin: 0;
font-size: 14px;
font-weight: 600;
}
.ryd-analytics__section-expand {
border: 1px solid rgba(59, 130, 246, 0.3);
background: rgba(59, 130, 246, 0.14);
color: #1f2937;
font-size: 12px;
font-weight: 600;
padding: 4px 12px;
border-radius: 999px;
cursor: pointer;
transition:
background 0.2s ease,
color 0.2s ease,
box-shadow 0.2s ease,
border-color 0.2s ease;
}
.ryd-analytics__section-expand.is-active,
.ryd-analytics__section-expand:hover {
background: rgba(59, 130, 246, 0.24);
color: #0f172a;
border-color: rgba(59, 130, 246, 0.45);
box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.4);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__section-expand {
border: none;
background: rgba(255, 255, 255, 0.08);
color: var(--yt-spec-text-secondary, #cbd5f5);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__section-expand.is-active,
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__section-expand:hover {
background: rgba(99, 102, 241, 0.25);
color: #f8fafc;
box-shadow: none;
border: none;
}
.ryd-analytics__section.is-expanded {
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
padding: 16px;
}
.ryd-analytics__section.is-expanded .ryd-analytics__chart,
.ryd-analytics__section.is-expanded .ryd-analytics__map {
height: min(75vh, 560px);
}
.ryd-analytics__chart-meta {
display: flex;
justify-content: flex-end;
margin: -4px 0 4px;
}
.ryd-analytics__bucket-label {
font-size: 12px;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__chart {
width: 100%;
height: 220px;
}
.ryd-analytics__map-block {
display: flex;
flex-direction: column;
gap: 8px;
}
.ryd-analytics__map-controls {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.ryd-analytics__map-label {
font-size: 12px;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__map-reset {
border: none;
background: rgba(59, 130, 246, 0.18);
color: #0f172a;
font-size: 12px;
padding: 6px 14px;
border-radius: 999px;
cursor: pointer;
transition:
background 0.2s ease,
color 0.2s ease,
box-shadow 0.2s ease;
}
.ryd-analytics__map-reset:hover {
background: rgba(59, 130, 246, 0.28);
color: #0b1120;
box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.35);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__map-reset {
background: rgba(255, 255, 255, 0.08);
color: var(--yt-spec-text-secondary, #bbbbbb);
}
html[dark]:not([dark="false"]):not([light]) .ryd-analytics__map-reset:hover {
background: rgba(255, 255, 255, 0.18);
color: var(--yt-spec-text-primary, #ffffff);
}
.ryd-analytics__map {
width: 100%;
height: 260px;
border-radius: 12px;
overflow: hidden;
}
.ryd-analytics__lists {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 12px;
}
.ryd-analytics__list h4 {
margin: 0 0 6px;
font-size: 13px;
font-weight: 600;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__list-items {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
}
.ryd-analytics__list-items li {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
color: var(--ryd-analytics-fg);
background: var(--ryd-analytics-row);
border-radius: 6px;
padding: 6px 8px;
}
.ryd-analytics__country {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 140px;
}
.ryd-analytics__value {
font-variant-numeric: tabular-nums;
font-weight: 600;
}
.ryd-analytics__placeholder {
color: var(--ryd-analytics-muted);
font-style: italic;
background: transparent !important;
justify-content: flex-start !important;
}
.ryd-analytics__footer {
font-size: 12px;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__totals {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 6px;
}
.ryd-analytics__totals-header {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 8px;
}
.ryd-analytics__totals-values {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.ryd-analytics__totals-label {
text-transform: uppercase;
letter-spacing: 0.08em;
font-weight: 600;
font-size: 10px;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__totals-value {
font-weight: 600;
font-variant-numeric: tabular-nums;
color: var(--ryd-analytics-fg);
}
.ryd-analytics__period-label {
font-size: 11px;
color: var(--ryd-analytics-muted);
}
.ryd-analytics__summary-meta {
color: var(--ryd-analytics-muted);
line-height: 1.4;
}