/* Watch follows PabUrmi's shared Solarized glass and control system. */
#page-movies { --watch-ink: var(--lg-ink); --watch-muted: var(--lg-muted); --watch-accent: var(--lg-tint-strong); --watch-blue: var(--sol-blue); --watch-amber: var(--sol-yellow); color: var(--watch-ink); }
.dark #page-movies {
    --lg-ink: var(--sol-base2); --lg-muted: var(--sol-base1); --lg-tint-strong: #88badc;
    --lg-surface: rgba(7,54,66,.72); --lg-surface-strong: rgba(7,54,66,.9); --lg-surface-muted: rgba(0,43,54,.48); --lg-field: rgba(0,43,54,.7);
    --lg-hairline: rgba(253,246,227,.14); --lg-hairline-subtle: rgba(253,246,227,.09);
    --lg-tint-soft: rgba(38,139,210,.19); --lg-shadow: 0 12px 28px -14px rgba(0,0,0,.45), inset 0 1px 0 rgba(253,246,227,.06);
    --ctl-bg: rgba(0,43,54,.35); --ctl-bg-active: rgba(38,139,210,.16); --ctl-border: rgba(253,246,227,.16); --ctl-inset: inset 0 1px 0 rgba(253,246,227,.04);
}
#page-movies [hidden] { display: none !important; }
#movie-fab { display: none !important; } /* The collection has an accessible Add a title button. */
#page-movies :is(button,a,input,select) { -webkit-tap-highlight-color: transparent; }
#page-movies :is(button,a,input,select,[tabindex]):focus-visible { outline: 3px solid var(--watch-blue); outline-offset: 4px; }
#movie-catalog-view { max-width: 68rem; margin: 0 auto; padding-bottom: 7rem; }
.watch-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.1rem; padding: 1.15rem 1.3rem; border-radius: var(--lg-radius); border: 1px solid var(--lg-hairline); background: var(--lg-surface); box-shadow: var(--lg-shadow); backdrop-filter: var(--lg-blur); -webkit-backdrop-filter: var(--lg-blur); }
.watch-page-heading h1 { margin: .3rem 0 .25rem; font-size: 1.65rem; line-height: 1.1; font-weight: 850; letter-spacing: -.045em; }
.watch-page-heading h1 > span { display: block; margin-top: .25rem; color: var(--watch-muted); font-size: .76rem; font-weight: 550; letter-spacing: -.01em; }
.watch-page-heading p:not(.watch-eyebrow) { color: var(--watch-muted); font-size: .8rem; line-height: 1.5; }
.watch-eyebrow { display: flex; align-items: center; gap: .4rem; margin: 0; color: var(--watch-accent); font-size: .59rem; font-weight: 800; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.watch-eyebrow svg { width: .9rem; height: .9rem; }

/* Shared Together switch, also used on the player. */
.watch-sync-control { display: flex; align-items: center; gap: .8rem; flex: 0 0 auto; }
.watch-sync-copy { text-align: right; }
.watch-sync-copy strong { display: block; color: var(--watch-ink); font-size: .76rem; font-weight: 750; }
.watch-sync-copy small { display: block; margin-top: .2rem; color: var(--watch-muted); font-size: .65rem; }
.watch-sync-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 2.75rem; flex: 0 0 auto; padding: .5rem .7rem; border: 1px solid var(--ctl-border); border-radius: 999px; background: var(--ctl-bg); box-shadow: var(--ctl-inset); color: var(--watch-muted); font-size: .74rem; font-weight: 750; transition: background .18s ease, color .18s ease; }
.watch-sync-toggle svg { width: 1rem; height: 1rem; }
.watch-sync-track { position: relative; display: inline-block; width: 2.1rem; height: 1.22rem; flex: 0 0 auto; border-radius: 999px; background: color-mix(in srgb, var(--watch-muted) 30%, transparent); transition: background .18s ease; }
.watch-sync-track::after { content: ''; position: absolute; left: .16rem; top: .16rem; width: .9rem; height: .9rem; border-radius: 50%; background: var(--sol-base3); box-shadow: 0 1px 3px rgba(0,43,54,.18); transition: transform .18s ease; }
.watch-sync-track > span { display: none; }
.watch-sync-toggle[aria-checked="true"] { color: var(--watch-accent); background: var(--lg-tint-soft); border-color: color-mix(in srgb, var(--watch-blue) 35%, var(--ctl-border)); }
.watch-sync-toggle[aria-checked="true"] .watch-sync-track { background: var(--watch-blue); }
.watch-sync-toggle[aria-checked="true"] .watch-sync-track::after { transform: translateX(.88rem); }
.watch-sync-toggle[disabled] { cursor: wait; opacity: .65; }
#player-sync-toggle { --watch-muted: var(--sol-base1); --watch-accent: #b0d6f1; --watch-blue: var(--sol-blue); --ctl-border: rgba(253,246,227,.17); --ctl-bg: rgba(253,246,227,.08); --ctl-inset: none; }
.watch-player-sync { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin: 0 0 1rem; padding: .75rem .85rem; border: 1px solid rgba(253,246,227,.13); border-radius: .85rem; background: rgba(253,246,227,.04); color: #eee8d5; font-size: .75rem; font-weight: 650; }
.watch-member-list { align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.watch-member { padding: .25rem .55rem; border-radius: 999px; color: #b0d6f1; background: rgba(38,139,210,.16); border: 1px solid rgba(38,139,210,.24); font-size: .6rem; }

/* A compact, image-led daily card with calendar browsing below playback. */
.watch-daily-card { position: relative; overflow: hidden; padding: 1.15rem; margin-bottom: 1.5rem; border: 1px solid var(--lg-hairline); border-radius: var(--lg-radius); background: radial-gradient(ellipse at 100% 0, rgba(181,137,0,.12), transparent 60%), var(--lg-surface-strong); box-shadow: var(--lg-shadow); backdrop-filter: var(--lg-blur); -webkit-backdrop-filter: var(--lg-blur); }
.watch-daily-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: 1rem; padding: 0 .15rem; }
.watch-daily-heading h2 { margin: .25rem 0 0; font-size: 1.05rem; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }
.watch-daily-heading .watch-eyebrow { color: var(--watch-amber); }
.dark .watch-daily-heading .watch-eyebrow { color: #d8b852; }
.watch-daily-date { flex: 0 0 auto; color: var(--watch-ink); font-size: .7rem; font-weight: 750; text-align: right; line-height: 1.5; }
.watch-daily-date span { display: block; font-size: .65rem; color: var(--watch-muted); font-weight: 500; }
.watch-daily-body { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.25fr); align-items: center; gap: 1.25rem; }
.watch-daily-thumb { position: relative; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; padding: 0; border-radius: 1.1rem; background: var(--sol-base02); text-align: left; isolation: isolate; }
.watch-daily-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform .35s ease; }
.watch-daily-thumb::after { content: ''; position: absolute; z-index: 2; inset: 55% 0 0; background: linear-gradient(transparent,rgba(0,43,54,.75)); pointer-events: none; }
.watch-thumb-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; color: #fdf6e3; background: radial-gradient(circle at 70% 0, rgba(181,137,0,.42),transparent 55%), linear-gradient(140deg,#124b74,#073642); }
.watch-thumb-fallback > svg { width: 4.7rem; height: 4.7rem; color: #ead9a3; }
.watch-thumb-fallback > span { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.watch-thumb-unavailable img { display: none; }
.watch-thumb-category { position: absolute; left: .75rem; bottom: .75rem; z-index: 3; padding: .28rem .6rem; border-radius: 999px; color: #fdf6e3; background: rgba(253,246,227,.17); border: 1px solid rgba(253,246,227,.28); font-size: .62rem; font-weight: 750; }
.watch-thumb-play { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; }
.watch-thumb-play svg { width: 2.8rem; height: 2.8rem; padding: .75rem; border-radius: 50%; color: #fdf6e3; background: rgba(0,43,54,.62); border: 1px solid rgba(253,246,227,.4); box-shadow: 0 5px 20px rgba(0,43,54,.2); transition: transform .2s ease, background .2s ease; }
.watch-daily-copy { min-width: 0; padding-right: .2rem; }
.watch-daily-copy h3 { margin: .4rem 0 0; font-size: clamp(1rem,2.2vw,1.4rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.35; overflow-wrap: anywhere; }
.watch-daily-note { margin-top: .5rem; font-size: .74rem; color: var(--watch-muted); line-height: 1.6; }
.watch-daily-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem; margin-top: .9rem; }
#page-movies .watch-daily-actions .btn { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; padding: .7rem 1.15rem; color: var(--sol-base3); background: var(--watch-blue); border: 1px solid transparent; border-radius: 999px; font-size: .76rem; font-weight: 750; box-shadow: 0 5px 14px -5px rgba(var(--sol-blue-rgb),.55); }
.watch-daily-actions .btn svg { width: .85rem; height: .85rem; }
.watch-daily-actions a { display: inline-flex; align-items: center; gap: .25rem; min-height: 2.75rem; color: var(--watch-accent); font-size: .7rem; font-weight: 650; }
.watch-daily-actions a svg { width: .85rem; height: .85rem; }
.watch-rotation { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: .8rem; color: var(--watch-muted); font-size: .61rem; }
.watch-rotation strong { color: var(--watch-ink); font-weight: 750; font-variant-numeric: tabular-nums; }
.watch-rotation progress { width: 3.5rem; height: .25rem; overflow: hidden; border-radius: 999px; border: 0; background: var(--lg-surface-muted); accent-color: var(--watch-amber); }
.watch-rotation progress::-webkit-progress-bar { background: var(--lg-surface-muted); border-radius: 999px; }
.watch-rotation progress::-webkit-progress-value, .watch-rotation progress::-moz-progress-bar { background: var(--watch-amber); border-radius: 999px; }
.watch-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: .35rem; margin: 1.05rem 0 .65rem; padding-top: 1rem; border-top: 1px solid var(--lg-hairline-subtle); }
.watch-week button { min-height: 2.65rem; padding: .45rem .1rem; border: 1px solid transparent; border-radius: .8rem; color: var(--watch-muted); background: transparent; box-shadow: none; }
.watch-week button strong { display: block; font-size: .67rem; font-weight: 750; }
.watch-week button span { display: block; margin-top: .18rem; font-size: .56rem; }
.watch-week button[aria-current] { color: var(--watch-accent); background: var(--lg-tint-soft); border-color: color-mix(in srgb,var(--watch-blue) 22%,transparent); box-shadow: var(--ctl-inset); }
.watch-daily-footer { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: 0 .15rem; color: var(--watch-muted); font-size: .64rem; line-height: 1.5; }
.watch-text-button { min-height: 2.25rem; padding: .4rem 0; color: var(--watch-accent); font-size: .68rem; font-weight: 750; white-space: nowrap; }

/* Collection tabs and fields match the app's quiet control material. */
.watch-tabs { display: inline-flex; gap: .3rem; max-width: 100%; margin: 0 0 1rem; padding: .3rem; border-radius: 999px; border: 1px solid var(--ctl-border); background: var(--ctl-bg); box-shadow: var(--ctl-inset); }
.watch-tabs button { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.6rem; padding: .6rem 1.1rem; border-radius: 999px; border: 1px solid transparent; color: var(--watch-muted); font-size: .78rem; font-weight: 650; white-space: nowrap; transition: color .18s ease, background .18s ease; }
.watch-tabs button[aria-selected="true"] { color: var(--watch-accent); background: var(--lg-tint-soft); border-color: color-mix(in srgb,var(--watch-blue) 22%,transparent); font-weight: 800; }
.watch-tabs span { padding: .12rem .4rem; border-radius: 999px; color: inherit; background: color-mix(in srgb,var(--watch-muted) 12%,transparent); font-size: .6rem; font-weight: 750; }
.watch-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.watch-toolbar label { min-width: 0; }
.watch-search { position: relative; flex: 1 1 15rem; }
.watch-search::before { content: ''; position: absolute; z-index: 1; left: 1rem; top: 50%; width: .65rem; height: .65rem; border: 1.6px solid var(--watch-muted); border-radius: 50%; transform: translateY(-65%); pointer-events: none; }
.watch-search::after { content: ''; position: absolute; z-index: 1; left: 1.65rem; top: 55%; width: .34rem; height: 1.6px; background: var(--watch-muted); transform: rotate(45deg); transform-origin: left; pointer-events: none; }
.watch-toolbar input, .watch-toolbar select { width: 100%; min-height: 2.75rem; padding: .65rem .85rem; border: 1px solid var(--ctl-border); border-radius: var(--ctl-radius); color: var(--watch-ink); background: var(--lg-field); box-shadow: var(--ctl-inset); font-size: .76rem; font-weight: 650; }
.watch-toolbar input { padding-left: 2.4rem; font-size: .85rem; font-weight: 500; }
.watch-toolbar input::placeholder { color: var(--watch-muted); opacity: .85; }
.watch-toolbar select { cursor: pointer; }
.watch-results { margin: .95rem .2rem .8rem; color: var(--watch-muted); font-size: .69rem; font-weight: 650; }
.watch-library-note { margin: -.35rem .2rem 1rem; color: var(--watch-muted); font-size: .7rem; line-height: 1.6; }
.watch-collection-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: .15rem .2rem 1rem; }
.watch-collection-heading h2 { color: var(--watch-ink); font-size: 1.15rem; font-weight: 850; letter-spacing: -.03em; }
.watch-collection-heading p { margin-top: .2rem; color: var(--watch-muted); font-size: .7rem; }
.watch-add-button { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; padding: .6rem .9rem; border: 1px solid var(--ctl-border); border-radius: 999px; background: var(--ctl-bg); box-shadow: var(--ctl-inset); color: var(--watch-accent); font-size: .73rem; font-weight: 750; }
.watch-add-button svg { width: .9rem; height: .9rem; }

/* Poster cards retain readable details on cream glass. */
.watch-movie-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.watch-movie-card { position: relative; min-width: 0; border: 1px solid var(--lg-hairline); border-radius: 1.1rem; background: var(--lg-surface); overflow: hidden; box-shadow: 0 2px 3px rgba(0,43,54,.06),0 9px 24px -14px rgba(0,43,54,.3); transition: transform .2s ease, box-shadow .2s ease; }
.watch-card-open { display: block; width: 100%; padding: 0; color: inherit; text-align: left; }
#page-movies .watch-card-open:focus-visible { outline-offset: -4px; border-radius: 1.1rem; }
#page-movies .watch-link-visual:focus-visible, #page-movies .watch-daily-thumb:focus-visible { outline-offset: -4px; }
.watch-poster { position: relative; display: block; width: 100%; aspect-ratio: 2/3; overflow: hidden; isolation: isolate; background: var(--sol-base02); }
.watch-poster::after { content: ''; position: absolute; z-index: 1; inset: 70% 0 0; background: linear-gradient(transparent,rgba(0,43,54,.4)); pointer-events: none; }
.watch-poster > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform .35s ease; }
.watch-poster-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.2rem 1.2rem 1.5rem; color: #fdf6e3; background: radial-gradient(ellipse at 100% 5%,color-mix(in srgb,var(--watch-poster-accent,var(--sol-blue)) 66%,transparent),transparent 65%),linear-gradient(140deg,#073642,#002b36); }
.watch-poster-art { position: absolute; inset: 0; width: 100%; height: 100%; color: #fdf6e3; }
.watch-poster-play { position: absolute; z-index: 2; right: .7rem; bottom: .7rem; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid rgba(253,246,227,.32); border-radius: 50%; color: #fdf6e3; background: rgba(0,43,54,.6); opacity: 0; transform: translateY(5px); transition: opacity .18s ease, transform .18s ease; }
.watch-poster-badge { position: absolute; z-index: 2; top: .7rem; left: .7rem; padding: .3rem .55rem; border: 1px solid rgba(253,246,227,.24); border-radius: 999px; color: #fdf6e3; background: rgba(0,43,54,.7); font-size: .55rem; font-weight: 750; }
.watch-movie-type { display: inline-flex; align-items: center; padding: .18rem .35rem; border-radius: .3rem; color: var(--watch-accent); background: var(--lg-tint-soft); font-size: .5rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.watch-movie-rating { display: inline-flex; align-items: center; gap: .2rem; font-size: .65rem; font-weight: 750; white-space: nowrap; color: var(--watch-muted); }
.watch-movie-rating svg { width: .75rem; height: .75rem; color: var(--watch-amber); }
.watch-poster .watch-movie-rating { position: absolute; z-index: 2; right: .65rem; bottom: .65rem; padding: .35rem .55rem; color: #fdf6e3; background: rgba(0,43,54,.76); border-radius: 999px; }
.watch-poster .watch-movie-rating svg { color: #e5c15a; }
.watch-movie-info { display: block; padding: .8rem .85rem .9rem; min-height: 5.2rem; }
.watch-movie-info h3 { margin: 0; font-size: .8rem; line-height: 1.4; font-weight: 800; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-movie-info p { margin-top: .35rem; font-size: .65rem; color: var(--watch-muted); line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-movie-title { display: block; margin: 0; font-size: .8rem; line-height: 1.4; font-weight: 800; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-movie-description { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: .25rem; color: var(--watch-muted); font-size: .64rem; line-height: 1.5; }
.watch-movie-meta { display: flex; align-items: center; gap: .4rem; margin-top: .55rem; color: var(--watch-muted); font-size: .58rem; }
.watch-movie-meta > span:not(.watch-movie-type):not(.watch-movie-rating) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-movie-meta .watch-movie-rating { margin-left: auto; }
.watch-poster-kicker { position: relative; z-index: 1; font-size: .55rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; opacity: .75; }
.watch-poster-title { position: relative; z-index: 1; margin-top: .55rem; font-size: clamp(1rem,2.4vw,1.5rem); font-weight: 850; line-height: 1.1; letter-spacing: -.05em; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.watch-card-edit { position: absolute; z-index: 3; top: .5rem; right: .5rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; color: #fdf6e3; background: rgba(0,43,54,.65); border: 1px solid rgba(253,246,227,.25); border-radius: 50%; }
.watch-card-edit svg { width: .95rem; height: .95rem; }
.watch-card-edit:active { transform: scale(.92); }

/* Image-led library cards have one playback action per session. */
.watch-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.watch-link-item { min-width: 0; overflow: hidden; border: 1px solid var(--lg-hairline); border-radius: 1.1rem; background: var(--lg-surface); box-shadow: 0 2px 3px rgba(0,43,54,.04),0 10px 22px -17px rgba(0,43,54,.25); }
.watch-link-visual { position: relative; display: block; width: 100%; padding: 0; aspect-ratio: 16/9; overflow: hidden; isolation: isolate; background: var(--sol-base02); }
.watch-link-visual img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.watch-link-visual .watch-thumb-play { opacity: 0; transition: opacity .18s ease; }
.watch-link-visual .watch-thumb-play svg { width: 2.5rem; height: 2.5rem; padding: .68rem; }
.watch-link-copy { padding: .85rem .9rem .5rem; }
.watch-link-meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .6rem; font-weight: 650; color: var(--watch-muted); line-height: 1.5; }
.watch-link-category { padding: .2rem .45rem; border-radius: 999px; background: rgba(181,137,0,.1); color: #7d5f00; font-size: .55rem; font-weight: 750; }
.dark .watch-link-category { color: #e1c36b; background: rgba(181,137,0,.19); }
.watch-link-item h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.75rem; margin: .55rem 0 .25rem; color: var(--watch-ink); font-size: .82rem; font-weight: 750; letter-spacing: -.015em; line-height: 1.5; overflow-wrap: anywhere; }
.watch-link-date { color: var(--watch-muted); font-size: .6rem; }
.watch-link-actions { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: .4rem; padding-top: .3rem; border-top: 1px solid var(--lg-hairline-subtle); }
.watch-link-actions button, .watch-link-actions a { display: inline-flex; align-items: center; gap: .35rem; min-height: 2.75rem; padding: .35rem 0; color: var(--watch-accent); font-size: .7rem; font-weight: 750; }
.watch-link-actions svg { width: .8rem; height: .8rem; }
.watch-link-actions a { color: var(--watch-muted); font-weight: 600; }
.watch-empty { grid-column: 1/-1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; min-height: 12rem; padding: 2rem 1rem; border-radius: var(--lg-radius); border: 1px dashed var(--lg-hairline-subtle); background: var(--lg-surface-muted); color: var(--watch-muted); text-align: center; font-size: .85rem; line-height: 1.6; }
.watch-empty strong { font-size: 1rem; color: var(--watch-ink); font-weight: 800; }
.watch-empty svg { width: 2rem; height: 2rem; margin-bottom: .25rem; color: var(--watch-accent); }

@media (hover: hover) and (pointer: fine) {
    .watch-movie-card:hover { transform: translateY(-4px); box-shadow: 0 7px 12px -6px rgba(0,43,54,.12),0 20px 35px -18px rgba(0,43,54,.28); }
    .watch-movie-card:hover .watch-poster > img, .watch-link-visual:hover img, .watch-daily-thumb:hover img { transform: scale(1.035); }
    .watch-movie-card:hover .watch-poster-play, .watch-card-open:focus-visible .watch-poster-play { opacity: 1; transform: translateY(0); }
    .watch-daily-thumb:hover .watch-thumb-play svg { transform: scale(1.08); background: rgba(38,139,210,.85); }
    .watch-link-visual:hover .watch-thumb-play, .watch-link-visual:focus-visible .watch-thumb-play { opacity: 1; }
    .watch-week button:hover:not([aria-current]), .watch-tabs button:hover:not([aria-selected="true"]) { background: var(--ctl-bg-active); }
}
@media (max-width: 1000px) { .watch-movie-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .watch-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .watch-daily-body { gap: 1rem; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); } }
@media (max-width: 700px) {
    .watch-page-heading { padding: 1rem; } .watch-page-heading h1 { font-size: 1.5rem; }
    .watch-page-heading .watch-eyebrow { max-width: 13rem; font-size: .52rem; line-height: 1.5; }
    .watch-page-heading p:not(.watch-eyebrow) { max-width: 13rem; font-size: .7rem; }
    .watch-sync-control { flex-direction: column; align-items: flex-end; gap: .4rem; }
    .watch-sync-copy strong { font-size: .62rem; } .watch-sync-copy small { display: none; }
    .watch-sync-toggle { gap: .45rem; padding: .5rem .6rem; font-size: .65rem; }
    .watch-daily-card { padding: 1rem; margin-bottom: 1.1rem; } .watch-daily-heading { margin-bottom: .8rem; gap: .5rem; }
    .watch-daily-heading h2 { font-size: .95rem; } .watch-daily-date { font-size: .64rem; } .watch-daily-date span { font-size: .56rem; }
    .watch-daily-body { grid-template-columns: minmax(0,1fr); gap: .9rem; } .watch-daily-thumb { aspect-ratio: 16/8; }
    .watch-daily-copy h3 { font-size: 1.13rem; } .watch-daily-note { font-size: .71rem; } .watch-daily-actions { margin-top: .7rem; } .watch-rotation { margin-top: .65rem; }
    .watch-week { gap: .15rem; padding-top: .75rem; margin-top: .9rem; } .watch-week button strong { font-size: .61rem; } .watch-week button span { font-size: .5rem; }
    .watch-daily-footer > span { font-size: .59rem; max-width: 55%; } .watch-daily-footer .watch-text-button { font-size: .63rem; }
    .watch-tabs { display: flex; } .watch-tabs button { flex: 1 1 auto; padding: .55rem .65rem; font-size: .72rem; }
    .watch-toolbar { gap: .5rem; } .watch-toolbar .watch-search { flex-basis: 100%; } .watch-toolbar label:not(.watch-search) { flex: 1 1 0; } .watch-toolbar input { font-size: 1rem; }
    .watch-movie-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
    .watch-movie-info { padding: .7rem .75rem .8rem; min-height: 5.1rem; } .watch-movie-info h3, .watch-movie-title { font-size: .74rem; } .watch-movie-info p, .watch-movie-description { font-size: .59rem; }
    .watch-movie-meta { gap: .3rem; font-size: .53rem; } .watch-movie-rating { font-size: .59rem; }
    .watch-poster-fallback { padding: .9rem; } .watch-poster-fallback strong, .watch-poster-title { font-size: 1.1rem; }
    .watch-link-grid { gap: .8rem; } .watch-link-copy { padding: .75rem .7rem .35rem; }
    .watch-link-item h3 { min-height: 3.15rem; -webkit-line-clamp: 3; font-size: .74rem; line-height: 1.42; }
    .watch-link-meta { gap: .2rem; font-size: .54rem; } .watch-link-category { font-size: .49rem; }
    .watch-link-actions button, .watch-link-actions a { font-size: .64rem; } .watch-link-actions svg { width: .7rem; height: .7rem; }
}
@media (max-width: 390px) {
    .watch-page-heading { gap: .5rem; padding: .9rem; } .watch-sync-toggle > svg { display: none; } .watch-sync-toggle { gap: .35rem; } .watch-daily-footer { gap: .5rem; }
    .watch-link-grid { grid-template-columns: minmax(0,1fr); } .watch-link-item { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
    .watch-link-visual { aspect-ratio: auto; height: 100%; min-height: 9.5rem; } .watch-link-item h3 { min-height: 0; } .watch-link-copy { padding: .8rem; }
}
@media (prefers-reduced-motion: reduce) { #page-movies *, #player-sync-toggle { transition: none !important; } .watch-movie-card:hover, .watch-daily-thumb:hover img, .watch-link-visual:hover img { transform: none; } }
