@font-face { font-family: 'CoFo Sans Mono'; src: url('/fonts/cofo-sans-mono.woff2?v=e0f6bdec0834a53c') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Avant Garde'; src: url('/fonts/avant-garde-gothic.woff2?v=e0f6bdec0834a53c') format('woff2'); font-weight: 700; font-display: swap; }
:root { color-scheme: light; font-family: 'CoFo Sans Mono', monospace; background: var(--paper); color: var(--ink); --paper: #faf9f9; --ink: #262626; --blue: #1739ff; --surface: #fff; --surface-soft: #eeeded; --shade: #d9d9d9; --line: #e9e8e8; --muted: #707070; --subtle: #888; --inactive: #2626261a; --inset: #454545; --overlay: #faf9f9eb; --rating-good: #e2ffc4; --header-height: 54px; --edge-gap: 10px; }
:root[data-appearance=dark] { color-scheme: dark; --paper: #191a1c; --ink: #f0efee; --blue: #8ba3ff; --surface: #252629; --surface-soft: #2e3034; --shade: #37393e; --line: #3c3e44; --muted: #b0b1b7; --subtle: #92949d; --inactive: #92949d; --inset: #050607; --overlay: #252629ed; --rating-good: #384e2f; }

* { box-sizing: border-box; }
html { scroll-padding-top: 78px; }
body { margin: 0; }
button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
.shell { width: 100%; margin: auto; padding: 0 var(--edge-gap) var(--edge-gap); }
.topbar { position: sticky; top: 0; z-index: 40; height: var(--header-height); display: flex; align-items: flex-start; gap: 0; background: var(--paper); }
.logo { flex: 0 0 65px; padding: 10px 0 0; font-family: 'Avant Garde', sans-serif; font-weight: 700; font-size: 20px; line-height: .9; letter-spacing: -.6px; text-decoration: none; white-space: nowrap; }
.logo span { display: block; }
.service-logo-mark { display:block; transform:scaleX(-1); }
:root[data-appearance=dark] .service-logo-mark { filter:invert(1); }
@media (max-width:759px) { .logo:has(.mobile-service-mark) > .service-logo-mark { display:none; } }
#navigation { flex: 1; min-width: 0; }
#navigation:empty { display: none; }
.nav-scroll { width: 100%; }
.calendar-nav { position: relative; display: flex; gap: 46px; align-items: flex-start; height: var(--header-height); width: 100%; }
.topics-nav { display: flex; align-items: flex-start; gap: 0; }
.theme-tabs, .week-tabs { display: flex; position: relative; width: max-content; align-items: flex-start; }
.theme-tabs { gap: 0; }
.theme-tabs button, .week-tabs button { position: relative; border: 0; border-radius: 0; background: transparent; color: var(--inactive); padding: 0; white-space: nowrap; font-family: 'Avant Garde', sans-serif; font-size: 20px; line-height: .9; letter-spacing: -.6px; font-weight: 700; }
.theme-tabs button, .settings-link { display: grid; place-items: center; width: 35px; height: 50px; padding: 0; isolation: isolate; }
.theme-tabs button[data-theme="games"] { width: 38px; padding-top: 0; }
.theme-tabs button.selected::before, .settings-link.selected::before { content: ''; position: absolute; z-index: -1; left: calc(50% - 19px); top: -14px; width: 38px; height: 64px; border-radius: 4px 4px 32px 32px; background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.nav-icon { display: block; position: relative; width: 24px; height: 24px; opacity: .3; }
.nav-icon img { position: absolute; }
.nav-icon-games img { left: 1.25px; top: 4.25px; }
.nav-icon-media img { left: 1.25px; top: 5.25px; }
.nav-icon-events img { left: 1.25px; top: 3.25px; }
.nav-icon-settings img { left: 1.77px; top: 1.25px; }
.theme-tabs button.selected .nav-icon, .theme-tabs button:hover:not(:disabled) .nav-icon, .settings-link.selected .nav-icon, .settings-link:hover .nav-icon { opacity: 1; }
.theme-tabs button:disabled .nav-icon { opacity: .15; }
.theme-tabs button.selected, .week-tabs button.selected { color: var(--ink); }
.theme-tabs button:hover:not(:disabled), .week-tabs button:hover:not(:disabled) { color: var(--ink); }
.theme-tabs button:disabled { color: #26262633; }
.date-nav { position: relative; flex-shrink: 0; }
.week-tabs { gap: 24px; height:50px; align-items:center; padding-top:0; }
.week-tabs button { isolation: isolate; }
.week-tabs button:nth-child(1) { width: 89px; }
.week-tabs button:nth-child(2) { width: 110px; }
.week-tabs button:nth-child(3) { width: 120px; }
.week-tabs button.selected::before { content: ''; position: absolute; z-index: -1; left: -13px; top: -30px; width: calc(100% + 29px); height: 64px; border-radius: 4px 4px 24px 24px; background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.icon-button { position: relative; margin: 0; background: none; border: 0; color: var(--subtle); }
#account { position: relative; z-index: 1; background: var(--paper); flex: 0 0 50px; margin-left: auto; padding-top: 10px; }
.profile-menu { position: relative; }
.profile-avatar { display: grid; place-items: center; width: 40px; height: 40px; margin-left: auto; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ink); font-size: 14px; list-style: none; cursor: pointer; }
.profile-avatar::-webkit-details-marker { display: none; }
.profile-avatar:hover, .profile-menu[open] .profile-avatar { border-color: var(--ink); }
.profile-dropdown { position: absolute; right: 10px; top: 52px; width: 280px; max-width: calc(100vw - 20px); padding: 8px; border: 1px solid var(--shade); border-radius: 12px; background: var(--paper); box-shadow: 0 12px 36px #26262614; }
.profile-info { display: grid; gap: 4px; padding: 12px; border-bottom: 1px solid var(--shade); overflow-wrap: anywhere; }
.profile-info strong { font-family: 'Avant Garde', sans-serif; font-size: 18px; }
.profile-info span { font-size: 12px; color: var(--muted); }
.profile-dropdown button { display: block; width: 100%; min-height: 44px; text-align: left; border: 0; background: none; padding: 10px 12px; color: var(--ink); font-size: 13px; }
.profile-dropdown button:hover { background: var(--surface-soft); border-radius: 6px; }
.profile-dropdown button:disabled { opacity: .4; }
.profile-alert-status { margin: 4px 12px 12px; font-size: 12px; line-height: 1.4; color: var(--muted); }
.quiet { border: 0; background: transparent; color: #1759a8; padding: 8px; }
.intro { max-width: 680px; margin: 72px auto 32px; text-align: center; }.intro h1 { font-size: clamp(34px, 6vw, 58px); line-height: 1.05; letter-spacing: -.055em; margin: 10px 0 18px; }.intro p:last-child { color: #5e6671; font-size: 18px; line-height: 1.5; }
.eyebrow { color: #5078bd; font-size: 12px; text-transform: uppercase; font-weight: 700; letter-spacing: .12em; }
.auth-card { width: min(420px, 100%); background: var(--surface); border: 1px solid #e2e5e9; border-radius: 14px; padding: 24px; margin: auto; box-shadow: 0 16px 50px #1a2b4310; }
.switch, .nav, .tabs { display: flex; gap: 6px; flex-wrap: wrap; }.switch { margin-bottom: 24px; }.switch button, .nav button, .tabs button { border: 0; background: transparent; color: #606a76; padding: 10px 14px; border-radius: 8px; }.switch .selected, .nav .selected, .tabs .selected { background: #e8f0fe; color: #1857aa; font-weight: 700; }
label { display: block; font-size: 14px; font-weight: 600; }input:not([type=checkbox]), select { display: block; width: 100%; margin-top: 8px; padding: 11px 12px; border: 1px solid #cbd2dc; border-radius: 8px; background: var(--surface); color: inherit; }input:focus, select:focus, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid #4278d4; outline-offset: 2px; }
#authForm { display: grid; gap: 16px; }.primary { border: 0; background: #2666bd; color: white; font-weight: 700; border-radius: 9px; padding: 13px 20px; }.primary:hover { background: #1854a4; }.secondary { border: 1px solid #cbd2dc; background: var(--surface); color: #2c4c73; border-radius: 8px; padding: 10px 14px; }.divider { text-align: center; color: #7b8490; margin: 20px 0; }.oauth { display: block; text-align: center; border: 1px solid #cbd2dc; border-radius: 8px; padding: 12px; margin-top: 10px; text-decoration: none; font-weight: 600; }.hint { color: #737b85; font-size: 12px; line-height: 1.5; font-weight: 400; }
.nav { margin: 20px 0 28px; }.heading { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 24px; }.heading h1 { margin: 5px 0 8px; font-size: clamp(28px, 4vw, 38px); letter-spacing: -.04em; }.heading p:last-child { margin: 0; color: #666f79; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.nav-current { color: #606a76; font-size: 14px; font-weight: 700; }
.toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.secondary:disabled { cursor: progress; opacity: .7; }
.refresh-progress { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #cbdbee; border-radius: 10px; background: #f0f6ff; }
.refresh-progress[hidden] { display: none; }
.refresh-progress-header { display: flex; justify-content: space-between; gap: 12px; color: #244b80; font-size: 13px; }
.refresh-progress-header span { font-variant-numeric: tabular-nums; }
.refresh-track { height: 5px; border-radius: 99px; background: #d8e6f7; margin-top: 11px; overflow: hidden; }
.refresh-track span { display: block; height: 100%; border-radius: inherit; background: #3978cc; transition: width .7s ease; }
.refresh-progress p { margin: 8px 0 0; color: #5c7390; font-size: 11px; }
.banner, .rating-note { background: #fff8e5; border: 1px solid #eedca8; border-radius: 9px; padding: 12px 16px; color: #675620; line-height: 1.45; font-size: 13px; }
.week { margin: 14px 0 38px; }
.category-tag.movies { background: #eee8fb; color: #66449b; }.category-tag.series { background: #e6f3ef; color: #267353; }.category-tag.games { background: #e6f0ff; color: #3169ad; }.category-tag.events { background: #fff0df; color: #a56015; }
.source-section { border-top: 1px solid #dfe3e8; padding-top: 14px; margin-bottom: 16px; }.source-section h3 { font-size: 16px; }.source-section p { color: #69727e; font-size: 13px; margin: 8px 0; }.source-section strong { color: #303a45; }
.setting-card { background: var(--surface); border: 1px solid #e0e4e9; border-radius: 12px; padding: 24px; margin: 16px 0; }.setting-card h2 { margin: 0 0 14px; font-size: 22px; }.setting-card h3 { font-size: 14px; margin: 22px 0 9px; }.enable { color: #225ba6; }.checks { display: flex; flex-wrap: wrap; gap: 8px; }.check { display: inline-flex; align-items: center; gap: 7px; background: #f6f7f9; border: 1px solid #ebedf1; border-radius: 7px; padding: 7px 10px; font-size: 13px; font-weight: 500; }.check input, .enable input { margin: 0; }.row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: end; gap: 16px; margin: 20px 0; }.field-label { font-size: 14px; font-weight: 600; margin-bottom: 8px; }.event-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-top: 18px; }.event-type { border: 1px solid #edf0f3; padding: 12px; border-radius: 8px; }.main-check { display: flex; font-weight: 700; background: transparent; border: 0; padding: 0 0 10px; }.event-type .checks { gap: 5px; }.event-type .checks .check { font-size: 11px; padding: 5px 7px; }.save { margin-top: 18px; }.loading, .error-panel { padding: 30px 0; color: #727c88; }.error-panel { color: #a63636; }.flash { position: fixed; bottom: 22px; right: 22px; background: #173c26; color: white; border-radius: 8px; padding: 12px 18px; box-shadow: 0 8px 25px #0002; }.flash.error { background: #a63535; }
@media (max-width: 650px) { .heading { flex-direction: column; }.intro { margin-top: 44px; } }
/* Category-by-category setup */
.settings-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; }
.topics { display: grid; gap: 8px; padding-top: 16px; }
.topics-label { margin: 0 0 8px; color: #727b86; font-size: 12px; letter-spacing: .07em; font-weight: 700; }
.topic { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 16px; border: 1px solid #e7e9ec; border-radius: 4px; background: #f1f3f5; color: #313841; text-align: left; }
.topic.active { background: #20232a; color: #fff; border-color: #20232a; }
.topic:hover:not(.active), .add-topic:hover { background: var(--surface-soft); }
.add-topic { margin-top: 8px; border: 1px dashed #aab6c5; border-radius: 4px; background: var(--surface); color: #315f9d; padding: 12px; text-align: left; }
.active-setting { margin: 0; min-height: 370px; border-radius: 4px; padding: 30px; }
.setting-title { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.setting-title span { color: #65717c; font-size: 13px; }
.subheading { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.subheading h3 { margin: 0; }
.subheading .secondary { font-size: 12px; padding: 7px 9px; }
.setting-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 28px; }
.media-specific { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-top: 1px solid #e8ebef; margin-top: 24px; padding-top: 4px; }
.media-specific h3 { font-size: 16px; }
.settings-layout + .rating-note { margin-top: 22px; }
.success-card { max-width: 600px; margin: 90px auto; text-align: center; background: var(--surface); border: 1px solid #dfe5ec; border-radius: 14px; padding: 46px 34px; box-shadow: 0 16px 50px #1a2b430d; }
.success-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #e6f4eb; color: #257348; font-size: 28px; font-weight: 800; margin-bottom: 12px; }
.success-card h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.14; letter-spacing: -.04em; margin: 10px 0; }
.success-card > p:not(.eyebrow) { color: #68737e; line-height: 1.5; margin-bottom: 24px; }

/* Shared release presentation and playback controls. */
#calendar-content { padding-top: 2px; }
.cover-wrap { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: var(--shade); opacity: .6; scroll-snap-align: start; transition: opacity .2s; }
.cover-wrap.selected, .cover-wrap:hover, .cover-wrap:focus-visible { opacity: 1; }
.item-cover, .cover-fallback { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.item-cover.cover-wide { object-fit: contain; background: var(--surface-soft); }
.game-release-dates { margin: 12px 0; font-size: 12px; line-height: 1.4; }
.game-release-dates p { margin: 8px 0; }
.game-release-dates small { display: block; color: var(--subtle); }
.cover-fallback { display: grid; place-items: center; padding: 10px; color: var(--muted); font-family: 'Avant Garde', sans-serif; font-size: 16px; line-height: 1.1; text-align: center; overflow-wrap: anywhere; background: var(--surface-soft); }
.cover-wrap .cover-fallback { font-size: clamp(10px,1.1vw,16px); }
.cover-artwork > .cover-fallback,.search-cover > .cover-fallback { position:absolute; inset:0; }
.poster-arrows button { position: relative; width: 24px; height: 24px; display: grid; place-items: center; border: 0; background: transparent; padding: 0; }
.poster-arrows button img { display: block; }
.poster-arrows button[data-step="1"] img { transform: scaleX(-1); }
.poster-arrows button:disabled { opacity: .3; }
.poster-arrows button::before { content: ''; position: absolute; inset: -5px 0; }
.trailer, .trailer-player { width: 100%; height: 100%; min-width: 0; }
.trailer-player { position: relative; overflow: hidden; border-radius: inherit; background: var(--shade); }
.trailer-stage { position: absolute; inset: 0; container-type: size; }
.trailer-preview { display: block; width: 100%; height: 100%; object-fit: cover; }
.trailer-stage video, .trailer-stage iframe { display: block; width: 100%; height: 100%; border: 0; background: #151717; object-fit: contain; }
.trailer-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.trailer-start { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 60px; height: 60px; padding: 0; border: 0; background: transparent; }
.trailer-start img { display: block; }
.trailer-switch { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; width: max-content; max-width: calc(100% - 56px); padding: 3px; border-radius: 24px; background: var(--overlay); flex-wrap: wrap; }
.trailer-switch button { border: 0; padding: 6px 10px; border-radius: 20px; background: none; color: var(--muted); font-size: 11px; line-height: 1.15; letter-spacing: -.4px; white-space: nowrap; }
.trailer-switch button.selected { background: var(--ink); color: var(--paper); }
.trailer-switch button:hover:not(.selected) { color: var(--ink); }
.trailer-switch button.unverified:not(.selected) { color: #999; }
.trailer-original { position: absolute; right: 12px; top: 12px; z-index: 2; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--overlay); color: var(--ink); font-size: 16px; text-decoration: none; }
.trailer-empty { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 65px 24px 40px; text-align: center; font-size: 14px; line-height: 1.35; color: var(--muted); }
.trailer-empty a { color: var(--ink); }
.event-poster { height: 100%; width: 100%; border-radius: inherit; }
.event-poster .item-cover { object-fit: contain; }
.event-poster .cover-fallback { font-size: 24px; }
.muted { color: var(--subtle); }
.focus-ratings { flex: 0 0 auto; min-width: 0; }
.rating-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; min-height: 26px; }
.rating-pair { display: inline-flex; align-items: center; gap: 0; text-decoration: none; }
.rating-source { display: grid; position: relative; place-items: center; width: 26px; height: 26px; }
.rating-source > img { display: block; }
.rating-logo-overlay { position: absolute; left: 3.25px; top: 4.875px; }
.rating-badge { display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; border-radius: 50%; background: var(--rating-good); font-size: 12px; line-height: 1; letter-spacing: 0; color: var(--ink); font-weight: 400; }
.rating-badge.missing { background: var(--shade); color: var(--muted); }
.rating-badge.mixed { background: #fff0b1; color: #4b3d05; }
.rating-badge.low { background: #ffcfc5; color: #702d20; }
.rating-wordmark { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: var(--paper); font-family: 'Avant Garde', sans-serif; font-size: 9px; letter-spacing: -.5px; }
.rating-wordmark.kinopoisk { font-size: 11px; }
.focus-footer { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: flex-end; min-width: 0; padding-top: 10px; }
.release-schedule { position: relative; z-index: 5; width: max-content; max-width: 100%; min-width: 0; }
.release-schedule > summary { color: var(--muted); font-size: 14px; line-height: 1.15; letter-spacing: -.56px; cursor: pointer; list-style: none; white-space: nowrap; }
.release-schedule > summary::-webkit-details-marker { display: none; }
.release-schedule > summary:hover, .release-schedule[open] > summary { color: var(--ink); }
.schedule-panel { position: absolute; bottom: calc(100% + 8px); right: 0; width: 242px; max-width: calc(100vw - 20px); padding: 14px; border-radius: 12px; background: var(--paper); box-shadow: 0 4px 18px #26262626; }
.schedule-panel .reminder-button { display: flex; align-items: center; gap: 8px; width: 100%; height: auto; min-height: 32px; margin-top: 14px; text-align: left; color: var(--ink); font-size: 12px; }
.schedule-panel .reminder-button img { position: static; flex: 0 0 auto; }
.release-timing { flex: 0 0 178px; min-width: 0; font-size: 12px; --release-day: 0; }
.release-timing[data-release-day="1"] { --release-day: 1; }
.release-timing[data-release-day="2"] { --release-day: 2; }
.release-timing[data-release-day="3"] { --release-day: 3; }
.release-timing[data-release-day="4"] { --release-day: 4; }
.release-timing[data-release-day="5"] { --release-day: 5; }
.release-timing[data-release-day="6"] { --release-day: 6; }
.release-date { display: flex; flex-direction: column; align-items: flex-start; margin-left: clamp(0px, calc(var(--release-day) * 26px - 2px), 90px); font-size: 14px; line-height: 1.15; letter-spacing: -.56px; white-space: nowrap; }
.release-date > span { font-size: 10px; line-height: 1.15; color: var(--subtle); letter-spacing: -.4px; }
.release-weekdays { display: flex; width: max-content; gap: 4px; margin: 6px 0 0 -2px; padding: 0; list-style: none; }
.release-weekdays li { display: grid; place-items: center; width: 22px; height: 22px; flex-shrink: 0; border-radius: 4px; background: var(--surface-soft); font-size: 14px; line-height: 1.15; letter-spacing: -.56px; }
.release-weekdays li.selected { background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.item-actions { display: flex; min-width: 0; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; overflow-wrap: anywhere; }
.item-link { color: var(--ink); text-decoration: none; font-size: 14px; line-height: 1.15; letter-spacing: -.56px; }
.item-link:hover { text-decoration: underline; }
.translation-note { display: block; margin-top: 3px; font-size: 10px; color: var(--subtle); }
.focus-venue { font-size: 12px; line-height: 1.3; color: var(--muted); }
.occurrence-list { margin-top: 8px; font-size: 12px; }
.occurrence-list summary { cursor: pointer; color: var(--muted); }
.occurrence-list ul { position: relative; z-index: 3; margin: 10px 0; padding: 10px; border-radius: 12px; background: var(--paper); box-shadow: 0 4px 18px #26262614; list-style: none; }
.occurrence-list li { display: flex; flex-direction: column; gap: 5px; margin: 10px 0; }
.feed-empty { padding: 60px 0; text-align: center; font-size: 14px; color: var(--subtle); }
.feed-empty h1 { margin: 0 0 10px; color: var(--ink); font-family: 'Avant Garde', sans-serif; font-size: clamp(24px, 3vw, 36px); line-height: 1.1; letter-spacing: -.04em; }
.feed-empty > p { margin: 0 0 24px; line-height: 1.6; }
.feed-filtered { width: min(100%, 680px); margin: auto; padding: clamp(36px, 8vh, 80px) 10px; }
.filter-suggestions { display: grid; gap: 24px; margin: 32px 0 24px; }
.filter-suggestion p { max-width: 540px; margin: 0 auto 12px; color: var(--ink); line-height: 1.6; }
.feed-empty .secondary { max-width: 100%; min-height: 44px; border: 0; border-radius: 30px; color: var(--ink); background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); font-size: 13px; line-height: 1.5; }
.feed-empty .secondary:hover:not(:disabled) { color: var(--blue); box-shadow: inset 0 0 23.5px -9px #1739ff; }
.feed-empty .secondary:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.filter-suggestion button span { color: var(--blue); white-space: nowrap; }
.refresh-progress { margin: 24px 0 0; }
.intro h1, .heading h1, .success-card h1, .setting-card h2 { font-family: 'Avant Garde', sans-serif; }
.settings-layout { margin-top: 32px; }
.profile-outline { position: relative; display: block; width: 40px; height: 40px; }
.profile-ring { position: absolute; left: -.5px; top: -.5px; }
.profile-icon { position: absolute; left: 8px; top: 8px; width: 24px; height: 25px; opacity: .3; }
.profile-head { position: absolute; left: 7.5px; top: 2.5px; }
.profile-body { position: absolute; left: 4.5px; top: 13px; }
.profile-avatar:hover .profile-icon { opacity: .65; }
.save-release, .reminder-button { position: relative; display: block; width: 24px; height: 24px; padding: 0; border: 0; background: none; }
.save-release img { display: block; margin: 1px; opacity: .3; }
.reminder-button img { position: absolute; left: 3.25px; top: 1.25px; opacity: .3; }
.save-release:hover img, .save-release.saved img, .reminder-button:hover img, .reminder-button.saved img { opacity: 1; }
.save-release::before, .reminder-button::before { content: ''; position: absolute; inset: -3px; }
@media (hover: hover) and (pointer: fine) {
  .trailer-switch, .trailer-original { opacity: 0; transition: opacity .15s; }
  .trailer-player:hover .trailer-switch, .trailer-player:hover .trailer-original, .trailer-player:focus-within .trailer-switch, .trailer-player:focus-within .trailer-original { opacity: 1; }
  .trailer-player:has(.trailer-empty) .trailer-switch, .trailer-player:has(.trailer-empty) .trailer-original { opacity: 1; }
}
@media (max-width: 1199px) {
  .focus-footer { gap: 10px; }
}
@media (max-width: 759px) {
  :root { --header-height: 96px; }
  .calendar-nav { gap: 0; }
  .date-nav { position: absolute; left: 0; top: 46px; }
  .week-tabs { gap: 16px; height:46px; padding-top:0; }
  .week-tabs button { font-size: 16px; letter-spacing: -.48px; }
  .week-tabs button:nth-child(n) { width: auto; }
  .week-tabs button.selected::before { top: -16px; height: 46px; left: -12px; width: calc(100% + 24px); }
  .profile-dropdown { right: 0; }
  .poster-arrows button { width: 30px; height: 32px; }
  .cover-wrap { border-radius: 12px; }
  .focus-footer { padding: 22px 0 0; }
  .trailer-switch { top: 8px; left: 8px; }
  .trailer-switch button { padding: 6px 8px; font-size: 10px; }
  .trailer-original { top: 8px; right: 8px; }
  .trailer-empty { font-size: 12px; padding: 50px 18px 20px; gap: 8px; }
  .settings-layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .topics-label { grid-column: 1 / -1; }
  .active-setting { padding: 20px; }
  .media-specific { grid-template-columns: minmax(0,1fr); }
}
@media (max-height: 700px) and (min-width: 760px) {
}
@media (max-height: 500px) and (min-width: 760px) {
}
@media (max-height: 450px) and (min-width: 760px) {
}
@media (prefers-reduced-motion: reduce) {
  .cover-wrap, .refresh-track span, .trailer-switch, .trailer-original { transition: none; }
}

/* Free-start and sign-in screens share the product typography and recessed controls. */
.intro h1 { font-family: 'Avant Garde', sans-serif; font-weight: 700; font-size: clamp(36px, 5vw, 48px); line-height: .95; letter-spacing: -.03em; }
.intro .eyebrow { color: var(--muted); letter-spacing: -.03em; text-transform: none; font-weight: 400; }
.intro p:last-child { max-width: 520px; margin-inline: auto; font-size: 14px; line-height: 1.5; color: var(--muted); letter-spacing: -.04em; }
.auth-card { background: var(--paper); border-color: var(--line); border-radius: 26px; padding: 28px; box-shadow: 0 20px 60px -35px #26262640; }
.auth-card .switch { gap: 8px; margin-bottom: 26px; }
.auth-card .switch button { color: var(--muted); font-size: 12px; padding: 12px 17px; border-radius: 28px; font-weight: 400; }
.auth-card .switch .selected { background: var(--surface); color: var(--ink); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.auth-card label { font-size: 12px; font-weight: 400; }
.auth-card input { border-color: var(--shade); border-radius: 12px; min-height: 46px; }
.auth-card .primary, .auth-card .oauth { border: 0; border-radius: 30px; font-size: 12px; font-weight: 400; min-height: 48px; background: var(--surface); color: var(--ink); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.auth-card .primary:hover, .auth-card .oauth:hover { color: var(--blue); box-shadow: inset 0 0 23.5px -9px #1739ff; }
.auth-card .hint { font-size: 10px; color: var(--muted); margin-top: 20px; margin-bottom: 0; }
.auth-card .hint a { color: var(--blue); text-underline-offset: 3px; }

/* Interest controls use the same paper, type and recessed pills as the feed. */
.settings-page { width: min(1240px, 100%); margin: 48px auto 30px; }
.settings-heading { margin: 0 0 40px; }
.settings-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; margin: 0 0 18px; letter-spacing: -.03em; }
.settings-eyebrow span, .button-dot { display: inline-block; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.settings-heading h1 { font-family: 'Avant Garde', sans-serif; font-size: clamp(36px, 4vw, 48px); line-height: 1; letter-spacing: -.03em; margin: 0 0 18px; }
.settings-heading > p:last-child { max-width: 680px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; letter-spacing: -.04em; }
.settings-page .settings-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 30px; }
.settings-page .topics { position: sticky; top: calc(var(--header-height) + 24px); gap: 10px; padding-top: 12px; }
.settings-page .topics-label { margin: 0 0 8px; color: var(--muted); font-size: 11px; font-weight: 400; text-transform: none; letter-spacing: -.03em; }
.settings-page .topic { position: relative; display: flex; align-items: center; gap: 12px; min-height: 80px; padding: 16px 14px; border: 0; border-radius: 24px; background: transparent; color: var(--ink); text-align: left; }
.settings-page .topic.active { background: var(--surface); color: var(--ink); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.settings-page .topic:hover:not(.active) { background: var(--surface-soft); }
.settings-page .topic .nav-icon { flex: 0 0 24px; opacity: .45; }
.settings-page .topic.active .nav-icon { opacity: 1; }
.topic-copy { flex: 1; min-width: 0; display: grid; gap: 5px; }
.topic-copy strong { font-family: 'Avant Garde', sans-serif; font-size: 16px; letter-spacing: -.025em; line-height: 1.2; }
.topic-copy small { color: var(--muted); font-size: 10px; line-height: 1.5; font-weight: 400; letter-spacing: -.04em; }
.topic-status { flex: 0 0 20px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #999; font-size: 13px; }
.topic-status.enabled { color: var(--blue); }
.topics-hint { margin: 12px 14px 0; color: var(--muted); font-size: 11px; line-height: 1.6; letter-spacing: -.04em; }
.settings-page .setting-card { min-width: 0; min-height: 370px; margin: 0; padding: 30px 32px 0; background: var(--surface); border: 1px solid var(--line); border-radius: 26px; }
.settings-page .setting-title { align-items: center; margin-bottom: 26px; gap: 16px; }
.settings-page .setting-title h2 { margin: 0; font-family: 'Avant Garde', sans-serif; font-size: 28px; line-height: 1.1; letter-spacing: -.03em; }
.settings-page .theme-enable { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; position: relative; cursor: pointer; font-weight: 400; }
.theme-enable input { position: absolute; width: 36px; height: 22px; inset: 0 auto auto 0; margin: 0; opacity: 0; }
.settings-page .theme-enable > span { position: relative; display: block; width: 36px; height: 22px; border-radius: 20px; background: var(--shade); transition: background .15s; pointer-events: none; }
.theme-enable > span::after { content: ''; position: absolute; top: 4px; left: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); transition: transform .15s; }
.theme-enable input:checked + span { background: var(--blue); }
.theme-enable input:checked + span::after { transform: translateX(14px); }
.theme-enable input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 3px; }
.theme-enable small { min-width: 64px; font-size: 11px; color: var(--muted); }
.settings-page .filter-group { display: block; min-width: 0; padding: 24px 0; margin: 0; border: 0; border-top: 1px solid var(--line); }
.settings-page .filter-group > legend, .settings-page .filter-group-heading legend { float: left; width: 100%; padding: 0; margin: 0 0 14px; font-family: 'Avant Garde', sans-serif; font-size: 18px; line-height: 1.2; letter-spacing: -.03em; }
.settings-page .filter-group > legend + * { clear: both; }
.filter-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.settings-page .filter-group-heading legend { float: none; width: auto; margin: 0; }
.filter-clear { padding: 4px 0; border: 0; background: none; color: var(--muted); font-size: 11px; text-underline-offset: 3px; white-space: nowrap; }
.filter-clear:hover { color: var(--blue); text-decoration: underline; }
.settings-page .hint { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.6; letter-spacing: -.04em; }
.settings-page .checks { gap: 8px; }
.settings-page .check { position: relative; min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid transparent; border-radius: 24px; background: var(--surface-soft); color: var(--ink); font-size: 12px; font-weight: 400; line-height: 1.3; letter-spacing: -.035em; cursor: pointer; }
.settings-page .check:has(input:checked) { background: var(--surface); border-color: var(--shade); box-shadow: inset 0 0 14px -9px #454545; }
.settings-page .check:hover { border-color: #b5b5b5; }
.settings-page .check input { appearance: none; flex: 0 0 10px; display: block; width: 10px; height: 10px; margin: 0; padding: 0; border: 1px solid #b5b5b5; border-radius: 50%; background: transparent; }
.settings-page .check input:checked { border-color: var(--blue); background: var(--blue); }
.settings-page .check:has(input:focus-visible) { outline: 2px solid var(--blue); outline-offset: 3px; }
.settings-page .check input:focus-visible { outline: 0; }
.settings-page .row { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; margin: 0 0 18px; }
.settings-page .row:last-child { margin-bottom: 0; }
.settings-page label:not(.check):not(.theme-enable) { font-size: 11px; font-weight: 400; color: var(--muted); letter-spacing: -.035em; }
.settings-page input:not([type=checkbox]), .settings-page select { min-width: 0; min-height: 44px; border: 1px solid var(--shade); border-radius: 12px; padding: 11px 12px; margin-top: 8px; background: var(--paper); color: var(--ink); font-size: 12px; font-weight: 400; letter-spacing: -.04em; }
.settings-page input::placeholder { color: #a2a2a2; }
.settings-page .media-specific { margin-top: 0; padding-top: 0; border: 0; gap: 24px; }
.settings-page .media-specific .hint { margin: 12px 0 0; }
.settings-page .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 0; }
.settings-page .event-type { padding: 16px; border: 1px solid var(--line); border-radius: 18px; }
.settings-page .event-type .main-check { display: inline-flex; padding: 0; min-height: 30px; margin: 0 0 8px; border: 0; background: none; box-shadow: none; font-family: 'Avant Garde', sans-serif; font-size: 16px; letter-spacing: -.025em; }
.settings-page .event-type .checks { gap: 6px; }
.settings-page .event-type .checks .check { min-height: 36px; padding: 8px 10px; font-size: 11px; }
.settings-page .setting-actions { position: sticky; bottom: var(--edge-gap); z-index: 5; justify-content: space-between; gap: 14px; margin: 0 -32px; padding: 20px 32px; border-top: 1px solid var(--line); border-radius: 0 0 26px 26px; background: var(--surface); }
.settings-save-note { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.settings-page .primary, .settings-page .secondary { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 48px; padding: 13px 20px; border: 0; border-radius: 30px; color: var(--ink); background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: -.04em; }
.settings-page .primary:hover:not(:disabled), .settings-page .secondary:hover { color: var(--blue); box-shadow: inset 0 0 23.5px -9px #1739ff; }
.settings-page .primary:disabled { cursor: progress; opacity: .5; }
.theme-empty { display: grid; justify-items: start; gap: 16px; min-height: 280px; align-content: center; padding: 24px 0 40px; }
.theme-empty .nav-icon { opacity: .4; }
.theme-empty h3 { margin: 0; font-family: 'Avant Garde', sans-serif; font-size: 24px; line-height: 1.2; letter-spacing: -.03em; }
.theme-empty p { max-width: 480px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.settings-footnote { margin: 20px 0 0 270px; max-width: 740px; color: var(--muted); font-size: 10px; line-height: 1.6; letter-spacing: -.04em; }
@media (max-width: 900px) {
  .settings-page { margin-top: 30px; }
  .settings-page .settings-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
  .settings-page .setting-card { padding: 24px 24px 0; }
  .settings-page .setting-actions { margin-inline: -24px; padding-inline: 24px; }
  .settings-save-note { display: none; }
  .settings-page .setting-actions .primary { margin-left: auto; }
  .settings-page .setting-title { flex-wrap: wrap; }
  .settings-footnote { margin-left: 220px; }
  .settings-page .event-grid, .settings-page .media-specific { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
  .settings-page { margin: 24px auto; }
  .settings-heading { margin-bottom: 24px; }
  .settings-eyebrow { margin-bottom: 14px; font-size: 10px; }
  .settings-heading > p:last-child { font-size: 12px; }
  .settings-page .settings-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .settings-page .topics { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0; }
  .settings-page .topics-label { grid-column: 1 / -1; margin-bottom: 4px; }
  .settings-page .topic { flex-direction: column; align-items: flex-start; min-height: 96px; padding: 12px; gap: 10px; border-radius: 18px; }
  .settings-page .topic-copy { flex: 0 0 auto; }
  .settings-page .topic-copy strong { font-size: 14px; }
  .settings-page .topic-copy small, .settings-page .topics-hint { display: none; }
  .settings-page .topic-status { position: absolute; top: 12px; right: 10px; }
  .settings-page .setting-card { padding: 20px 18px 0; }
  .settings-page .setting-title { margin-bottom: 22px; }
  .settings-page .setting-title h2 { font-size: 26px; }
  .settings-page .filter-group { padding-block: 20px; }
  .settings-page .row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .settings-page .check { min-height: 44px; }
  .settings-page .setting-actions { margin-inline: -18px; padding: 16px 18px; }
  .settings-page .setting-actions .primary { width: 100%; margin: 0; }
  .settings-page .event-type .checks .check { min-height: 40px; }
  .settings-footnote { margin-left: 0; }
  .theme-empty h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .settings-page .theme-enable > span, .settings-page .theme-enable > span::after { transition: none; }
}

/* Discovery controls use the same blue marker and quiet mono captions as the feed. */
.feed-search-button { display: grid; place-items: center; width: 35px; height: 50px; padding-top: 12px; }
.feed-search-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.feed-search-button:hover { color: var(--ink); }
.release-search { width: min(640px,calc(100vw - 20px)); max-height: min(780px,calc(100dvh - 40px)); margin: auto; padding: 24px; border: 0; border-radius: 24px; background: var(--paper); color: var(--ink); box-shadow: 0 24px 90px #26262630; overflow: auto; }
.release-search::backdrop { background: #26262655; backdrop-filter: blur(4px); }
.search-heading { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
.search-heading h2 { margin: 0 0 20px; font: 36px/.95 'Avant Garde',sans-serif; letter-spacing: -1px; }
.search-heading button { width: 32px; height: 32px; padding: 0; background: none; border: 0; font-size: 26px; color: var(--muted); }
.search-field { font-size: 12px; line-height: 1.4; font-weight: 400; }
.search-field input { background: var(--surface); border-radius: 14px; border: 1px solid var(--shade); padding: 14px; font-size: 16px; }
.search-caption,.search-status,.search-footer { font-size: 11px; line-height: 1.45; color: var(--muted); }
.search-caption { margin: 10px 0 18px; }
.search-results { display: grid; gap: 6px; }
.search-result { display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: 12px; width: 100%; border: 0; border-radius: 14px; background: none; text-align: left; padding: 8px; color: var(--ink); }
.search-result:hover { background: var(--surface); }
.search-cover { position:relative; display: block; height: 60px; border-radius: 8px; overflow: hidden; }
.search-cover .cover-fallback { font-size: 10px; padding: 4px; }
.search-result strong { display: block; font: 20px/1.1 'Avant Garde',sans-serif; overflow-wrap: anywhere; }
.search-result small { display: block; margin-top: 6px; font-size: 10px; color: var(--muted); overflow-wrap: anywhere; }
.search-result > span:last-child { color: var(--blue); }
.search-status { margin-top: 12px; }
.search-footer { border-top: 1px solid #dedddd; margin-top: 18px; padding-top: 14px; }
.search-footer span { display: block; margin-top: 6px; }
.feed-search-button:focus-visible,.search-result:focus-visible,.search-heading button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media(max-width:759px) {
  .release-search { padding: 18px; border-radius: 20px; }
}
@media(min-width:760px) and (max-height:740px) {
}
.rail-more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 8px; background: var(--surface); color: var(--blue); font-size: 12px; opacity: 1; }
.rail-more span:last-child { font-size: 26px; }
.feed-search-button { position: absolute; top: 0; right: 0; }
@media(min-width:760px) and (max-height:740px) {
}

/* A soft rail edge lets the next poster enter without a hard cut. */
.focus-footer > .release-schedule { justify-self: center; text-align: center; width: auto; }
.release-episode { display: block; font-size: 11px; margin-top: 4px; white-space: normal; }
.release-schedule .schedule-panel { text-align: left; }
@media (max-width: 759px) {
  .focus-footer { grid-template-columns: auto minmax(0,1fr); row-gap: 10px; }
  .focus-footer > .release-schedule { justify-self: end; }
  .item-actions { grid-column: 1 / -1; align-items: flex-end; }
}
.cover-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(12px) brightness(.65); transform: scale(1.15); }
.cover-wrap:has(.cover-wide) .item-cover { position: absolute; top: 20%; left: 0; height: 55%; background: none; object-fit: contain; }
.wide-cover-title { display: none; }
.cover-wrap:has(.cover-wide) .wide-cover-title { display: block; position: absolute; inset: auto 7px 10px; color: white; font-family: 'Avant Garde', sans-serif; font-size: clamp(10px, 1vw, 17px); line-height: 1.05; text-align: left; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.event-poster { position: relative; overflow: hidden; }
.event-poster .item-cover { position: relative; z-index: 1; background: transparent; }
.watch-note { display: block; max-width: 160px; color: var(--subtle); font-size: 10px; line-height: 1.25; }
.focus-footer > .release-schedule > summary { white-space: normal; }
@media (max-width: 759px) {
  .date-nav { left: -65px; width: calc(100% + 115px); }
  .week-tabs { width: 100%; justify-content: center; }
}
.event-poster .item-cover { position: absolute; inset: 0; margin: auto; max-width: var(--image-native-width, 100%); max-height: var(--image-native-height, 100%); }
.search-cover { position: relative; }
.cover-backdrop { pointer-events: none; }

.nav-icon-music img{width:24px;height:24px;left:50%;top:50%;transform:translate(-50%,-50%)}
.music-source-note{display:block;margin-top:10px;color:var(--muted,#999);font-size:11px;line-height:1.4}

.trailer-empty{position:absolute;inset:0;z-index:1}
.trailer-stage:has(.trailer-empty) .trailer-preview{opacity:.25}

.release-mode { display: block; font-size: 10px; line-height: 1.3; margin-top: 4px; }
.music-listening-switch { position: absolute; top: 12px; left: 12px; z-index: 4; display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 22px; background: var(--overlay); max-width: calc(100% - 24px); }
.music-listening-switch button { border: 0; padding: 7px 12px; border-radius: 18px; background: transparent; color: var(--ink); font: inherit; font-size: 13px; cursor: pointer; }
.music-listening-switch button.selected { background: var(--ink); color: white; }
.trailer-player:has(.music-listening-switch) .trailer-switch { top: 60px; }
.music-listening-stage { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 72px 24px 24px; background: var(--surface-soft); overflow: auto; }
.music-listening-stage iframe { position: static; flex: 0 0 auto; width: min(100%,640px); border: 0; border-radius: 12px; }
.music-listening-stage p { max-width: 640px; margin: 0; font-size: 12px; color: var(--muted); text-align: center; }
@media (max-width: 600px) {
  .music-listening-stage { padding: 76px 12px 12px; justify-content: flex-start; }
  .music-listening-switch button { font-size: 12px; padding: 7px 9px; }
  .trailer:has(.music-listening-stage) { min-height: 500px; }
}

/* Figma 677:2401: media on the left, six posters on the right, copy below. */
.video-feed { container-type: inline-size; display: grid; grid-template-columns: minmax(0, 856fr) minmax(0, 394fr); gap: 10px; align-items: stretch; }
#focused-content { min-width: 0; }
.focused-release { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.focus-media { width: 100%; min-width: 0; aspect-ratio: 16 / 9; height: auto; max-height: none; border-radius: 26px; overflow: hidden; background: var(--shade); }
/* Metadata follows the updated Figma: facts, title/copy, then actions. */
.focus-info { --focus-title-size: 32px; --rating-size: calc(var(--focus-title-size) * 1.08); min-width: 0; position: relative; display: grid; grid-template-columns: minmax(0, 229fr) minmax(0, 433fr) minmax(0, 154fr); grid-template-rows: minmax(132px, auto) auto; gap: 20px; container-type: normal; }
.focus-meta { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: start; gap: 22px; min-width: 0; }
.focus-meta .release-schedule { width: auto; margin: 0; text-align: left; }
.focus-meta .release-schedule > summary { white-space: normal; }
.focus-summary { display: flex; flex-direction: column; position: relative; grid-column: 2; grid-row: 1 / 3; gap: 14px; align-items: start; align-self: start; min-width: 0; overflow: visible; }
.focus-info h1 { margin: 0; max-width: 100%; font-family: 'Avant Garde', sans-serif; font-size: 32px; line-height: 1.08; letter-spacing: -.03em; color: var(--ink); overflow-wrap: anywhere; display: block; overflow: visible; }
.focus-copy { min-width: 0; max-width: none; width: 100%; margin: 0; }
.item-description { margin: 0; font-size: 16px; line-height: 1.15; letter-spacing: -.04em; display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.focus-heading { grid-column: 1; grid-row: 2; display: flex; align-items: end; align-self: end; padding: 0; min-width: 0; }
.item-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0; min-width: 0; margin: 0; font-size: 14px; line-height: 1.15; letter-spacing: -.04em; color: var(--ink); }
.item-tags > span { display: inline-block; max-width: 100%; overflow-wrap: anywhere; padding: 6px 10px; border-radius: 30px; background: var(--shade); }
.focus-actions { grid-column: 3; grid-row: 1; position: static; display: flex; align-self: start; padding: 0; }
.focus-footer { grid-column: 3; grid-row: 2; display: flex; align-self: end; justify-content: flex-start; padding: 0; min-width: 0; }
.focus-footer > .item-actions { min-width: 0; align-items: flex-start; text-align: left; }
.release-schedule > summary, .item-link { font-size: 14px; }
.feed-sidebar { display: flex; flex-direction: column; min-width: 0; gap: 26px; }
.poster-navigation { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 14px; height: auto; }
.poster-navigation::after { content: none; }
.poster-strip { --poster-grid-gap: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); align-content: start; gap: var(--poster-grid-gap); height: calc(100cqw - var(--poster-grid-gap)); overflow: visible; padding: 0; }
.poster-strip .cover-wrap { width: 100%; height: 100%; min-width: 0; min-height: 0; aspect-ratio: 2 / 3; border-radius: 16px; scroll-snap-align: none; }
.poster-controls { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: start; gap: 8px; min-height: 54px; padding: 0; }
.feed-position { color: var(--subtle); text-align: center; font-size: 14px; line-height: 1.15; }
.poster-arrows { display: flex; flex-direction: row; gap: 0; }
.poster-arrows button { width: 24px; height: 24px; }
.focus-placeholder { height: 188px; min-height: 188px; margin: auto 0 0; border-radius: 16px; background: var(--shade); }
.sidebar-ad { width:100%; height:100%; min-width:0; }
.appearance-settings { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; margin: 0 0 40px; padding: 22px 26px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); }
.appearance-settings h2 { margin: 0 0 8px; font-family: 'Avant Garde', sans-serif; font-size: 24px; letter-spacing: -.03em; }
.appearance-settings p { margin: 0; max-width: 560px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.appearance-choices { display: flex; gap: 6px; padding: 5px; border-radius: 30px; background: var(--surface-soft); }
.appearance-choices button { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 10px 16px; border: 0; border-radius: 24px; background: none; color: var(--muted); font-size: 12px; }
.appearance-choices button[aria-pressed=true] { color: var(--ink); background: var(--surface); box-shadow: inset 0 0 23.5px -9px var(--inset); }
.appearance-choices button > span { font-size: 18px; line-height: 1; }
:root[data-appearance=dark] .nav-icon img,
:root[data-appearance=dark] .profile-outline img,
:root[data-appearance=dark] .poster-arrows img,
:root[data-appearance=dark] .save-release img,
:root[data-appearance=dark] .reminder-button img { filter: invert(1); }
:root[data-appearance=dark] .rating-source > img { filter: invert(1); }
.music-listening-switch button.selected { color: var(--paper); }
@media (min-width: 760px) and (max-width: 1100px) {
  .focus-info { column-gap: 16px; grid-template-rows: minmax(116px, auto) auto; }
  .focus-summary { gap: 12px; }
  .focus-info { --focus-title-size: 28px; }
  .focus-info h1 { font-size: 28px; }
  .item-description { font-size: 14px; -webkit-line-clamp: 7; }
  .focus-footer { flex-wrap: wrap; gap: 10px; }
  .poster-strip { --poster-grid-gap: 8px; }
  .poster-strip .cover-wrap { border-radius: 12px; }
}
@media (min-width: 760px) {
  .video-feed { height: calc(100dvh - var(--header-height) - 2px - var(--edge-gap)); min-height: 0; --feed-info-height: clamp(230px, 27dvh, 360px); --feed-stage-height: min(calc((100cqw - 10px) * 856 / 1250 * 9 / 16), calc(100dvh - var(--header-height) - var(--edge-gap) - 12px - var(--feed-info-height))); }
  #focused-content { display: grid; min-height: 0; }
  .focused-release { grid-template-rows: var(--feed-stage-height) minmax(0, 1fr); min-height: 0; }
  .focus-media { height: 100%; aspect-ratio: auto; }
  .focus-info { grid-template-rows: minmax(0, 1fr) auto; min-height: 0; }
  .focus-summary { align-self: stretch; min-height: 0; }
  .focus-summary h1 { flex-shrink: 0; }
  .focus-copy { flex: 1; min-height: 0; overflow: hidden; }
  .focus-heading, .focus-footer { align-self: end; }
  .feed-sidebar { gap: 0; }
  .poster-navigation { flex: 0 0 var(--feed-stage-height); height: var(--feed-stage-height); align-content: start; }
  .poster-strip { height: calc((100cqw - 10px) * 394 / 1250 - var(--poster-grid-gap)); max-height: calc(var(--feed-stage-height) - 68px); }
  .focus-placeholder { flex: 1; height: auto; min-height: 0; margin: 0; }
}
@media (min-width: 760px) and (max-width: 900px) {
  .focus-info { --focus-title-size: 24px; grid-template-columns: minmax(100px, 1fr) minmax(0, 3fr); column-gap: 12px; }
  .focus-summary { grid-column: 2; grid-row: 1; gap: 10px; }
  .focus-summary h1 { font-size: 24px; padding-right: 30px; }
  .focus-actions { position: absolute; top: 0; right: 0; }
  .focus-footer { grid-column: 2; }
}
@media (max-width: 759px) {
  .video-feed { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #focused-content { display: block; }
  .focused-release { display: grid; gap: 16px; }
  .focus-media { grid-row: auto; aspect-ratio: 16 / 9; border-radius: 20px; }
  .focus-info { grid-row: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto auto; gap: 18px 12px; }
  .focus-summary { grid-column: 1 / -1; grid-row: 1; gap: 14px; }
  .focus-meta { grid-column: 1; grid-row: 2; gap: 12px; }
  .focus-actions { grid-column: 2; grid-row: 2; }
  .focus-info { --focus-title-size: 40px; }
  .focus-info h1 { font-size: 40px; line-height: 1.08; max-width: 100%; }
  .focus-copy { max-width: none; margin: 0; }
  .item-description { font-size: 16px; line-height: 1.3; -webkit-line-clamp: 6; }
  .focus-heading { grid-column: 1; grid-row: 3; align-items: end; }
  .focus-footer { grid-column: 2; grid-row: 3; display: flex; padding: 0; max-width: 155px; }
  .focus-footer > .item-actions { align-items: flex-end; text-align: right; }
  .focus-footer > .release-schedule { margin-left: 0; }
  .feed-sidebar { gap: 20px; }
  .poster-navigation { grid-row: auto; gap: 12px; }
  .poster-controls { min-height: 58px; height: auto; }
  .focus-placeholder { height: 140px; min-height: 140px; margin: 0; }
  .appearance-settings { padding: 20px; gap: 16px; margin-bottom: 28px; }
}

@media (max-width: 600px) {
  .focus-media:has(.music-listening-stage) { aspect-ratio: auto; min-height: 500px; }
}

/* Keep the original text in the catalog; clamp only the visible description. */
.focus-copy { display: flex; flex-direction: column; gap: 8px; }
.focus-copy > * { flex-shrink: 0; }
.focus-summary > .occurrence-list { flex-shrink: 0; margin: 0; }
.focus-summary > .occurrence-list[open] ul { position: absolute; left: 0; right: 0; bottom: 28px; max-height: min(50dvh, 320px); overflow: auto; }
.item-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: var(--description-lines, 6); line-height: 1.35; text-align: left; }
.release-mode, .release-episode { font-size: inherit; line-height: inherit; letter-spacing: inherit; }
.rating-value { display: block; width: max-content; letter-spacing: 1.2px; margin-right: -1.2px; font-variant-numeric: tabular-nums; line-height: 1; }
.rating-source, .rating-wordmark, .rating-badge { width: var(--rating-size); height: var(--rating-size); flex-shrink: 0; }
.rating-badge { font-size: calc(var(--rating-size) * .36); }
.rating-source > img:not(.rating-logo-overlay) { width: 100%; height: 100%; }
.rating-wordmark { font-size: calc(var(--rating-size) * .35); }
.rating-wordmark.kinopoisk { font-size: calc(var(--rating-size) * .4); }
.rating-wordmark.imdb { font-size: calc(var(--rating-size) * .3); }
.rating-logo-overlay { left: 12.5%; top: 18.75%; width: 75%; height: 62.5%; }
.focus-ratings:empty { display: none; }
@media (min-width: 760px) {
  .shell { --metadata-gap: 20px; --copy-offset: calc((((100vw - 30px) * 856 / 1250) - 2 * var(--metadata-gap)) * 229 / 816 + var(--metadata-gap)); }
  .calendar-nav { gap: 0; }
}
@media (min-width: 760px) and (max-width: 1100px) {
  .shell { --metadata-gap: 16px; }
}
@media (min-width: 1250px) {
  .date-nav { margin-left: calc(var(--copy-offset) - 243px); }
}
@media (min-width: 760px) and (max-width: 1249px) {
  :root { --header-height: 96px; }
  .date-nav { position: absolute; left: calc(var(--copy-offset) - 65px); top: 46px; }
}
@media (max-width: 759px) {
  .date-nav { left: -65px; width: calc(100% + 65px); }
  .week-tabs { justify-content: flex-start; }
}

.music-video-caption { position: absolute; bottom: 12px; left: 12px; right: 12px; z-index: 2; pointer-events: none; margin: 0; padding: 6px 10px; border-radius: 12px; background: #000b; color: #fff; font-size: 12px; line-height: 1.4; }
.trailer-player:has(iframe) .music-video-caption { display: none; }
.region-settings select { min-width: 180px; }
@media(max-width:600px) { .region-settings { flex-wrap: wrap; } .region-settings label { width: 100%; } }

/* Selection follows the rounded artwork without moving the poster grid. */
.poster-strip { --poster-grid-gap: 18px; padding-top: 0; grid-template-rows: repeat(2, minmax(0, 1fr)); box-sizing: content-box; }
.poster-strip .cover-wrap { overflow: visible; }
.cover-wrap .cover-artwork { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
.poster-strip .cover-wrap.selected::after { content: ''; position: absolute; inset: 0; border: 3px solid #3100ff; border-radius: inherit; pointer-events: none; z-index: 3; }
@media(min-width:760px) { .poster-strip { --poster-grid-gap: 18px; height: calc((100cqw - 10px) * 394 / 1250 - var(--poster-grid-gap)); max-height: calc(var(--feed-stage-height) - 68px); } }

.spotify-profile{display:flex;align-items:center;gap:12px;margin:12px 0}.spotify-profile img{border-radius:50%;object-fit:cover}.spotify-save{border:1px solid var(--muted);border-radius:999px;padding:10px 16px;background:var(--surface-soft);color:var(--ink);cursor:pointer}.spotify-save[aria-pressed="true"]{border-color:#1db954}.spotify-save:disabled{opacity:.65;cursor:default}.spotify-library-control{position:relative;z-index:4;padding:12px 18px}.music-listening-stage .spotify-library-control{padding:0}.trailer-player>.spotify-library-control{position:absolute;bottom:16px;left:0;right:0;text-align:center}
.spotify-open{display:inline-flex;align-items:center;text-decoration:none}.spotify-open:hover{border-color:var(--ink)}.spotify-library-control{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}

/* Figma 696:2925 and 700:3147: square artwork and a full media canvas. */
.discovery-filter { position:relative; align-self:flex-start; min-width:0; }
.discovery-filter > summary { list-style:none; display:flex; align-items:center; justify-content:center; gap:8px; max-width:200px; height:50px; padding:0 14px; border-radius:0 0 24px 24px; font:700 20px/.9 'Avant Garde',sans-serif; letter-spacing:-.6px; white-space:nowrap; cursor:pointer; color:var(--ink); background:var(--surface); box-shadow:inset 0 0 23.5px -9px var(--inset); }
.discovery-filter > summary::-webkit-details-marker { display:none; }
.discovery-filter .filter-label { overflow:hidden; text-overflow:ellipsis; }
.discovery-filter .filter-chevron { width:14px; height:10px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:square; stroke-linejoin:miter; transition:transform .15s; }
.discovery-filter[open] .filter-chevron { transform:rotate(180deg); }
.discovery-filter-panel .quick-all { margin:0 0 12px; padding:0; font:inherit; background:transparent; color:var(--ink); }
.discovery-filter-panel .quick-event-children { padding-left:26px; }
.discovery-filter-panel [hidden] { display:none; }
.discovery-filter-panel { position:absolute; top:calc(100% + 4px); left:0; z-index:30; width:310px; max-width:calc(100vw - 24px); padding:16px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 12px 40px #0003; }
.quick-filter-scroll { max-height:min(62dvh,520px); overflow:auto; overscroll-behavior:contain; }
.discovery-filter-panel fieldset { padding:0; margin:0; border:0; }
.discovery-filter-panel legend { margin-bottom:10px; font-size:12px; color:var(--muted); }
.discovery-filter-panel label { display:flex; align-items:center; gap:10px; min-height:36px; font-size:14px; font-weight:400; cursor:pointer; }
.discovery-filter-panel input { width:16px; height:16px; margin:0; accent-color:var(--blue); }
.discovery-filter-panel select { width:100%; margin-block:8px 16px; }
.discovery-filter-panel .quick-city { display:block; }
.discovery-filter-panel details { padding-left:26px; }
.discovery-filter-panel details summary { padding:6px 0; font-size:12px; color:var(--muted); cursor:pointer; }
.discovery-filter-panel .quick-concert-genres { margin-block:12px; padding-left:0; border-top:1px solid var(--line); }
.discovery-filter-panel p { margin:8px 0 0; font-size:11px; line-height:1.5; color:var(--muted); }
.discovery-filter-panel footer { display:flex; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--line); }
.discovery-filter-panel footer button { padding:9px 12px; border:0; border-radius:20px; background:var(--surface-soft); color:var(--ink); font-size:13px; }
.discovery-filter-panel footer .quick-apply { background:var(--blue); color:#fff; }
.discovery-filter-panel button:disabled { opacity:.5; }
.discovery-filter-panel .quick-filter-error { color:#d94c44; }
.discovery-filter-panel .quick-filter-error:empty { display:none; }
.discovery-filter-panel label:hover, .discovery-filter-panel summary:hover { color:var(--blue); }
.discovery-filter:focus-within { z-index:31; }
.nav-scroll:has(.discovery-filter[open]) { overflow:visible; }
.feed-music .poster-strip, .feed-events .poster-strip { grid-template-rows:repeat(2,auto); gap:24px 10px; height:auto; max-height:none; box-sizing:border-box; }
.poster-strip .discovery-cover { display:flex; flex-direction:column; align-items:stretch; height:auto; aspect-ratio:auto; background:none; border-radius:16px; text-align:left; opacity:.7; }
.poster-strip .discovery-cover.selected, .poster-strip .discovery-cover:hover, .poster-strip .discovery-cover:focus-visible { opacity:1; }
.poster-strip .discovery-cover .cover-artwork { position:relative; inset:auto; display:block; flex:none; aspect-ratio:1; width:100%; border-radius:16px; overflow:hidden; }
.poster-strip .discovery-cover.selected::after { content:none; }
.poster-strip .discovery-cover.selected .cover-artwork::after { content:''; position:absolute; inset:0; border:3px solid #3100ff; border-radius:inherit; pointer-events:none; }
.discovery-cover .cover-caption { display:flex; flex-direction:column; min-width:0; gap:6px; padding:9px 0 0; color:var(--ink); }
.cover-caption strong { font:700 16px/1.1 'Avant Garde',sans-serif; letter-spacing:-.03em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; padding-bottom:2px; }
.cover-caption small { font-size:12px; line-height:1.25; color:var(--muted); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.feed-music .music-listening-stage { inset:60px 0 0; display:block; padding:0; overflow:hidden; border-radius:12px 12px 0 0; background:#121212; }
.feed-music .music-listening-stage iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; border-radius:0; }
.feed-music .trailer-player { background:var(--surface-soft); }
.feed-music .music-listening-switch { left:12px; top:10px; max-width:calc(100% - 24px); flex-wrap:nowrap; gap:2px; padding:3px; }
.feed-music .music-listening-switch button { white-space:nowrap; padding:8px 12px; font-size:12px; }
.feed-music .music-listening-switch button:disabled { display:none; }
.feed-music .music-listening-stage iframe { color-scheme:normal; background:transparent; }
.release-availability { display:block; margin-top:6px; font-size:11px; line-height:1.35; max-width:210px; white-space:normal; color:var(--muted); }
.feed-music .trailer-player>.spotify-library-control { bottom:8px; pointer-events:none; }
.feed-music .spotify-library-control > * { pointer-events:auto; }
.feed-music .spotify-library-control:empty { display:none; }
.music-release-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; text-align:center; color:#fff; }
.music-release-empty strong { font:700 28px/1.1 'Avant Garde',sans-serif; overflow-wrap:anywhere; }
.music-release-empty p { color:#b3b3b3; }
.music-release-empty .item-link { color:#fff; font-size:13px; }
.music-release-empty > div { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; }
.music-release-title { margin:0 0 12px; color:var(--muted); font-size:13px; line-height:1.4; }
.artist-bio-source { display:block; margin-top:8px; color:var(--muted); font-size:10px; line-height:1.4; }
.music-play-counts { display:flex; flex-wrap:wrap; gap:0; align-items:center; }
.music-metric { display:flex; align-items:center; }
.music-service-logo { display:grid; place-items:center; width:var(--rating-size); height:var(--rating-size); flex-shrink:0; background:transparent; border:0; box-shadow:none; }
.music-service-logo img { display:block; width:100%; height:100%; object-fit:contain; }

.music-metric-value { display:grid; place-items:center; min-width:54px; padding:9px 10px; border-radius:30px; font-size:12px; line-height:1; color:var(--ink); background:var(--rating-good); }
.music-metric-value.missing { background:var(--shade); color:var(--muted); }
.music-metric-unit { display:block; margin-top:3px; font-size:8px; line-height:1; font-weight:400; }
.rating-source { background:transparent; border:0; box-shadow:none; }
.rating-source > img[src$="kinopoisk.svg"],.rating-source > img[src$="imdb.svg"] { width:100%; height:100%; object-fit:contain; }
.event-map { position:relative; width:100%; height:100%; background:var(--surface-soft); }
.event-map iframe { display:block; width:100%; height:100%; border:0; }
.event-map > a { position:absolute; right:12px; bottom:42px; padding:10px 14px; border-radius:24px; background:var(--paper); color:var(--ink); font-size:12px; text-decoration:none; box-shadow:0 2px 12px #0002; }
.event-map-empty { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; text-align:center; }
.event-map-empty p { color:var(--muted); }
.event-map-empty a { font-size:13px; }
@media(min-width:1250px) { .calendar-nav:has(.discovery-filter) .date-nav { margin-left:max(20px,calc(var(--copy-offset) - 340px)); } }
@media(min-width:760px) {
  .feed-music .poster-navigation,.feed-events .poster-navigation { overflow:visible; }
  .feed-music .poster-strip,.feed-events .poster-strip { gap:20px 10px; height:auto; max-height:none; grid-template-rows:repeat(2,auto); }
  .feed-music .poster-strip .discovery-cover,.feed-events .poster-strip .discovery-cover { min-height:0; }
  .feed-music .poster-strip .cover-artwork,.feed-events .poster-strip .cover-artwork { width:min(100%,max(40px,calc((var(--feed-stage-height) - 224px)/2))); }
  .feed-music .cover-caption small,.feed-events .cover-caption small { -webkit-line-clamp:1; }
}
@media(max-width:759px) {
  .discovery-filter > summary { font-size:16px; letter-spacing:-.48px; max-width:130px; }
  .discovery-filter-panel { position:fixed; top:56px; left:12px; right:12px; width:auto; max-width:none; }
  .feed-music .focus-media:has(.music-listening-stage),.feed-music .trailer:has(.music-listening-stage) { aspect-ratio:auto; min-height:420px; height:420px; }
  .feed-music .music-listening-switch { left:8px; right:8px; top:10px; max-width:none; justify-content:center; }
  .feed-music .music-listening-switch button { padding:8px 5px; font-size:11px; }
  .feed-music .trailer-player>.spotify-library-control { bottom:10px; }
  .feed-events .focus-media { min-height:300px; }
  .feed-music .poster-strip,.feed-events .poster-strip { gap:20px 12px; }
  .cover-caption strong { font-size:14px; }
  .cover-caption small { font-size:11px; }
}

@media(min-width:760px) { .feed-music,.feed-events { --feed-info-height:clamp(188px,25dvh,300px); } .feed-music .cover-artwork,.feed-events .cover-artwork { max-height:none; } }
@media(max-width:600px) {
  :root:has(.discovery-filter) { --header-height:138px; }
  .calendar-nav:has(.discovery-filter) .discovery-filter { position:absolute; top:48px; left:-65px; }
  .calendar-nav:has(.discovery-filter) .discovery-filter > summary { max-width:calc(100vw - 72px); font-size:16px; }
  .calendar-nav:has(.discovery-filter) .feed-search-button { top:42px; }
  .calendar-nav:has(.discovery-filter) .date-nav { top:90px; }
  .calendar-nav:has(.discovery-filter) .discovery-filter-panel { top:92px; }
}

/* The selected item may acquire metadata; rail geometry stays fixed. */
.discovery-filter-panel footer .quick-apply { width:100%; min-width:0; flex:1 1 auto; height:auto; min-height:44px; padding:12px 20px; white-space:nowrap; border-radius:24px; }
.quick-music-children { margin:8px 0 16px 24px; padding-left:12px; border-left:1px solid var(--line); }
.quick-music-children label { font-size:12px; }
.quick-music-note { font-size:11px; line-height:1.4; color:var(--muted); }
.focus-copy .item-description { width:85%; }
.feed-events .discovery-cover .cover-artwork .item-cover { inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; object-position:center; transform:none; }
.feed-events .cover-backdrop { display:none; }
.feed-music .music-listening-stage { inset:0; border-radius:0; }
.feed-music .focus-footer { flex-direction:column; align-items:stretch; gap:12px; }
.feed-music .focus-footer .music-listening-switch { position:static; inset:auto; width:100%; max-width:none; flex-wrap:wrap; background:none; padding:0; gap:5px; }
.feed-music .focus-footer .music-listening-switch button { padding:8px 10px; max-width:100%; white-space:normal; border-radius:20px; font-size:11px; }
.event-address { display:flex; gap:8px; align-items:flex-start; text-decoration:none; color:var(--muted); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.metro-badge { display:flex; width:32px; height:32px; flex:none; border-radius:50%; align-items:center; justify-content:center; background:var(--shade); color:var(--ink); }
.metro-badge svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:square; stroke-linejoin:miter; }
@media(min-width:760px) {
  .poster-navigation { grid-template-rows:minmax(0,1fr) 68px; gap:0; align-content:stretch; }
  .poster-controls { grid-row:2; height:68px; min-height:68px; justify-content:center; }
  .poster-strip { height:100%; max-height:100%; box-sizing:border-box; }
  .feed-music .poster-strip,.feed-events .poster-strip { height:100%; max-height:100%; grid-template-rows:repeat(2,minmax(0,1fr)); gap:16px 10px; }
  .poster-strip .discovery-cover { height:100%; display:grid; grid-template-rows:auto 64px; align-content:start; }
  .feed-music .poster-strip .cover-artwork,.feed-events .poster-strip .cover-artwork { width:min(100%,max(40px,calc((var(--feed-stage-height) - 84px) / 2 - 64px))); height:auto; max-width:100%; aspect-ratio:1; justify-self:start; align-self:start; }
  .cover-caption { height:64px; overflow:hidden; }
  .cover-caption strong { min-height:0; }
  .cover-caption small { min-height:1.25em; -webkit-line-clamp:1; }
  .feed-events .focus-meta { grid-column:1; grid-row:1; padding-top:0; gap:14px; }
  .feed-events .focus-actions { position:absolute; top:0; right:0; }
}
@media(min-width:760px) and (max-width:900px) {
  .feed-events .focus-meta { grid-column:1; grid-row:1; padding-top:0; }
}
@media(max-width:759px) {
  .focus-copy .item-description { width:100%; }
  .feed-music .poster-strip,.feed-events .poster-strip { height:calc((100cqw - 24px) / 3 * 2 + 168px); grid-template-rows:repeat(2,minmax(0,1fr)); }
  .poster-strip .discovery-cover { display:grid; grid-template-rows:auto 64px; height:100%; align-content:start; }
  .poster-strip .discovery-cover .cover-artwork { width:100%; height:auto; max-height:100%; }
  .cover-caption { height:64px; overflow:hidden; }
}
@media(max-width:759px) {
  .focus-summary { min-height:300px; }
  .focus-summary h1 { min-height:2.16em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .feed-music .focus-footer { min-height:128px; justify-content:flex-end; }
}
@media(max-width:759px) {
  .poster-strip .discovery-cover .cover-artwork { align-self:start; }
}
@media(max-width:759px) {
  .focus-footer { min-height:128px; }
  .focus-meta { min-height:76px; }
}

/* Music and event cards keep captions attached to the square artwork. */
.feed-music .discovery-cover .item-cover,
.feed-events .discovery-cover .item-cover { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; object-position:center; transform:none; }
.feed-music .cover-backdrop,.feed-events .cover-backdrop { display:none; }
.discovery-cover .cover-caption { align-self:start; padding-top:10px; gap:6px; }
.feed-music .focus-media { position:relative; background:var(--paper); }
.feed-music .focus-media > .music-listening-switch { position:absolute; inset:10px auto auto 50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 24px); min-height:0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px; padding:4px; background:var(--overlay); border-radius:24px; }
.feed-music .focus-media > .trailer { min-height:0; height:100%; aspect-ratio:auto; }
.feed-music .music-listening-switch button { border-radius:20px; }
/* Album rows follow the cards, with the same gutter in both directions. */
.feed-music .poster-navigation { flex:0 0 auto; height:auto; min-height:var(--feed-stage-height,0px); grid-template-rows:auto 68px; align-content:start; }
.feed-music .poster-strip { --poster-grid-gap:10px; height:auto; max-height:none; grid-template-rows:repeat(2,auto); gap:var(--poster-grid-gap); align-self:start; }
.feed-music .poster-strip .discovery-cover { height:auto; grid-template-rows:auto auto; }
.feed-music .poster-strip .cover-artwork { width:100%; }
.feed-music .cover-caption { height:auto; }
@media(max-width:759px) { .feed-music .poster-strip { --poster-grid-gap:12px; } }
.music-service-logo { border-radius:50%; }
.event-context-label { font-size:11px; line-height:1.4; color:var(--muted); }
.source-freshness { display:block; margin-top:8px; font:11px/1.4 'CoFo Sans Mono',monospace; color:var(--muted); }
.music-release-open { position:absolute; right:12px; bottom:12px; z-index:5; max-width:calc(100% - 24px); padding:8px 12px; border-radius:20px; background:#191a1b; color:#eee; font-size:11px; line-height:1.4; text-align:center; text-decoration:none; }
.music-release-open:hover { background:#343537; }
.music-release-open:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(max-width:759px) {
  .feed-music .focus-media { height:420px; min-height:420px; }
  .feed-music .music-release-title { margin:0; font:13px/1.4 'CoFo Sans Mono',monospace; }
  .feed-music .focus-summary,.feed-events .focus-summary { min-height:0; }
  .feed-music .focus-summary h1,.feed-events .focus-summary h1 { min-height:0; }
}

/* Registration frame 884:1186. */
body.auth-page { background:var(--surface); }
.auth-page .shell { padding:0; }
.auth-page .topbar { display:none; }
.auth-screen { min-height:100dvh; display:flex; flex-direction:column; align-items:center; text-align:center; padding:clamp(40px,12.43dvh,110px) 20px 28px; }
.auth-brand { font:700 20px/.9 'Avant Garde',sans-serif; letter-spacing:-.03em; text-decoration:none; }
.auth-screen h1 { font:700 64px/.9 'Avant Garde',sans-serif; letter-spacing:-.03em; margin:14px 0 0; }
.auth-providers { display:grid; gap:9px; width:239px; margin-top:46px; }
.auth-action { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:41px; padding:10px 12px; border:0; border-radius:30px; color:var(--ink); background:transparent; font:400 12px/1.15 'CoFo Sans Mono',monospace; letter-spacing:-.04em; text-decoration:none; box-shadow:none; }
.auth-action::before { content:''; position:absolute; inset:-1px; z-index:-2; border-radius:inherit; background:conic-gradient(from 270deg,#9ac9ee,#9666e5,#ed9ecb,#efb58b,#77c466,#9ac9ee); filter:blur(2px); opacity:.5; transition:opacity .3s,filter .3s; pointer-events:none; }
.auth-action::after { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:var(--surface); pointer-events:none; }
.auth-action:hover:not(:disabled)::before,.auth-action:focus-visible::before { opacity:.85; filter:blur(3px); }
.auth-action:disabled { opacity:.55; }
.auth-action img { display:block; flex:none; }
.auth-email-caption { margin:46px 0 8px; font-size:16px; line-height:1.15; letter-spacing:-.04em; }
#authForm.auth-email-form { display:grid; gap:8px; width:276px; max-width:100%; padding:24px 18px 22px; border:1px solid #bcbcbc; border-radius:26px; }
.auth-email-form input { width:100%; min-width:0; height:40px; margin:0; padding:10px 14px; border:0; border-radius:30px; background:var(--surface-soft); color:var(--ink); font-size:14px; line-height:1.15; letter-spacing:-.04em; }
.auth-email-form input::placeholder { color:var(--muted); opacity:1; }
.auth-email-form input:focus-visible,.auth-screen a:focus-visible,.auth-screen button:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.auth-help { width:360px; max-width:100%; margin-top:14px; color:var(--muted); font-size:8px; line-height:1.35; }
.auth-help p { margin:5px 0; }
.auth-help a { text-underline-offset:3px; }
.auth-help button { border:0; padding:0; color:var(--ink); background:transparent; font:inherit; text-decoration:underline; text-underline-offset:3px; }
#auth-error { font-size:12px; line-height:1.3; color:#c33b35; margin:6px 0 0; overflow-wrap:anywhere; }
@media(max-width:600px) { .auth-screen { padding-top:44px; } .auth-screen h1 { font-size:clamp(40px,10.6vw,56px); } .auth-providers { margin-top:36px; } .auth-email-caption { margin-top:34px; } }

/* Theme icons belong to the settings header; the profile always identifies the user. */
#account { flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.header-appearance { display:flex; align-items:center; gap:0; }
.header-appearance button { display:grid; place-items:center; width:34px; height:40px; border:0; border-radius:12px; background:none; color:var(--subtle); padding:7px; }
.header-appearance button[aria-pressed=true] { background:var(--surface-soft); color:var(--ink); }
.header-appearance svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.profile-avatar { position:relative; overflow:hidden; border:1px solid var(--shade); }
.profile-initial { display:grid; place-items:center; width:100%; height:100%; font:700 20px/1 'Avant Garde',sans-serif; color:#262626; background:#cfe9c8; }
.profile-initial.avatar-color-1,.profile-initial.avatar-color-5 { background:#d0bbef; }
.profile-initial.avatar-color-2,.profile-initial.avatar-color-6 { background:#cce3f9; }
.profile-initial.avatar-color-3,.profile-initial.avatar-color-7 { background:#f5cfb4; }
.profile-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.profile-support { display:block; padding:10px 12px; font-size:12px; text-decoration:none; }
.profile-support:hover { text-decoration:underline; }
@media(max-width:450px) { #account { gap:4px; } .header-appearance button { width:30px; padding:5px; } }

/* Keep feed navigation aligned with the content, independent of the active category. */
@font-face { font-family:'Avant Garde Menu'; src:url('/fonts/avant-garde-demi.ttf?v=e0f6bdec0834a53c') format('truetype'); font-weight:600; font-display:swap; }
:root:has(.calendar-nav .date-nav) { --header-height:96px; }
.calendar-nav:has(.date-nav) { gap:0; }
.calendar-nav > .date-nav { position:absolute; left:-65px; top:46px; margin-left:0!important; width:calc(100% + 65px); }
.calendar-nav > .discovery-filter { position:absolute; top:0; left:calc(var(--copy-offset) - 65px); }
.calendar-nav .week-tabs { justify-content:flex-start; height:46px; }
.calendar-nav .week-tabs button,.calendar-nav .discovery-filter > summary { font-family:'Avant Garde Menu',sans-serif; font-weight:600; }
.calendar-nav .discovery-filter > summary { height:46px; padding-left:14px; min-width:130px; max-width:200px; justify-content:flex-start; }
.calendar-nav .week-tabs button.selected::before { top:-16px; height:46px; }
.calendar-nav:has(.discovery-filter) .feed-search-button { top:0; }
@media(min-width:760px) {
 .shell { --copy-offset:calc((((100vw - 2 * var(--edge-gap) - 10px) * 856 / 1250) - 2 * var(--metadata-gap)) * 229 / 816 + var(--metadata-gap)); }
}
@media(min-width:760px) and (max-width:900px) {
 .shell { --copy-offset:calc((((100vw - 2 * var(--edge-gap) - 10px) * 856 / 1250) - 12px) / 4 + 12px); }
}
@media(max-width:1249px) {
 :root:has(.calendar-nav .date-nav) { --header-height:138px; }
 .calendar-nav > .discovery-filter { top:46px; }
 .calendar-nav > .date-nav { top:90px; }
 .calendar-nav .discovery-filter-panel { position:fixed; top:92px; left:12px; right:12px; width:auto; max-width:none; }
}
@media(max-width:759px) {
 .calendar-nav > .discovery-filter { left:-65px; }
 .calendar-nav .discovery-filter > summary { font-size:16px; }
}

@media(max-width:360px) { .calendar-nav .week-tabs { gap:14px; } .calendar-nav .week-tabs button { font-size:14px; } }

/* Figma 696:2925: regular monospace controls share the top row. */
.calendar-nav .week-tabs button,.calendar-nav .discovery-filter > summary { font:400 16px/1.15 'CoFo Sans Mono',monospace; letter-spacing:-.64px; }
.calendar-nav .week-tabs { gap:20px; height:50px; padding:0; }
.calendar-nav .week-tabs button:nth-child(n) { width:auto; }
.calendar-nav .week-tabs button { display:grid; place-items:center; height:100%; }
.calendar-nav .week-tabs button.selected::before { top:0; height:100%; left:-14px; width:calc(100% + 28px); border-radius:0 0 24px 24px; }
@media(min-width:900px) {
 :root:has(.calendar-nav .date-nav) { --header-height:54px; }
 .calendar-nav > .discovery-filter { top:0; left:max(181px,calc(var(--copy-offset) - 65px)); }
 .calendar-nav .discovery-filter > summary { height:50px; min-width:110px; padding:0 14px; }
 .calendar-nav > .date-nav { top:0; left:calc(var(--copy-offset) + 330px - 65px); width:auto; margin:0!important; }
 .calendar-nav .discovery-filter-panel { position:absolute; top:54px; left:0; right:auto; width:310px; }
}
@media(max-width:899px) {
 :root:has(.calendar-nav .date-nav) { --header-height:138px; }
 .calendar-nav > .discovery-filter { top:46px; }
 .calendar-nav > .date-nav { top:90px; left:-65px; }
 .calendar-nav .week-tabs { height:46px; }
}
@media(max-width:360px) { .calendar-nav .week-tabs { gap:14px; } .calendar-nav .week-tabs button { font-size:14px; } }

/* Square cards keep a ten-pixel gutter; controls reserve one fixed row. */
.feed-music .poster-strip,.feed-events .poster-strip { --poster-grid-gap:10px; gap:10px; height:auto; max-height:100%; grid-template-rows:repeat(2,auto); align-content:start; align-self:start; overflow-y:auto; overflow-x:hidden; }
.feed-music .poster-strip .discovery-cover,.feed-events .poster-strip .discovery-cover { height:auto; grid-template-rows:auto auto; align-self:start; }
.feed-music .poster-strip .cover-artwork,.feed-events .poster-strip .cover-artwork { width:100%; }
.feed-music .cover-caption,.feed-events .cover-caption { height:auto; }
@media(min-width:760px) {
 .feed-music .poster-navigation,.feed-events .poster-navigation { flex:0 0 var(--feed-stage-height); height:var(--feed-stage-height); min-height:0; grid-template-rows:minmax(0,1fr) 68px; gap:0; align-content:stretch; }
 .feed-music .poster-controls,.feed-events .poster-controls { grid-row:2; align-self:stretch; height:68px; }
}
.event-address { max-width:80%; }
.focus-meta > .occurrence-list { position:relative; margin:0; }
.focus-meta > .occurrence-list[open] ul { position:absolute; top:100%; left:0; width:min(310px,calc(100vw - 30px)); max-height:min(45dvh,320px); overflow:auto; }
.quick-event-children .quick-concert-genres { border:0; margin:0; padding:0 0 4px 26px; }
.quick-concert-label { color:var(--muted); font-size:11px; }

@media(max-width:759px) {
 .feed-music .poster-navigation,.feed-events .poster-navigation { height:calc((100cqw - 20px) / 3 * 2 + 208px); min-height:0; grid-template-rows:minmax(0,1fr) 68px; gap:0; align-content:stretch; }
 .feed-music .poster-controls,.feed-events .poster-controls { grid-row:2; height:68px; }
}

/* Reserve caption space below the text, keeping artist and release together. */
.feed-music .cover-caption strong,.feed-events .cover-caption strong { min-height:0; }
.feed-music .cover-caption { font-size:16px; min-height:calc(2.2em + 33px); }
.feed-events .cover-caption { font-size:16px; min-height:calc(2.2em + 12px); }
@media(max-width:759px) { .feed-music .cover-caption,.feed-events .cover-caption { font-size:14px; } }

/* One rail geometry for every category, independent of item count. */
@media(min-width:760px) {
 .feed-music,.feed-events { --feed-info-height:clamp(230px,27dvh,360px); }
}
.feed-music .cover-caption,.feed-events .cover-caption { min-height:0; padding-bottom:0; }
.calendar-nav .discovery-filter > summary { width:150px; min-width:150px; max-width:150px; justify-content:space-between; box-sizing:border-box; }
.calendar-nav .week-tabs button:disabled { opacity:.35; cursor:default; }
@media(min-width:900px) {
 .calendar-nav { --menu-filter-left:max(194px,calc(var(--copy-offset) - 65px)); --menu-group-gap:calc(var(--menu-filter-left) - 178px); }
 .calendar-nav > .discovery-filter { left:var(--menu-filter-left); }
 .calendar-nav > .date-nav { left:calc(var(--menu-filter-left) + 150px + var(--menu-group-gap)); }
}
.event-place-lines { display:grid; gap:4px; min-width:0; }
.event-metro,.event-street { color:var(--muted); }

@media(max-width:759px) {
 .feed-music .poster-navigation,.feed-events .poster-navigation { height:calc(100cqw + 52px); grid-template-rows:minmax(0,1fr) 58px; }
 .feed-music .poster-controls,.feed-events .poster-controls { height:58px; min-height:58px; }
}

/* Owner corrections, 15 October: consistent actions and compact venue lines. */
.save-star { display:block; width:24px; height:24px; fill:none; stroke:var(--muted); stroke-width:1.7; stroke-linejoin:round; }
.save-release.saved .save-star { fill:#fff; stroke:#fff; }
.save-release:hover .save-star { stroke:var(--ink); }
.event-address { line-height:1.15; }
.event-place-lines { gap:2px; }
.feed-loading,.feed-empty:not(.feed-filtered) { min-height:calc(100dvh - var(--header-height) - 40px); box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; text-align:center; padding:32px 16px; }
.feed-loading p { margin:0; color:var(--ink); font-family:'Avant Garde',sans-serif; font-size:clamp(28px,3.5vw,48px); line-height:1.15; }
.feed-spinner { width:40px; height:40px; border:3px solid var(--shade); border-top-color:var(--blue); border-radius:50%; animation:feed-spin .9s linear infinite; }
@keyframes feed-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .feed-spinner { animation:none; border-style:dotted; } }
@media(min-width:901px) { .feed-events .focus-actions { position:static; grid-column:3; grid-row:1; justify-self:start; } }

.trailer-stage iframe[src*="youtube.com/embed/"],.trailer-stage iframe[src*="youtube-nocookie.com/embed/"] { inset:auto; left:50%; top:50%; width:max(101cqw,179.56cqh); height:max(101cqh,56.8125cqw); transform:translate(-50%,-50%); }
.trailer-stage video { object-fit:cover; }

.quick-filter-note { margin:0 0 14px; color:var(--muted); font-size:11px; line-height:1.4; }

/* Metro address is exactly three compact lines beside one badge. */
.event-address { line-height:1.1; align-items:center; }
.metro-badge { width:42px; height:42px; background:var(--metro-color,var(--shade)); color:var(--ink); font:700 20px/1 'CoFo Sans Mono',monospace; }
.metro-badge[data-metro-color] { color:#fff; text-shadow:0 1px 2px #0007; }
.event-place-lines { display:flex; flex-direction:column; justify-content:center; height:42px; min-width:0; gap:0; }
.event-place-lines > span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:14px; }
.focus-info .rating-badge { min-width:var(--rating-size); }

.focus-info .rating-badge,.focus-info .music-metric-value { display:grid; place-items:center; width:54px; min-width:54px; height:var(--rating-size); box-sizing:border-box; padding:0 4px; border-radius:30px; }
.music-metric-unit { display:none; }

/* A stable black stage while media and playback metadata load. */
.trailer-player,.trailer-stage,.trailer-stage video,.trailer-stage iframe { background:#000; }
.trailer-loading { position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:#000; color:var(--muted); font-size:12px; pointer-events:none; }
.trailer-stage.is-loading video { opacity:0; }
.trailer-stage:has(.trailer-loading) .trailer-empty { display:none; }

.trailer-empty button { background:var(--shade); color:var(--ink); border:0; border-radius:24px; padding:12px 20px; cursor:pointer; }

.music-upcoming strong { font-family:Avant Garde Gothic,sans-serif; font-size:clamp(24px,3vw,44px); line-height:1.1; }

/* Match the spacing of the movie and series option groups. */
.settings-series-card { gap:10px; }
.settings-series-card .settings-field-label { margin:0; }
.settings-series-card .settings-small-group { margin-bottom:0; }

.settings-recovery-title {font:700 clamp(28px,3vw,40px)/1 var(--font-heading,'Avant Garde',sans-serif);letter-spacing:-.03em;max-width:850px;margin:28px 0 30px;}
.settings-recovery .has-no-content {opacity:.3;}
.settings-recovery .settings-feed-button:disabled {opacity:.3;cursor:default;}
.settings-recovery .settings-connected-summary {display:none;}
.settings-recovery .settings-content {border:1px solid #4bca57;}
@media(max-width:759px){.settings-recovery-title{font-size:26px;margin:18px 0 22px;}.settings-recovery .settings-workspace{min-height:0;}}

/* Owner correction, 21 October: one spacing rhythm and complete poster artwork. */
.video-feed .poster-strip .cover-wrap .item-cover {
 position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none;
 object-fit:contain; object-position:center; border-radius:0; background:var(--surface-soft); transform:none;
}
.video-feed .poster-strip .cover-backdrop,
.video-feed .poster-strip .wide-cover-title { display:none; }
@media(min-width:760px) {
 #calendar-content:has(.video-feed) { padding-top:var(--edge-gap); }
 .video-feed { height:calc(100dvh - var(--header-height) - 2 * var(--edge-gap)); gap:var(--edge-gap); }
 .video-feed .poster-strip { --poster-grid-gap:var(--edge-gap); gap:var(--edge-gap); }
 .video-feed .feed-sidebar { gap:var(--edge-gap); }
}

/* 25 October: retain gutters, fit full portrait artwork into a shorter card. */
@media(min-width:760px) {
.video-feed:not(.feed-music):not(.feed-events) .poster-strip {
 height:auto; grid-template-rows:repeat(2,auto); align-self:start;
}
.video-feed:not(.feed-music):not(.feed-events) .poster-strip .cover-wrap {
 height:auto; aspect-ratio:2 / 3; align-self:start; min-height:0;
}
}
.focus-footer > .occurrence-list { position:relative; margin:0; min-width:0; }
.focus-footer > .occurrence-list > summary { font-size:14px; white-space:nowrap; }
.focus-footer > .occurrence-list[open] ul {
 position:absolute; bottom:100%; top:auto; right:0; left:auto;
 width:min(340px,calc(100vw - 32px)); max-height:min(50dvh,360px);
 margin:0 0 10px; overflow:auto; box-sizing:border-box; z-index:8;
}

/* 25 October, follow-up: one chevron, readable labels and native artwork. */
.discovery-filter .mobile-filter-chevron { display:none; }
.discovery-filter .filter-label { flex:1 0 auto; min-width:max-content; overflow:visible; text-overflow:clip; }
.discovery-filter-panel .quick-group-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.rating-source > picture { display:block; width:100%; height:100%; }
.rating-source > picture > img { display:block; width:100%; height:100%; object-fit:contain; }
:root[data-appearance=dark] .rating-source > picture > img { filter:invert(1); }
.event-address { max-width:100%; }
.event-place-lines { height:auto; min-height:42px; }
.event-place-lines > span { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
@media(min-width:760px) {
 .video-feed { --detail-copy-size:16px; }
 .video-feed .focus-copy { flex:1 1 0; min-height:0; }
 .video-feed .focus-copy .item-description { -webkit-line-clamp:var(--description-lines,100); max-height:none; }
 .video-feed .item-description,.video-feed .music-release-title { margin:0; font:400 var(--detail-copy-size)/1.35 'CoFo Sans Mono',monospace; letter-spacing:-.04em; color:var(--ink); }
 .video-feed .item-description.muted { color:var(--muted); }
 .video-feed.feed-music .focus-meta > .focus-ratings { display:flex; flex-wrap:wrap; width:100%; min-height:var(--rating-size); }
 .video-feed.feed-music .focus-meta > .focus-ratings:empty::before,.video-feed.feed-music .focus-meta > .focus-ratings:empty::after { content:''; flex:0 0 calc(var(--rating-size) + 54px); height:var(--rating-size); }
 .video-feed.feed-music .focus-copy { display:none; }
 .video-feed.feed-music .music-release-title { display:block; overflow:visible; white-space:normal; }
 .video-feed:not(.feed-music):not(.feed-events) .poster-strip .cover-wrap { aspect-ratio:var(--poster-native-ratio,2 / 3); background:transparent; }
 .video-feed.feed-events .poster-strip .cover-artwork { aspect-ratio:var(--poster-native-ratio,1); height:auto; background:transparent; }
 .video-feed .poster-strip .cover-wrap .item-cover { background:transparent; }
 .feed-music .music-listening-stage { inset:0; border-radius:inherit; }
}
@media(min-width:760px) and (max-width:1249px) {
 .video-feed { --detail-copy-size:14px; }
}
.discovery-filter .filter-label { display:flex; align-items:center; justify-content:flex-start; white-space:pre; }
.discovery-filter .filter-selected-count { flex:none; }
.discovery-filter .filter-label[data-many-selected] .filter-label-name,.discovery-filter .filter-label[data-many-selected] .filter-count-separator { display:none; }

/* Figma1324:6284: desktop poster feed scrolls inside the fixed app viewport. */
.project-support { display:none; }
@media(min-width:760px) {
 body:has(.video-feed) { height:100dvh; overflow:hidden; }
 .video-feed .focus-summary h1 { line-height:.9; }
 .video-feed .focus-copy .item-description { width:calc(100% * 344 / 433); line-height:1.15; }
 #calendar-content:has(.video-feed) { padding-top:6px; }
 .video-feed {
  height:calc(100dvh - var(--header-height) - 6px - var(--edge-gap));
  --feed-info-height:clamp(166px,23.75dvh,260px);
  --feed-stage-height:min(calc((100cqw - 10px) * 856 / 1250 * 9 / 16),calc(100dvh - var(--header-height) - 6px - var(--edge-gap) - 10px - var(--feed-info-height)));
 }
 .video-feed .feed-sidebar { display:grid; grid-template-rows:minmax(0,1fr) 32px; gap:0; min-height:0; height:100%; }
 .video-feed .feed-sidebar .poster-navigation { position:relative; display:block; height:100%; min-height:0; overflow:hidden; }
 .video-feed .feed-sidebar .poster-navigation .poster-strip {
  position:relative; height:100%; max-height:none; min-height:0; align-self:stretch; box-sizing:border-box;
  grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:max-content; align-content:start;
  gap:var(--edge-gap); padding:0 0 24px; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; scrollbar-width:none; overflow-anchor:none;
  mask-image:linear-gradient(to bottom,transparent var(--rail-fade-start,0px),#000 var(--rail-fade-end,0px),#000 calc(100% - 22px),transparent calc(100% - 6px));
 }
 .video-feed .poster-strip::-webkit-scrollbar { display:none; }
 .video-feed .feed-sidebar .poster-navigation .poster-strip .cover-wrap { height:auto; min-height:0; aspect-ratio:var(--poster-native-ratio,2 / 3); align-self:start; }
 .video-feed .feed-sidebar .poster-navigation .poster-strip .discovery-cover { height:auto; aspect-ratio:auto; grid-template-rows:auto auto; }
 .video-feed .poster-strip .cover-wrap.selected::after,.video-feed .poster-strip .discovery-cover.selected .cover-artwork::after { border-width:1px; border-color:#1e00ff; }
 .video-feed .poster-strip .cover-wrap { opacity:.3; }
 .video-feed .poster-strip .cover-wrap.selected,.video-feed .poster-strip .cover-wrap:hover,.video-feed .poster-strip .cover-wrap:focus-visible { opacity:1; }
 .video-feed .poster-controls { display:none; }
 .project-support { display:flex; align-items:center; justify-content:center; width:100%; height:32px; min-height:32px; border:0; border-radius:16px; padding:0 12px; background:var(--surface); color:var(--ink); font:400 16px/1.15 'CoFo Sans Mono',monospace; letter-spacing:-.04em; text-decoration:none; }
 .project-support:disabled { opacity:1; cursor:default; }
 a.project-support:hover { background:var(--surface-soft); }
 .rail-retry { position:absolute; bottom:26px; left:8px; right:8px; z-index:5; padding:10px; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink); font:12px/1.3 'CoFo Sans Mono',monospace; }
}
@media(min-width:1250px) { :root:has(.calendar-nav .date-nav):has(.video-feed) { --header-height:50px; } }

/* 29 October: a subtle inset light on the support action, like the navigation. */
@media(min-width:760px) {
 a.project-support { position:relative; overflow:hidden; isolation:isolate; }
 a.project-support::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; box-shadow:inset 0 0 23.5px -9px var(--inset); opacity:0; transition:opacity .3s ease; animation:support-glow 6s ease-in-out infinite; }
 a.project-support:hover::before,a.project-support:focus-visible::before { animation:none; opacity:1; }
 @keyframes support-glow { 0%,35%,100% { opacity:0; } 65% { opacity:1; } }
}
@media(prefers-reduced-motion:reduce) { a.project-support::before { animation:none; transition:none; } }

/* Uniform poster formats and symmetric rail fading after scrolling. */
@media(min-width:760px) {
 .video-feed .feed-sidebar .poster-navigation .poster-strip.is-scrolled { --rail-fade-start:6px; --rail-fade-end:22px; }
 .video-feed .feed-sidebar .poster-navigation .poster-strip .cover-wrap { aspect-ratio:5 / 7; }
 .video-feed .feed-sidebar .poster-navigation .poster-strip .discovery-cover { aspect-ratio:auto; }
 .video-feed:not(.feed-music):not(.feed-events) .poster-strip .cover-wrap .item-cover { object-fit:cover; object-position:center; }
 .video-feed.feed-events .poster-strip .cover-artwork { aspect-ratio:16 / 9; }
 .video-feed.feed-events .poster-strip .cover-wrap .item-cover { object-fit:fill; }
 .video-feed.feed-events .cover-caption strong { min-height:2.2em; }
 .feed-search-button { padding:0; }
 .feed-search-button svg { width:24px; height:24px; }
}

@media(min-width:760px) { .discovery-filter .filter-label[data-many-selected] :is(.filter-label-name,.filter-count-separator) { display:inline; } }

/* Figma 1566: mixed artwork occupies one full row or a compact portrait pair. */
@media(min-width:760px) {
 #account { padding-top:5px; }
 .product-demo .demo-account { margin-top:5px; }
 .video-feed.feed-games .poster-strip .cover-wrap.poster-landscape { grid-column:1 / -1; aspect-ratio:197 / 92; }
 .video-feed.feed-events .poster-strip .cover-wrap { grid-column:auto; }
 .video-feed.feed-events .poster-strip .poster-landscape { grid-column:1 / -1; }
 .video-feed.feed-events .poster-strip .cover-artwork { aspect-ratio:5 / 7; }
 .video-feed.feed-events .poster-strip .poster-landscape .cover-artwork { aspect-ratio:197 / 92; }
 .video-feed.feed-events .poster-strip .cover-wrap .item-cover { object-fit:cover; }
 .video-feed.feed-events .cover-caption strong { min-height:0; }
 .feed-music .music-listening-stage iframe { max-width:none; max-height:none; }
}

.product-demo .cover-artwork .cover-fallback { z-index:0; }

/* Native artwork proportions, stable clickable tiles and concise streaming links. */
.cover-wrap,.cover-wrap * { cursor:pointer; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.cover-wrap .item-cover { -webkit-user-drag:none; }
@media(min-width:760px) {
 .video-feed:not(.feed-music):not(.feed-events) .feed-sidebar .poster-navigation .poster-strip .cover-wrap { aspect-ratio:var(--poster-native-ratio,5 / 7); }
 .video-feed.feed-events .poster-strip .cover-artwork,
 .video-feed.feed-events .poster-strip .poster-landscape .cover-artwork { aspect-ratio:var(--poster-native-ratio,16 / 9); }
 .video-feed:not(.feed-music):not(.feed-events) .poster-strip .cover-wrap .item-cover,
 .video-feed.feed-events .poster-strip .cover-wrap .item-cover { object-fit:contain; }
 .feed-music .cover-caption strong,.feed-events .cover-caption strong { font:700 24px/.95 'Avant Garde',sans-serif; letter-spacing:0; }
}
.all-platforms { position:relative; flex:none; font:inherit; letter-spacing:inherit; }
.all-platforms > summary { list-style:none; cursor:pointer; white-space:nowrap; font:inherit; }
.all-platforms > summary::-webkit-details-marker { display:none; }
.all-platforms > ul { position:absolute; bottom:calc(100% + 8px); right:0; z-index:35; display:flex; flex-direction:column; gap:4px; width:240px; max-width:calc(100vw - 24px); max-height:40dvh; overflow:auto; margin:0; padding:8px; border:1px solid var(--shade); border-radius:12px; background:var(--paper); color:var(--ink); box-shadow:0 5px 22px #0003; list-style:none; }
.all-platforms > ul .item-link { display:block; padding:8px; line-height:1.25; white-space:normal; text-align:left; }
.all-platforms > summary:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.video-feed .focused-release .focus-footer .item-actions:has(> .all-platforms) { display:flex; flex-direction:row; align-items:center; gap:10px; overflow:visible; max-height:none; }

/* Films/series keep one poster format; native artwork sizing is for games/events. */
@media(min-width:760px) {
 .video-feed.feed-media:not(.feed-music):not(.feed-events) .feed-sidebar .poster-navigation .poster-strip .cover-wrap { aspect-ratio:5 / 7; }
 .video-feed.feed-media:not(.feed-music):not(.feed-events) .poster-strip .cover-wrap .item-cover { object-fit:cover; }
 .video-feed .focused-release .focus-footer .item-actions:has(> .all-platforms) { flex-direction:column; align-items:flex-end; gap:4px; }
}
.all-platforms > summary { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.platform-chevron { display:block; flex:none; width:10px; height:8px; fill:none; stroke:currentColor; stroke-width:2; }

/* Every artwork hit target has the same pointer and cannot start text/image selection. */
.poster-strip .cover-wrap,.poster-strip .cover-wrap *,.item-cover,.cover-artwork,.cover-caption,.cover-fallback,.wide-cover-title {
 cursor:pointer !important; user-select:none !important; -webkit-user-select:none !important; -webkit-user-drag:none; -webkit-touch-callout:none;
}
