.hhtv-tools-launch{min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);font:500 13px Inter,sans-serif;cursor:pointer}.hhtv-tools-admin{background:var(--accent);color:#15140f;border-color:var(--accent-deep)}.hhtv-tools{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--border);border-radius:18px;background:var(--bg);color:var(--text);box-shadow:0 24px 80px #0004}.hhtv-tools::backdrop{background:#0006;backdrop-filter:blur(4px)}.hhtv-tools>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:16px;padding:18px 20px 12px;background:var(--paper);border-bottom:1px solid var(--border)}.hhtv-tools h2,.hhtv-tools h3{margin:0;font-family:'DM Serif Display',Georgia,serif}.hhtv-tools h2{font-size:28px}.hhtv-tools h3{font-size:21px}.hhtv-tools-note,.hhtv-tools-copy,.hhtv-empty{color:var(--text-soft);line-height:1.45}.hhtv-tools-note{margin:4px 0 0;font-size:12px}.hhtv-tools-body{padding:20px;overflow:auto;max-height:calc(100dvh - 104px)}.hhtv-tools section+section{margin-top:28px}.hhtv-loading{color:var(--text-soft)}.hhtv-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.hhtv-stat{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.hhtv-stat small,.hhtv-stat span,.hhtv-plain-list small{display:block;color:var(--text-soft);font-size:12px}.hhtv-stat strong{display:block;margin:4px 0;font-size:20px}.hhtv-health{display:flex;flex-wrap:wrap;gap:8px}.hhtv-health span,.hhtv-pipeline,.hhtv-current{padding:5px 8px;border-radius:99px;font-size:12px}.hhtv-health .ok{background:#dff4df;color:#164b1c}.hhtv-health .bad{background:#f9dddd;color:#742020}.hhtv-progress,.hhtv-film-list i{display:block;height:8px;background:var(--border-soft);border-radius:99px;overflow:hidden}.hhtv-progress b,.hhtv-film-list i b{display:block;height:100%;background:var(--accent-deep)}.hhtv-plain-list,.hhtv-film-list,.hhtv-film-admin{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.hhtv-plain-list li,.hhtv-film-admin li{padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.hhtv-plain-list p{margin:5px 0}.hhtv-film-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.hhtv-film-list button,.hhtv-film-admin button{border:0;background:none;color:var(--text);cursor:pointer;text-align:left}.hhtv-film-list button{display:flex;gap:10px;width:100%;align-items:center}.hhtv-film-list img,.hhtv-cover{width:64px;height:40px;border-radius:5px;object-fit:cover;background:var(--border-soft)}.hhtv-film-list strong,.hhtv-film-list small{display:block}.hhtv-film-list i{margin-top:5px;width:110px;height:5px}.hhtv-your-hero{display:flex;align-items:center;gap:12px}.hhtv-your-hero p{margin:0;color:var(--text-soft);font-size:12px}.hhtv-your-hero h3{font-size:26px}.hhtv-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--text);color:var(--bg);font:600 22px Inter,sans-serif}.hhtv-mini{float:right;min-height:32px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer}.hhtv-current{float:right;background:var(--border-soft)}.hhtv-tools textarea,.hhtv-tools select,.hhtv-tools input[type=datetime-local]{width:100%;margin:8px 0;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit}.hhtv-form-note{margin-left:10px;color:var(--text-soft);font-size:13px}.hhtv-announce fieldset{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:10px}.hhtv-recipient{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;width:100%}.hhtv-preview{padding:12px;border-radius:10px;background:var(--paper)}.hhtv-preview p{line-height:1.5}.hhtv-film-admin li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.hhtv-film-admin li>button:first-child{display:flex;justify-content:space-between;gap:12px}.hhtv-film-admin small{display:block;color:var(--text-soft)}.hhtv-pipeline{background:var(--border-soft);text-transform:capitalize}.hhtv-pipeline.live,.hhtv-pipeline.ready{background:#dff4df;color:#164b1c}@media(max-width:680px){.hhtv-tools{width:100%;max-height:calc(100dvh - 8px);margin:auto auto 0;border-radius:18px 18px 0 0}.hhtv-tools-body{padding:16px;max-height:calc(100dvh - 95px)}.hhtv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hhtv-tools-launch{order:2;min-height:34px;font-size:12px}.hhtv-film-admin li>button:first-child{display:block}}
.hhtv-preview p{overflow-wrap:anywhere}
.hhtv-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* WP3b: film pipeline, people and activity. */
.hhtv-tools .hhtv-mini{min-height:40px}.hhtv-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hhtv-section-head>small{color:var(--text-soft)}
.hhtv-stage-counts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0}.hhtv-stage-counts span{min-width:0;padding:9px 6px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-soft);font-size:11px;text-align:center;overflow-wrap:anywhere}.hhtv-stage-counts b{display:block;margin-bottom:3px;color:var(--text);font-size:20px}
.hhtv-plain-list .hhtv-link{width:100%;min-height:40px;text-align:left;white-space:normal}
.hhtv-film-bar{display:flex;width:100%;height:12px;overflow:hidden;border-radius:999px;background:var(--border-soft)}.hhtv-film-bar i{display:block;height:100%;min-width:2px}.hhtv-film-bar .is-live{background:#58a566}.hhtv-film-bar .is-encoding{background:#7b74d6}.hhtv-film-bar .is-uploading{background:#4a8ec2}.hhtv-film-bar .is-waiting{background:#d2a84c}.hhtv-film-bar .is-failed{background:var(--danger)}
.hhtv-film-queue{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.hhtv-film-queue p{min-width:0;margin:0;padding:10px;border-radius:9px;background:var(--paper)}.hhtv-film-queue strong,.hhtv-film-queue span{display:block}.hhtv-film-queue strong{margin-bottom:3px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}.hhtv-film-queue span{overflow-wrap:anywhere}
.hhtv-segments{display:inline-flex;max-width:100%;margin:12px 0;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--paper)}.hhtv-segments button{min-height:40px;padding:0 13px;border:0;border-radius:9px;background:none;color:var(--text-soft);font:500 13px Inter,sans-serif;cursor:pointer;white-space:nowrap}.hhtv-segments button[aria-pressed=true]{background:var(--text);color:var(--bg)}
.hhtv-film-pipeline{list-style:none;margin:0;padding:0;display:grid;gap:9px}.hhtv-film-row{min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.hhtv-film-info{display:flex;min-width:0;gap:12px}.hhtv-film-info>img,.hhtv-film-cover{flex:none;width:112px;height:63px;border-radius:7px;object-fit:cover;background:var(--border-soft)}.hhtv-film-copy{min-width:0;flex:1}.hhtv-film-copy>div{display:flex;align-items:baseline;gap:8px;min-width:0}.hhtv-film-copy h4{min-width:0;margin:0;font-size:16px;overflow-wrap:anywhere}.hhtv-film-copy small{color:var(--text-soft)}.hhtv-stage-chip{display:inline-block;max-width:100%;margin-top:6px;padding:4px 8px;border-radius:99px;background:var(--border-soft);font-size:12px;overflow-wrap:anywhere}.hhtv-stage-chip.is-live{background:#dff4df;color:#164b1c}.hhtv-stage-chip.is-failed{border-radius:7px;background:#f9dddd;color:#742020}.hhtv-stage-chip.is-encoding{background:#e5e2ff;color:#352d87}.hhtv-stage-chip.is-not-for-family{background:var(--paper);color:var(--text-soft)}.hhtv-film-missing{margin:7px 0 0;color:#8a5514;font-size:12px}.hhtv-film-meta{margin:5px 0 0;color:var(--text-soft);font-size:12px}.hhtv-film-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-top:10px}.hhtv-film-actions .is-warning{max-width:260px;border-color:var(--danger);color:var(--danger);white-space:normal;line-height:1.2}.hhtv-row-error{margin:8px 0 0;color:var(--danger);font-size:13px;overflow-wrap:anywhere}
.hhtv-people-overview>ul,.hhtv-activity>ol{list-style:none;margin:10px 0 0;padding:0}.hhtv-people-head,.hhtv-people-overview li>button{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(5,minmax(76px,1fr));gap:10px;align-items:center}.hhtv-people-head{padding:0 12px 7px;color:var(--text-soft);font-size:11px}.hhtv-people-overview li{border-top:1px solid var(--border-soft)}.hhtv-people-overview li>button{width:100%;min-height:52px;padding:9px 12px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.hhtv-people-overview li>button:hover{background:var(--paper)}.hhtv-person-name{min-width:0}.hhtv-person-name strong,.hhtv-person-name small{display:block;overflow-wrap:anywhere}.hhtv-person-name small{color:var(--text-soft);font-size:11px}.hhtv-person-status{display:inline-block;padding:4px 7px;border-radius:99px;background:#dff4df;color:#164b1c;font-size:11px;font-style:normal}.hhtv-person-status.is-invited{background:#fff0c8;color:#6d4a00}.hhtv-person-status.is-off{background:var(--border-soft);color:var(--text-soft)}
.hhtv-activity li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 0;border-top:1px solid var(--border-soft)}.hhtv-activity-kind{display:inline-block;width:max-content;max-width:90px;padding:4px 7px;border-radius:99px;background:var(--border-soft);font-size:11px;overflow-wrap:anywhere}.hhtv-activity p{margin:1px 0 4px;overflow-wrap:anywhere}.hhtv-activity small{display:block;color:var(--text-soft);font-size:11px}.hhtv-activity time{color:var(--text-soft);font-size:11px;white-space:nowrap}.hhtv-activity .hhtv-link{min-height:40px;text-align:left}
.hhtv-avatar{position:relative;overflow:hidden}.hhtv-avatar>[data-face-fallback],.hhtv-avatar>img{grid-area:1/1;width:100%;height:100%}.hhtv-avatar>[data-face-fallback]{display:grid;place-items:center}.hhtv-avatar>img{display:block;object-fit:cover}
@media(max-width:680px){.hhtv-tools-launch{min-height:40px}.hhtv-stage-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.hhtv-film-queue{grid-template-columns:1fr}.hhtv-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.hhtv-segments button{padding:0 5px;font-size:11px;white-space:normal}.hhtv-film-info>img,.hhtv-film-cover{width:88px;height:50px}.hhtv-film-actions{justify-content:flex-start}.hhtv-people-head{display:none}.hhtv-people-overview li{padding:9px 0}.hhtv-people-overview li>button{grid-template-columns:1fr 1fr;gap:7px 12px;padding:8px 4px}.hhtv-people-overview li>button>span{min-width:0}.hhtv-people-overview li>button>span:not(.hhtv-person-name)::before{content:attr(data-label);display:block;color:var(--text-soft);font-size:12px}.hhtv-person-name{grid-column:1/-1}.hhtv-activity li{grid-template-columns:minmax(0,1fr) auto}.hhtv-activity-kind{grid-column:1}.hhtv-activity li>div{grid-column:1/-1;grid-row:2}.hhtv-activity time{grid-column:2;grid-row:1}.hhtv-tools-body{overflow-x:hidden}}
.hhtv-film-note{align-self:center;color:var(--text-soft);font-size:12px}.hhtv-row-note{margin:8px 0 0;color:var(--text-soft);font-size:13px;overflow-wrap:anywhere}.hhtv-activity-text{display:block;text-align:left;font:inherit;line-height:1.4;overflow-wrap:anywhere}
/* Your profile (#you): a page of its own. Side menu on wide screens; on phones a menu, then one section per page. */
a.hhtv-me{text-decoration:none}
.hhtv-me-dot{overflow:hidden}.hhtv-me-dot img{width:100%;height:100%;object-fit:cover;display:block}
.hhtv-profile{min-height:100dvh;background:var(--bg);color:var(--text)}
.hhtv-profile[hidden]{display:none}
.hhtv-profile a{color:var(--text)}
.hhtv-profile :focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
body.dark .hhtv-profile :focus-visible{outline-color:var(--accent)}
.hhtv-icon{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hhtv-profile-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 24px 10px;background:var(--bg);border-bottom:1px solid var(--border)}
.hhtv-profile-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px 0 0;text-decoration:none;font:500 15px Inter,sans-serif}
.hhtv-profile-back span{font-size:24px;line-height:1}
.hhtv-profile-mark{display:inline-flex;align-items:center;gap:9px;font:400 22px 'DM Serif Display',Georgia,serif;text-decoration:none}
.hhtv-profile-mark .fv-logo{width:36px;height:36px;flex:none}
.hhtv-profile-mark>span{white-space:nowrap}.hhtv-profile-mark i{font-style:italic}
.hhtv-profile-top-actions{display:flex;align-items:center;gap:10px}
/* Page title in the bar: hidden until the page's own heading scrolls under it. */
.hhtv-profile-top-title{position:absolute;left:50%;top:50%;max-width:calc(100% - 480px);margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 20px/1.2 'DM Serif Display',Georgia,serif;color:var(--text);opacity:0;transform:translate(-50%,calc(-50% + 4px));transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.hhtv-profile-top.is-titled .hhtv-profile-top-title{opacity:1;transform:translate(-50%,-50%)}
/* One button size across the profile and admin pages (the sign-in screen's
   50px/15px stays there; the pairing code below is the one deliberate big button). */
.hhtv-profile .hhtv-button{min-height:44px;font-size:14px}
/* Security: its sections sit in one host, so give them the page's own spacing;
   on a phone the Add a passkey button goes under the heading, full width. */
#hhtv-admin-security{display:flex;flex-direction:column;gap:36px;min-width:0}
@media(max-width:760px){#hhtv-admin-security{gap:22px}#hhtv-admin-security .hhtv-section-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}#hhtv-admin-security .hhtv-section-head>.hhtv-button{width:100%}}
/* Manage films on a phone: the pulse label wraps under the title instead of
   running off the card; a status chip that wraps is a rounded box, not a blob;
   the stage circles keep dark numbers on their pastel fills in dark mode. */
.hhtv-film-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:12px;row-gap:4px}
.hhtv-film-journey-strip li:is(.is-uploading,.is-encoding,.is-live)>b{color:#15140f}
@media(max-width:760px){.hhtv-stage-chip{border-radius:9px;line-height:1.35}}
/* Notifications bell: a red count that sits on the bell's corner with a ring of
   header colour, and a panel where each notification opens or is dismissed. */
.hhtv-admin-notifications{position:relative}
.hhtv-admin-notifications>summary{list-style:none;cursor:pointer}.hhtv-admin-notifications>summary::-webkit-details-marker{display:none}
.hhtv-admin-bell{position:relative;display:grid;place-items:center;width:40px;height:40px;box-sizing:border-box;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);text-decoration:none;transition:background-color .15s,border-color .15s}
.hhtv-admin-bell:hover,.hhtv-admin-notifications[open]>.hhtv-admin-bell{background:var(--paper);border-color:var(--text-soft)}
.hhtv-bell-badge{position:absolute;top:-6px;right:-7px;box-sizing:border-box;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;box-shadow:0 0 0 2px var(--bg);font:700 11px/20px Inter,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.hhtv-bell-badge.is-new{animation:hhtv-badge-in .28s cubic-bezier(.2,1.4,.4,1)}@keyframes hhtv-badge-in{from{transform:scale(.4);opacity:0}}}
.hhtv-notify-panel{position:absolute;right:-8px;top:calc(100% + 10px);z-index:60;display:flex;flex-direction:column;width:min(370px,calc(100vw - 24px));max-height:min(70vh,540px);box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 18px 44px rgb(0 0 0/.18);overflow:hidden}
.hhtv-notify-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:6px 8px 6px 16px;border-bottom:1px solid var(--border-soft)}
.hhtv-notify-head h2{margin:0;font:400 20px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-notify-all{min-height:36px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--text-soft);font:500 13px Inter,sans-serif;cursor:pointer}.hhtv-notify-all:hover{background:var(--paper);color:var(--text)}
.hhtv-notify-list{margin:0;padding:6px;list-style:none;overflow-y:auto;overscroll-behavior:contain}
.hhtv-notify{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:10px}.hhtv-notify+.hhtv-notify{margin-top:2px}
.hhtv-notify:hover,.hhtv-notify:focus-within{background:var(--paper)}
.hhtv-notify-open{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:58px;padding:8px 4px 8px 8px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.hhtv-notify-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);color:var(--text-soft)}.hhtv-notify:hover .hhtv-notify-icon{background:var(--surface)}
.hhtv-notify-icon .hhtv-line-icon{width:17px;height:17px}
.hhtv-notify.is-upload .hhtv-notify-icon{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}
.hhtv-notify-text strong{display:block;font:500 14px/1.35 Inter,sans-serif;color:var(--text)}
.hhtv-notify-text small{display:block;margin-top:2px;font:400 12px/1.3 Inter,sans-serif;color:var(--text-soft)}
.hhtv-notify-dismiss{display:grid;place-items:center;width:36px;height:36px;margin-right:4px;border:0;border-radius:8px;background:none;color:var(--text-soft);cursor:pointer;opacity:.55;transition:opacity .15s}
.hhtv-notify:hover .hhtv-notify-dismiss,.hhtv-notify-dismiss:focus-visible{opacity:1}.hhtv-notify-dismiss:hover{background:var(--surface);color:var(--text)}
.hhtv-notify-dismiss .hhtv-line-icon{width:16px;height:16px}
@media (hover:none){.hhtv-notify-dismiss{opacity:1}}
.hhtv-notify-empty{display:flex;align-items:center;gap:10px;margin:0;padding:20px 16px;color:var(--text-soft);font:400 14px Inter,sans-serif}.hhtv-notify-empty .hhtv-line-icon{width:18px;height:18px;color:#26713a}
body.dark .hhtv-notify-empty .hhtv-line-icon{color:#6fc27f}
@media (max-width:760px){.hhtv-notify-panel{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 54px);width:auto}.hhtv-bell-badge{top:-5px;right:-6px}}
.hhtv-line-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.hhtv-profile-layout{display:flex;min-height:calc(100dvh - 65px)}
.hhtv-profile-nav{position:sticky;top:65px;align-self:flex-start;flex:none;width:264px;box-sizing:border-box;height:calc(100dvh - 65px);overflow:auto;padding:22px 16px;border-right:1px solid var(--border);background:var(--paper);display:flex;flex-direction:column;gap:2px}
.hhtv-nav-group h2{margin:18px 12px 6px;font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.hhtv-nav-group:first-child h2{margin-top:0}
.hhtv-nav-item{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:400 14px Inter,sans-serif;text-decoration:none;text-align:left;cursor:pointer}
.hhtv-nav-item:hover{background:var(--border-soft)}
.hhtv-nav-item>.hhtv-icon{color:var(--text-soft)}
.hhtv-nav-item>span{flex:1}
.hhtv-nav-item small{min-width:22px;padding:2px 6px;border-radius:99px;background:var(--border-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-soft);text-align:center;box-sizing:border-box}
.hhtv-nav-item[aria-current=page]{background:var(--surface);font-weight:600;box-shadow:0 1px 0 var(--border),0 0 0 1px var(--border-soft)}
.hhtv-nav-item[aria-current=page]>.hhtv-icon{color:var(--text)}
.hhtv-nav-item[aria-current=page] small{background:var(--accent);color:#15140f}
.hhtv-nav-item.hhtv-danger,.hhtv-nav-item.hhtv-danger>.hhtv-icon{color:var(--danger)}
.hhtv-profile-nav>.hhtv-danger{margin-top:auto}
.hhtv-nav-item small.is-alert,.hhtv-nav-item[aria-current=page] small.is-alert{background:#15140f;color:var(--accent)}
.hhtv-admin-nav-card{margin-top:auto;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.hhtv-admin-nav-card>div:first-child{display:flex;gap:9px;align-items:flex-start}.hhtv-admin-nav-lock{color:#26713a}.hhtv-admin-nav-card strong,.hhtv-admin-nav-card small{display:block}.hhtv-admin-nav-card strong{font:600 13px Inter,sans-serif}.hhtv-admin-nav-card small{margin-top:4px;color:var(--text-soft);font:400 11px/1.35 Inter,sans-serif}
.hhtv-admin-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.hhtv-admin-nav-actions>*{display:grid;place-items:center;min-height:36px;padding:0 7px;border:1px solid var(--border);border-radius:9px;background:var(--paper);color:var(--text);font:500 11px Inter,sans-serif;text-decoration:none;cursor:pointer}
.hhtv-profile-nav>.hhtv-admin-nav-card~.hhtv-danger{margin-top:8px}
.hhtv-profile-main{--page-top:28px;--page-x:48px;position:relative;container:hhtv-page/inline-size;flex:1;min-width:0;max-width:1180px;box-sizing:border-box;padding:var(--page-top) var(--page-x) 72px;display:flex;flex-direction:column;gap:36px;outline:none}
/* The content area takes focus when you change section (for the skip link and screen readers). It is not a control, so it gets no ring: the green line down the right of Your films and Settings was this outline. */
.hhtv-profile .hhtv-profile-main:is(:focus,:focus-visible){outline:none}
.hhtv-profile-main.is-wide{max-width:none}
.hhtv-profile-main.is-narrow{max-width:808px}
.hhtv-profile-main section{margin:0}
/* One page head everywhere: title, one-line subtitle, 22px to what follows
   (16px on phones). Tabs come next, on their own row, left-aligned.
   The page's main control (period, New announcement, New message, Add person)
   sits on the title line once the page is wide enough; below that it stays in
   its own row. It's only moved visually, so its module's handlers still work. */
.hhtv-page-head{display:flex;flex-direction:column;gap:6px;margin-bottom:-14px}
/* Tabs placed straight in the page (Watching, Favourites' sort) sit 16px above their content too. */
.hhtv-profile-main>.hhtv-segments+*{margin-top:-20px}
.hhtv-profile-main>.hhtv-segments+*>:first-child{margin-top:0}
@media(max-width:760px){.hhtv-profile-main>.hhtv-segments+*{margin-top:-6px}}
@container hhtv-page (min-width:720px){
  .hhtv-head-action{position:absolute;z-index:1;top:calc(var(--page-top) + 21px);right:var(--page-x);transform:translateY(-50%);margin:0!important;width:auto!important}
  .hhtv-overview-toolbar{display:contents}
  #hhtv-admin-embed .fv-people-v2{position:static} /* so Add person lines up with the title, not this box */
}
.hhtv-page-head p{margin:0;max-width:60ch;color:var(--text-soft);font-size:15px;line-height:1.5}
.hhtv-profile-title{margin:0;font:400 38px/1.1 'DM Serif Display',Georgia,serif}
.hhtv-profile-label{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border);font:400 26px/1.1 'DM Serif Display',Georgia,serif;color:var(--text)}
.hhtv-profile-label>small{font:500 12px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-soft)}
.hhtv-see-all{margin-left:auto;font:500 13px Inter,sans-serif;color:var(--text-soft)!important;text-decoration:none}.hhtv-see-all:hover{color:var(--text)!important;text-decoration:underline}
.hhtv-tools-copy a,.hhtv-install-steps a{text-decoration:underline;text-underline-offset:2px}
/* Hero: photo (tap to change), name, email. */
.hhtv-profile-hero{display:flex;align-items:center;gap:24px}
.hhtv-profile-hero h1{margin:0;font:400 44px/1.05 'DM Serif Display',Georgia,serif}
.hhtv-profile-hero p{margin:6px 0 0;color:var(--text-soft);font-size:14px;overflow-wrap:anywhere}
.hhtv-profile .hhtv-avatar{position:relative;flex:none;overflow:hidden;background:var(--border-soft);color:var(--text)}
.hhtv-profile .hhtv-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hhtv-avatar-big{width:120px;height:120px;font-size:38px}
.hhtv-avatar-button{position:relative;flex:none;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.hhtv-avatar-button .hhtv-avatar{transition:filter .15s}.hhtv-avatar-button:hover .hhtv-avatar{filter:brightness(.92)}
.hhtv-avatar-badge{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:34px;height:34px;border:3px solid var(--bg);border-radius:50%;background:var(--accent);color:#15140f}
.hhtv-avatar-badge .hhtv-icon{width:16px;height:16px;stroke-width:2}
.hhtv-text-button{margin-top:10px;padding:0;border:0;background:none;color:var(--text);font:500 13px Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hhtv-photo-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;max-width:640px;margin-top:-16px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 12px 40px #0000001a}
.hhtv-photo-choice{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border:1px solid transparent;border-radius:11px;background:var(--paper);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.hhtv-photo-choice:hover,.hhtv-photo-choice:focus-within{border-color:var(--border)}
.hhtv-photo-choice strong,.hhtv-photo-choice small{display:block}.hhtv-photo-choice strong{font-weight:500}.hhtv-photo-choice small{color:var(--text-soft);font-size:12px}
.hhtv-photo-menu .hhtv-form-note{grid-column:1/-1;margin:0;font-size:13px}.hhtv-photo-menu .hhtv-form-note:empty{display:none}
.hhtv-photo-editor{grid-column:1/-1;display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 14px;align-items:center;padding:12px;border-radius:12px;background:var(--paper)}
.hhtv-photo-editor>img{grid-row:1/4;width:140px;height:140px;border-radius:50%;object-fit:cover;background:var(--border-soft)}
.hhtv-photo-editor label{display:grid;gap:5px;color:var(--text-soft);font-size:12px}
.hhtv-photo-editor input{width:100%;accent-color:var(--accent-deep)}
.hhtv-photo-editor>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.hhtv-photo-editor .hhtv-text-button{margin:0;min-height:44px}
@media(max-width:520px){.hhtv-photo-editor{grid-template-columns:92px minmax(0,1fr)}.hhtv-photo-editor>img{width:92px;height:92px}}
/* Headline numbers: each one opens its page. */
.hhtv-profile-stats{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;padding:0}
.hhtv-profile-stats a{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:18px 20px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.hhtv-profile-stats a:hover{border-color:var(--border);box-shadow:0 6px 18px #0000000f;transform:translateY(-1px)}
.hhtv-stat-n{font:400 40px/1 'DM Serif Display',Georgia,serif}
.hhtv-stat-label{font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}
.hhtv-stat-go{position:absolute;top:16px;right:18px;color:var(--text-soft);opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
.hhtv-profile-stats a:hover .hhtv-stat-go,.hhtv-profile-stats a:focus-visible .hhtv-stat-go{opacity:1;transform:none}
@media(hover:none){.hhtv-stat-go{opacity:.55;transform:none}}
/* Film tiles */
.hhtv-film-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 14px}
.hhtv-film-tiles li{position:relative;min-width:0}
.hhtv-film-tiles button[data-film]{display:flex;flex-direction:column;gap:6px;width:100%;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;font:inherit}
.hhtv-tile-art{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--border-soft);box-shadow:0 2px 10px #00000014}
.hhtv-tile-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.hhtv-film-tiles button[data-film]:hover .hhtv-tile-art img{transform:scale(1.03)}
.hhtv-tile-art i{position:absolute;left:0;right:0;bottom:0;height:4px;background:#0003}.hhtv-tile-art i b{display:block;height:100%;background:var(--accent)}
.hhtv-film-tiles strong{font:400 17px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-film-tiles small{font:400 11px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-soft)}
.hhtv-tile-heart{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#15140fb3;color:#fff;cursor:pointer;backdrop-filter:blur(6px)}
.hhtv-tile-heart[aria-pressed=true]{background:var(--accent);color:#15140f}.hhtv-tile-heart[aria-pressed=true] path{fill:currentColor}
.hhtv-tile-heart .hhtv-icon{width:18px;height:18px}
/* Segmented tabs (Watching, Favourites, Install) */
.hhtv-profile .hhtv-segments{display:inline-flex;align-self:flex-start;max-width:100%;margin:0;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--paper)}
.hhtv-profile .hhtv-segments a,.hhtv-profile .hhtv-segments button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:9px;background:none;color:var(--text-soft);font:500 13px Inter,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.hhtv-profile .hhtv-segments small{font:500 11px 'JetBrains Mono',ui-monospace,monospace;opacity:.75}
.hhtv-profile .hhtv-segments [aria-current=page],.hhtv-profile .hhtv-segments [aria-pressed=true]{background:var(--text);color:var(--bg)}
.hhtv-empty-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;border:1px dashed var(--border);border-radius:16px;text-align:center;color:var(--text-soft)}
.hhtv-empty-card>.hhtv-icon{width:32px;height:32px;stroke-width:1.4}.hhtv-empty-card p{margin:0;max-width:40ch;line-height:1.5}
/* Your comments */
.hhtv-comment-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hhtv-comment-cards button{display:grid;grid-template-columns:168px minmax(0,1fr);gap:18px;align-items:center;width:100%;padding:12px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s}
.hhtv-comment-cards button:hover{border-color:var(--border)}
.hhtv-comment-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.hhtv-comment-copy strong{font:400 19px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-comment-copy q{quotes:'“' '”';font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.hhtv-comment-copy small{color:var(--text-soft);font-size:12px}
/* Settings pages: grouped rows */
.hhtv-settings-list{list-style:none;margin:0;padding:0;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);overflow:hidden}
.hhtv-settings-list li{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 16px;box-sizing:border-box}
.hhtv-settings-list li+li{border-top:1px solid var(--border-soft)}
.hhtv-settings-list li>.hhtv-icon{color:var(--text-soft)}
.hhtv-settings-list li>span:first-of-type{flex:1;min-width:0}
.hhtv-settings-list strong{display:block;font-weight:500;overflow-wrap:anywhere}.hhtv-settings-list small{display:block;margin-top:2px;color:var(--text-soft);font-size:12px}
.hhtv-settings-list .hhtv-mini,.hhtv-settings-list .hhtv-current{float:none;flex:none}
.hhtv-profile .hhtv-current{padding:5px 9px;border-radius:99px;background:var(--accent);color:#15140f;font-size:12px;font-weight:500}
.hhtv-profile .hhtv-mini{float:none;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--paper);color:var(--text);font:500 13px Inter,sans-serif;cursor:pointer}
.hhtv-settings-list+.hhtv-tools-copy{margin:10px 0 0;font-size:13px}
.hhtv-contact-edit{align-items:flex-start!important;padding-top:14px!important;padding-bottom:14px!important;background:var(--paper)}
.hhtv-contact-edit>.hhtv-icon{margin-top:2px}
.hhtv-contact-edit form{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.hhtv-contact-edit strong{font-weight:600}
.hhtv-contact-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hhtv-contact-row input{flex:1 1 220px;min-width:0;min-height:44px;box-sizing:border-box;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:15px Inter,sans-serif}
.hhtv-contact-row #hhtv-contact-code{flex:0 1 160px;font:500 18px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.2em}
.hhtv-contact-row .hhtv-button{min-height:44px}
.hhtv-contact-edit .hhtv-form-note:empty{display:none}
.hhtv-settings-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}
.hhtv-settings-card .hhtv-tools-copy{margin:0}
/* Add another device: steps on the left, the code on the right. */
.hhtv-pair-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,1fr);gap:28px;align-items:center;padding:28px;border:1px solid #15140f;border-radius:20px;background:#15140f;color:#f0ede8}
body.dark .hhtv-pair-panel{border-color:var(--border);background:#0b0b0a}
.hhtv-pair-panel h3{margin:0 0 16px;font:400 28px 'DM Serif Display',Georgia,serif;color:#f0ede8}
.hhtv-pair-steps{list-style:none;counter-reset:pair;margin:0;padding:0;display:grid;gap:12px}
.hhtv-pair-steps li{counter-increment:pair;display:flex;align-items:center;gap:12px;color:#c9c4b8;font-size:15px;line-height:1.4}
.hhtv-pair-steps li::before{content:counter(pair);flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2a2925;color:var(--accent);font:600 13px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-pair-steps b{color:#f0ede8;font-weight:600}
.hhtv-pair-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;padding:22px;border:1.5px dashed #ffffff2e;border-radius:16px;background:#ffffff08;text-align:center}
.hhtv-pair-box.has-code{border-style:solid;border-color:#e8ff4766;background:#e8ff470d}
.hhtv-pair-box .hhtv-button{min-width:200px;min-height:50px;font-size:15px}
.hhtv-pair-box.has-code .hhtv-button{min-height:40px;background:none;border:1px solid #ffffff40;color:#f0ede8;font-size:13px}
.hhtv-pair-hint{color:#9b968b;font-size:12px}.hhtv-pair-box.has-code .hhtv-pair-hint{display:none}
.hhtv-profile .hhtv-pair-code{margin:0;color:var(--accent)}
.hhtv-pair-digits{display:block;font:500 44px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;white-space:nowrap;color:var(--accent)}
.hhtv-profile .hhtv-pair-code small{display:block;margin-top:10px;font:400 13px Inter,sans-serif;letter-spacing:0;color:#c9c4b8}
.hhtv-pair-box.is-expired .hhtv-pair-digits{color:#6f6a60;text-decoration:line-through}
.hhtv-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:16px}
/* An armed two-step confirmation looks different from the first tap. */
#hhtv-profile button[data-confirmed]:not(:disabled),.hhtv-tools button[data-confirmed]:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}
.hhtv-danger-zone strong{font-weight:600}.hhtv-danger-zone p{margin:4px 0 0;color:var(--text-soft);font-size:13px;line-height:1.45}
.hhtv-profile .hhtv-danger-button{flex:none;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}
/* Install the app */
.hhtv-install-what{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;align-items:start;padding:24px;border:1px solid var(--border-soft);border-radius:20px;background:var(--surface)}
.hhtv-install-icon img{display:block;width:72px;height:72px;border-radius:17px;box-shadow:0 6px 18px #0000002a}
.hhtv-install-what h3{margin:2px 0 6px;font:400 26px 'DM Serif Display',Georgia,serif}
.hhtv-install-what p{margin:0;color:var(--text-soft);line-height:1.55}
.hhtv-install-perks{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0;padding:0}
.hhtv-install-perks li{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--paper);font-size:13px;line-height:1.35}
.hhtv-install-what>.hhtv-button{grid-column:1/-1;justify-self:start;margin-top:6px}
.hhtv-install-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0 0;padding:0}
.hhtv-install-steps li{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}
.hhtv-step-art{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--paper);color:var(--text)}
.hhtv-step-art .hhtv-icon{width:30px;height:30px;stroke-width:1.5}
.hhtv-step-art img{width:46px;height:46px;border-radius:11px}
.hhtv-step-art b{position:absolute;top:-7px;left:-7px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#15140f;font:600 12px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-install-steps strong{display:block;margin-bottom:4px;font:400 19px 'DM Serif Display',Georgia,serif}
.hhtv-install-steps small{display:block;color:var(--text-soft);font-size:13px;line-height:1.5}
.hhtv-install-steps small b{color:var(--text);font-weight:600}
/* Message Will: a conversation, newest at the bottom. */
.hhtv-chat{display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:20px;background:var(--surface);overflow:hidden}
.hhtv-chat-list{list-style:none;display:flex;flex-direction:column;gap:6px;max-height:min(52dvh,460px);min-height:120px;margin:0;padding:20px;overflow:auto;background:var(--paper)}
.hhtv-chat-day{align-self:center;margin:10px 0 4px}.hhtv-chat-day span{padding:3px 10px;border-radius:99px;background:var(--border-soft);color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-chat-msg{display:flex;flex-direction:column;max-width:min(78%,480px)}
.hhtv-chat-msg p{margin:0;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.hhtv-chat-msg time{margin:3px 8px 4px;color:var(--text-soft);font-size:11px}
.hhtv-chat-msg.is-you{align-self:flex-end;align-items:flex-end}.hhtv-chat-msg.is-you p{border-bottom-right-radius:6px;background:var(--accent);color:#15140f}
.hhtv-chat-msg.is-will{align-self:flex-start}.hhtv-chat-msg.is-will p{border-bottom-left-radius:6px;background:var(--surface);border:1px solid var(--border-soft)}
.hhtv-chat-empty{margin:auto;padding:20px;color:var(--text-soft);text-align:center}
.hhtv-chat-form{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--border-soft)}
.hhtv-chat-prompts{display:flex;flex-wrap:wrap;gap:6px}
.hhtv-chip{min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:99px;background:var(--paper);color:var(--text);font:500 12px Inter,sans-serif;cursor:pointer}.hhtv-chip:hover{border-color:var(--text-soft)}
.hhtv-profile textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:15px/1.45 Inter,sans-serif;resize:vertical}
.hhtv-chat-send{display:flex;align-items:center;gap:12px}.hhtv-chat-send .hhtv-form-note{flex:1}.hhtv-chat-count{color:var(--text-soft);font:400 11px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-profile .hhtv-form-note{margin:0}
.hhtv-admin-actions{display:flex;flex-wrap:wrap;gap:8px}
.hhtv-profile .hhtv-plain-list{margin:0}
.hhtv-profile .hhtv-loading,.hhtv-profile>.hhtv-empty{padding:32px 24px}
.hhtv-carry-card{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit}
.hhtv-carry-card .hhtv-tile-art{flex:none;width:88px;border-radius:8px}
.hhtv-carry-card>span:nth-child(2){flex:1;min-width:0}.hhtv-carry-card small{display:block;font:400 11px 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;color:var(--text-soft)}.hhtv-carry-card strong{font-weight:500}
.hhtv-carry-card>span:last-child{color:var(--text-soft);font-size:20px}
.hhtv-profile-menu{display:flex;flex-direction:column;gap:16px}
.hhtv-profile-menu{margin-top:8px}
.hhtv-profile-menu .hhtv-nav-group h2{order:-1;margin:0;padding:0 4px 6px;background:var(--bg)}
.hhtv-profile-menu .hhtv-nav-group{display:flex;flex-direction:column}
.hhtv-profile-menu .hhtv-nav-item{min-height:52px;border-radius:0;background:var(--surface);font-size:16px;border:1px solid var(--border-soft);border-top-width:0}
.hhtv-profile-menu .hhtv-nav-group h2+.hhtv-nav-item{border-top-width:1px;border-radius:14px 14px 0 0}
.hhtv-profile-menu .hhtv-nav-item:last-child{border-radius:0 0 14px 14px}
.hhtv-profile-menu .hhtv-nav-group h2+.hhtv-nav-item:last-child{border-radius:14px}
.hhtv-profile-menu .hhtv-nav-item:not(.hhtv-danger)::after{content:'›';color:var(--text-soft);font-size:20px}
.hhtv-profile-menu>.hhtv-danger{justify-content:center;border-radius:14px;border-top-width:1px}
.hhtv-profile-menu>.hhtv-danger>.hhtv-icon{display:none}.hhtv-profile-menu>.hhtv-danger>span{flex:none}
@media(max-width:1000px){.hhtv-pair-panel{grid-template-columns:1fr;gap:20px}}
.hhtv-profile-menu>.hhtv-admin-nav-card{order:20;margin-top:0}.hhtv-profile-menu>.hhtv-danger{order:21}
@media(max-width:760px){
  .hhtv-profile-top{padding:calc(4px + env(safe-area-inset-top,0px)) 12px 4px}
  .hhtv-profile-top-title{max-width:calc(100% - 200px);top:calc(50% + env(safe-area-inset-top,0px)/2);font-size:18px}
  .hhtv-profile-mark{gap:7px;font-size:18px}.hhtv-profile-mark .fv-logo{width:30px;height:30px}
  .hhtv-profile-main{--page-top:16px;--page-x:16px;padding:var(--page-top) var(--page-x) calc(32px + env(safe-area-inset-bottom,0px));gap:22px}
  .hhtv-profile-title{font-size:30px}
  .hhtv-page-head{gap:4px;margin-bottom:-6px}.hhtv-page-head p{font-size:14px}
  .hhtv-profile-hero{gap:16px}.hhtv-profile-hero h1{font-size:32px}
  .hhtv-avatar-big{width:96px;height:96px;font-size:30px}
  .hhtv-profile-hero.is-compact .hhtv-avatar-big{width:76px;height:76px;font-size:24px}
  .hhtv-profile-hero.is-compact .hhtv-avatar-badge{width:28px;height:28px;right:-2px;bottom:-2px}
  .hhtv-profile-hero.is-compact h1{font-size:28px}
  .hhtv-photo-menu{margin-top:-8px}
  .hhtv-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hhtv-profile-stats a{padding:12px 14px;gap:6px}.hhtv-stat-n{font-size:28px}.hhtv-stat-go{top:12px;right:12px}
  .hhtv-profile-label{font-size:22px}
  .hhtv-film-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
  .hhtv-film-tiles strong{font-size:15px}
  .hhtv-profile .hhtv-segments{display:flex;align-self:stretch}.hhtv-profile .hhtv-segments>*{flex:1;justify-content:center;padding:0 8px}
  [data-install-tab] small{display:none}
  .hhtv-comment-cards button{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px}
  .hhtv-comment-copy strong{font-size:17px}.hhtv-comment-copy q{font-size:14px}
  .hhtv-pair-panel{padding:20px;border-radius:18px}.hhtv-pair-panel h3{font-size:24px}
  .hhtv-pair-digits{font-size:38px}
  .hhtv-danger-zone{flex-direction:column;align-items:stretch}
  .hhtv-install-what{grid-template-columns:1fr;padding:18px}.hhtv-install-icon img{width:60px;height:60px}
  .hhtv-install-perks{grid-template-columns:1fr}
  .hhtv-install-steps{grid-template-columns:1fr}.hhtv-install-steps li{flex-direction:row;align-items:flex-start;padding:14px}.hhtv-step-art{width:52px;height:52px}
  .hhtv-chat-list{max-height:none;min-height:180px;padding:14px}
  .hhtv-chat-msg{max-width:86%}
  .hhtv-chat-send{flex-wrap:wrap}.hhtv-chat-send .hhtv-button{flex:1 0 100%;order:3}
}
@media (min-width:761px) and (max-width:879px){.hhtv-profile-main{--page-top:24px;--page-x:32px;padding:var(--page-top) var(--page-x) 56px}.hhtv-profile-hero h1{font-size:36px}.hhtv-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.hhtv-profile-top-title{transition:none}}
@media(prefers-reduced-motion:reduce){.hhtv-profile :is(a,button,.hhtv-tile-art img){scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.hhtv-profile .hhtv-pair-panel :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hhtv-profile :is(.hhtv-tile-heart,.hhtv-chip,.hhtv-text-button){min-height:44px}
.hhtv-profile .hhtv-tile-heart{width:44px;height:44px}
.hhtv-contact-row .hhtv-mini{min-height:44px}
.hhtv-profile-error{display:grid;justify-items:start;gap:12px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.hhtv-profile-error p{margin:0;color:var(--text-soft);line-height:1.5}
a.hhtv-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#15140f}
a.hhtv-button.hhtv-button-quiet{color:var(--text)}
.hhtv-admin-lock{max-width:680px;padding:24px;border:1px solid #2f2d28;border-radius:16px;background:#15140f;color:#f0ede8}
.hhtv-admin-lock h2{margin:0;font:400 28px/1.15 'DM Serif Display',Georgia,serif}.hhtv-admin-lock p{margin:7px 0 16px;color:#c9c4b8;line-height:1.45}
.hhtv-admin-coming{max-width:680px;padding:22px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);color:var(--text-soft);line-height:1.5}.hhtv-admin-coming p{margin:0}.hhtv-admin-coming p+p{margin-top:6px}

@media(max-width:760px){.hhtv-admin-lock{padding:18px}.hhtv-admin-lock h2{font-size:24px}}
@media(max-width:760px){.hhtv-profile-mark>span{display:none}.hhtv-admin-bell{width:36px;height:36px}}
/* Admin overview drawn inside the profile page. */
.hhtv-tools.hhtv-embedded{width:auto;min-width:0;max-width:100%;max-height:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit}
.hhtv-tools.hhtv-embedded h3{font-size:24px}
.hhtv-tools.hhtv-embedded>*+*{margin-top:32px!important}
.hhtv-tools.hhtv-embedded>.hhtv-admin-page-tabs{margin-bottom:0}.hhtv-tools.hhtv-embedded>.hhtv-admin-page-tabs+*{margin-top:16px!important} /* tabs sit 16px above their content, as on every page */
.hhtv-admin-dashboard{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:16px}
.hhtv-admin-card,.hhtv-admin-month{min-width:0;padding:18px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}
.hhtv-admin-card .hhtv-plain-list{margin-top:12px}.hhtv-admin-month{grid-column:1/-1}
.hhtv-admin-month .hhtv-stats{grid-template-columns:repeat(6,minmax(110px,1fr));margin-top:12px}
.hhtv-admin-films-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:24px;align-items:start}
.hhtv-admin-films-layout>.hhtv-admin-card{position:sticky;top:86px}
.hhtv-admin-activity-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:28px;align-items:start}
.hhtv-admin-activity-layout .hhtv-activity{position:sticky;top:86px}
@media(max-width:1180px){.hhtv-admin-month .hhtv-stats{grid-template-columns:repeat(3,minmax(120px,1fr))}.hhtv-admin-films-layout,.hhtv-admin-activity-layout{grid-template-columns:1fr}.hhtv-admin-films-layout>.hhtv-admin-card,.hhtv-admin-activity-layout .hhtv-activity{position:static}}
@media(max-width:760px){.hhtv-admin-dashboard{grid-template-columns:1fr}.hhtv-admin-month{grid-column:auto}.hhtv-admin-month .hhtv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hhtv-admin-card,.hhtv-admin-month{padding:14px}}
/* Admin v2 overview: never more than two content columns. */
.hhtv-overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.hhtv-overview-toolbar p{margin:0;color:var(--text-soft)}.hhtv-overview-toolbar .hhtv-segments{margin:0;flex:none}
.hhtv-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hhtv-overview-kpi{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:112px;padding:14px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.hhtv-overview-kpi:hover{border-color:var(--text-soft)}.hhtv-overview-kpi small{font:500 12px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--text-soft)}.hhtv-overview-kpi strong{margin:8px 0 6px;font:400 30px/1 'DM Serif Display',Georgia,serif}.hhtv-overview-kpi span{margin-top:auto;font-size:11px;color:var(--text-soft)}.hhtv-overview-kpi span.is-up{color:#26713a}.hhtv-overview-kpi span.is-same{color:var(--text-soft)}.hhtv-overview-kpi span.is-down{color:var(--danger)}
.hhtv-overview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.hhtv-overview-panel{min-width:0;padding:18px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.hhtv-overview-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hhtv-overview-panel-head h3{margin:0}.hhtv-overview-panel-head h3 small,.hhtv-overview-panel-head>small{color:var(--text-soft);font:400 10px 'JetBrains Mono',ui-monospace,monospace}.hhtv-overview-panel-head>button{border:0;background:none;color:var(--text-soft);font:500 12px Inter,sans-serif;cursor:pointer}
.hhtv-watch-panel{display:flex;flex-direction:column}.hhtv-watch-chart{display:flex;align-items:flex-end;gap:4px;height:180px;margin:16px 0 6px;padding:10px 0 0;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden}.hhtv-watch-chart>button{position:relative;flex:1 0 3px;align-self:stretch;min-width:3px;padding:0;border:0;background:none;cursor:pointer}.hhtv-watch-chart>button>span{position:absolute;left:0;right:0;bottom:0;height:var(--bar);border-radius:3px 3px 0 0;background:#191814}.hhtv-watch-chart>button.is-weekend>span{background:var(--accent-deep)}.hhtv-watch-chart>button:focus-visible>span{outline:2px solid var(--accent-deep);outline-offset:2px}.hhtv-watch-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto}.hhtv-watch-facts>div{padding:10px;border-radius:10px;background:var(--paper)}.hhtv-watch-facts small,.hhtv-watch-facts strong{display:block}.hhtv-watch-facts small{font:500 12px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.hhtv-watch-facts strong{margin-top:5px;font-size:12px;line-height:1.35}
.hhtv-chart-tip{min-height:17px;margin:0 0 9px;color:var(--text-soft);font-size:11px}
.hhtv-needs-panel ul{list-style:none;margin:12px 0 0;padding:0}.hhtv-needs-panel li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0}.hhtv-needs-panel li+li{border-top:1px solid var(--border-soft)}.hhtv-need-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff0c8;color:#6d4a00}.hhtv-needs-panel strong,.hhtv-needs-panel small{display:block}.hhtv-needs-panel strong{font-size:13px}.hhtv-needs-panel small{margin-top:3px;color:var(--text-soft);font-size:11px;line-height:1.35}.hhtv-needs-panel li>button{min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font:500 11px Inter,sans-serif;cursor:pointer}.hhtv-needs-panel li>button[data-need-action=retry]{background:var(--accent);border-color:var(--accent-deep);color:#15140f}
.hhtv-ranked{display:flex;flex-direction:column}.hhtv-ranked li.is-note{display:flex;align-items:center;border-top:0}.hhtv-ranked ol:has(>li.is-note){grid-template-rows:auto;flex:0}.hhtv-ranked li.is-note p{margin:0;color:var(--text-soft);font-size:14px}.hhtv-ranked ol{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-rows:repeat(5,minmax(54px,1fr));flex:1}.hhtv-ranked li{min-height:54px;border-top:1px solid var(--border-soft)}.hhtv-ranked li:first-child{border-top:0}.hhtv-ranked li>button{display:grid;grid-template-columns:auto auto minmax(0,1fr) minmax(70px,100px) auto;gap:9px;align-items:center;width:100%;height:100%;padding:7px 0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.hhtv-ranked li>button>b{font:400 11px 'JetBrains Mono',ui-monospace,monospace}.hhtv-ranked img,.hhtv-list-cover{width:54px;height:32px;border-radius:5px;object-fit:cover;background:var(--border-soft)}.hhtv-ranked strong,.hhtv-ranked small{display:block}.hhtv-ranked strong{font:400 14px 'DM Serif Display',Georgia,serif}.hhtv-ranked small{margin-top:2px;color:var(--text-soft);font-size:10px}.hhtv-ranked li>button>i,.hhtv-ranked li>button>span>i{display:block;height:5px;border-radius:5px;background:var(--border-soft);overflow:hidden}.hhtv-ranked i span{display:block;height:100%;background:#191814}.hhtv-ranked em{font:400 11px 'JetBrains Mono',ui-monospace,monospace;font-style:normal;color:var(--text-soft)}.hhtv-ranked li.is-empty{opacity:0}.hhtv-list-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#15140f;font:600 10px Inter,sans-serif}.hhtv-ranked li>button[data-overview-person]{grid-template-columns:auto minmax(0,1fr) minmax(90px,130px) auto}.hhtv-ranked li>button[data-overview-person]>span:nth-child(3)>b{display:block;margin-bottom:5px;font-size:11px}
.hhtv-health-panel{padding-bottom:8px}.hhtv-health-table{margin-top:10px}.hhtv-health-table>div{display:grid;grid-template-columns:10px minmax(130px,.6fr) minmax(220px,1.5fr) auto;gap:10px;align-items:center;min-height:43px;border-top:1px solid var(--border-soft)}.hhtv-health-table>div:first-child{border-top:0}.hhtv-health-table>div>span{width:7px;height:7px;border-radius:50%;background:var(--text-soft)}.hhtv-health-table>div>span.is-working{background:#2f9d4b}.hhtv-health-table>div>span.is-broken{background:var(--danger)}.hhtv-health-table>div>span.is-attention{background:#d4a21f}.hhtv-health-table strong{font-size:12px}.hhtv-health-table small{color:var(--text-soft);font-size:11px}.hhtv-health-table em{padding:4px 8px;border-radius:10px;background:var(--border-soft);font-size:12px;font-style:normal}.hhtv-health-table em.is-working{background:#dff4df;color:#164b1c}.hhtv-health-table em.is-broken{background:#f9dddd;color:#742020}.hhtv-health-table em.is-attention{background:#fff0c8;color:#6d4a00}
body.dark .hhtv-health-table em.is-working{background:#1d3a23;color:#9ad8a4}body.dark .hhtv-health-table em.is-broken{background:#4a1f1f;color:#f2a7a7}body.dark .hhtv-health-table em.is-attention{background:#45370f;color:#f0d074}
.hhtv-delivery-range{margin-top:14px}.hhtv-delivery-range>span{display:flex;justify-content:space-between;gap:12px}.hhtv-delivery-range>span strong{font-size:13px}.hhtv-delivery-range>span b{font:400 22px 'DM Serif Display',Georgia,serif}.hhtv-delivery-range>i{display:block;height:8px;margin:10px 0;border-radius:8px;background:var(--border-soft);overflow:hidden}.hhtv-delivery-range>i span{display:block;height:100%;background:#191814}.hhtv-delivery-range>small{display:block;color:var(--text-soft);font-size:11px;line-height:1.5}.hhtv-cost-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.hhtv-cost-facts>div{padding:10px;border-radius:10px;background:var(--paper)}.hhtv-cost-facts small,.hhtv-cost-facts strong{display:block}.hhtv-cost-facts small{color:var(--text-soft);font-size:12px}.hhtv-cost-facts strong{margin-top:4px;font-size:12px}
@media(max-width:900px){.hhtv-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hhtv-overview-pair{grid-template-columns:1fr}.hhtv-watch-panel,.hhtv-needs-panel{min-height:0}.hhtv-health-table>div{grid-template-columns:10px minmax(110px,.7fr) minmax(150px,1.3fr) auto}}
@media(max-width:760px){.hhtv-overview-toolbar{display:block}.hhtv-overview-toolbar .hhtv-segments{display:grid;margin-top:12px}.hhtv-overview-kpis{gap:8px}.hhtv-overview-kpi{min-height:102px;padding:12px}.hhtv-overview-kpi strong{font-size:25px}.hhtv-overview-panel{padding:14px}.hhtv-watch-chart{height:145px}.hhtv-watch-facts,.hhtv-cost-facts{grid-template-columns:1fr}.hhtv-needs-panel li{grid-template-columns:auto minmax(0,1fr)}.hhtv-needs-panel li>button{grid-column:2;justify-self:start}.hhtv-ranked li>button{grid-template-columns:auto auto minmax(0,1fr) auto}.hhtv-ranked li>button>i{display:none}.hhtv-ranked li>button[data-overview-person]{grid-template-columns:auto minmax(0,1fr) auto}.hhtv-ranked li>button[data-overview-person]>span:nth-child(3){display:none}.hhtv-health-table>div{grid-template-columns:9px minmax(0,1fr) auto;padding:8px 0}.hhtv-health-table small{grid-column:2/-1}.hhtv-health-table em{grid-column:3;grid-row:1}.hhtv-delivery-range>span b{font-size:19px}}
.hhtv-watch-chart>button>span,.hhtv-ranked i span,.hhtv-delivery-range>i span{background:var(--text)}
.hhtv-watch-chart>button.is-weekend>span{background:var(--accent-deep)}
/* Admin v2 films. The detail view is full width so the film list is never squeezed beside it. */
.hhtv-film-journey-strip ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;list-style:none;margin:18px 0 0;padding:0}.hhtv-film-journey-strip li{position:relative;display:grid;justify-items:center;min-width:0;padding:0 14px;text-align:center}.hhtv-film-journey-strip li>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);border:1px solid var(--border);font:500 12px 'JetBrains Mono',ui-monospace,monospace;z-index:1}.hhtv-film-journey-strip li.is-uploading>b{background:#fff0c8}.hhtv-film-journey-strip li.is-encoding>b{background:#e4e1ff}.hhtv-film-journey-strip li.is-live>b{background:#dff4df}.hhtv-film-journey-strip li.is-not-for-family>b{border-style:dashed}.hhtv-film-journey-strip li>strong{margin-top:7px;font-size:11px}.hhtv-film-journey-strip li>small{margin-top:4px;color:var(--text-soft);font-size:9px;line-height:1.35}.hhtv-film-journey-strip li>i{position:absolute;top:17px;left:calc(50% + 24px);width:calc(100% - 48px);height:1px;background:var(--border)}
.hhtv-film-filter-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hhtv-film-filter-tiles>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;min-height:88px;padding:13px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.hhtv-film-filter-tiles>button[aria-pressed=true]{border:2px solid var(--text);padding:12px}.hhtv-film-filter-tiles small{font:500 9px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.hhtv-film-filter-tiles strong{font:400 25px 'DM Serif Display',Georgia,serif}.hhtv-film-filter-tiles span{grid-column:1/-1;color:var(--text-soft);font-size:10px;line-height:1.35}
.hhtv-film-board{padding:16px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.hhtv-film-collection{margin:18px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--border);font:400 19px 'DM Serif Display',Georgia,serif}.hhtv-film-collection small{color:var(--text-soft);font:400 10px 'JetBrains Mono',ui-monospace,monospace}.hhtv-film-pipeline-v2{list-style:none;margin:12px 0 0;padding:0}.hhtv-film-row-v2{position:relative;display:grid;grid-template-columns:minmax(230px,1.6fr) minmax(130px,.85fr) minmax(90px,.7fr) 48px minmax(125px,.8fr) minmax(150px,.9fr);gap:12px;align-items:center;min-height:78px;padding:8px 4px;border-top:1px solid var(--border-soft)}.hhtv-film-row-v2:first-child{border-top:0}.hhtv-film-row-v2.is-selected{margin-inline:-8px;padding-inline:12px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.hhtv-film-select{position:absolute;inset:0;z-index:0;border:0;background:none;cursor:pointer}.hhtv-film-row-v2>*:not(.hhtv-film-select){position:relative;z-index:1;pointer-events:none}.hhtv-film-row-v2 button,.hhtv-film-row-v2 details,.hhtv-film-row-v2 summary{pointer-events:auto}.hhtv-film-main{display:flex;align-items:center;min-width:0;gap:10px}.hhtv-film-main>img,.hhtv-film-main>.hhtv-film-cover{flex:none;width:96px;aspect-ratio:16/9;border-radius:6px;object-fit:cover;background:var(--border-soft)}.hhtv-film-main>span{flex:1;min-width:0}.hhtv-film-main strong,.hhtv-film-main small{display:block}.hhtv-film-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 17px 'DM Serif Display',Georgia,serif}.hhtv-film-main small,.hhtv-film-who{margin-top:4px;color:var(--text-soft);font-size:12px;line-height:1.35}.hhtv-film-progress{display:block;width:100%;height:4px;margin-top:6px;border-radius:4px;background:var(--border-soft);overflow:hidden}.hhtv-film-progress span{display:block;height:100%;background:var(--accent-deep)}.hhtv-film-plays{text-align:center;font:500 11px 'JetBrains Mono',ui-monospace,monospace}.hhtv-detail-checks{display:flex;gap:4px}.hhtv-detail-checks span{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--border-soft);color:var(--text-soft);font:600 8px Inter,sans-serif}.hhtv-detail-checks span.is-done{background:#e6f5e5;color:#246834}.hhtv-detail-checks span.is-required{background:#fff0c8;color:#765000}.hhtv-film-next{display:flex;justify-content:flex-end;gap:6px}.hhtv-film-next>button,.hhtv-film-side button,.hhtv-finish-list button{min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--accent);color:#15140f;font:600 10px Inter,sans-serif;cursor:pointer}.hhtv-film-next>button:disabled{background:var(--paper);color:var(--text-soft);cursor:default}.hhtv-film-next details{position:relative}.hhtv-film-next summary{display:grid;place-items:center;width:34px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--paper);cursor:pointer;list-style:none;font-size:10px;letter-spacing:-1px}.hhtv-film-next details>div{position:absolute;right:0;top:36px;z-index:5;width:150px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 10px 28px #0002}.hhtv-film-next details button{display:block;width:100%;padding:8px;border:0;border-radius:6px;background:none;color:var(--text);text-align:left;font-size:11px}.hhtv-film-next details button:hover{background:var(--paper)}.hhtv-film-next details button:disabled{opacity:.45}.hhtv-film-row-v2>.hhtv-row-error,.hhtv-film-row-v2>.hhtv-row-note{grid-column:1/-1;margin:0}
.hhtv-film-side{padding:18px;border:1px solid var(--text);border-radius:16px;background:var(--surface)}.hhtv-film-side>.hhtv-overview-panel-head>div>small{font:500 9px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--text-soft)}.hhtv-film-side>.hhtv-overview-panel-head button{border:0;background:none;color:var(--text-soft)}.hhtv-film-side-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:14px}.hhtv-film-side h4{margin:0 0 9px;font:400 17px 'DM Serif Display',Georgia,serif}.hhtv-film-side ol,.hhtv-finish-list{list-style:none;margin:0;padding:0}.hhtv-film-side ol li{display:flex;gap:9px;min-height:42px}.hhtv-film-side ol li>i{width:9px;height:9px;margin-top:4px;border:1px solid var(--border);border-radius:50%;background:var(--paper)}.hhtv-film-side ol li.is-done>i{background:#53a967}.hhtv-film-side ol strong,.hhtv-film-side ol small{display:block}.hhtv-film-side ol strong{font-size:11px}.hhtv-film-side ol small{margin-top:3px;color:var(--text-soft);font-size:9px}.hhtv-finish-list li{display:flex;align-items:center;justify-content:space-between;min-height:38px;border-top:1px solid var(--border-soft);font-size:11px}.hhtv-finish-list li:first-child{border-top:0}.hhtv-finish-list button{min-height:27px;background:var(--paper);color:var(--text)}.hhtv-film-side dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.hhtv-film-side dl>div{padding:10px;border-radius:9px;background:var(--paper)}.hhtv-film-side dt{color:var(--text-soft);font-size:9px}.hhtv-film-side dd{margin:5px 0 0;font-size:11px;font-weight:600}.hhtv-film-side-actions{grid-column:1/-1;display:flex;gap:7px}.hhtv-film-side-actions button:not(:first-child){background:var(--paper);color:var(--text)}
@media(max-width:1050px){.hhtv-film-row-v2{grid-template-columns:minmax(220px,1.5fr) minmax(120px,.8fr) minmax(80px,.6fr) 40px minmax(120px,.75fr)}.hhtv-film-row-v2>.hhtv-detail-checks{display:none}}
@media(max-width:760px){.hhtv-film-journey-strip{overflow:hidden}.hhtv-film-journey-strip ol{grid-template-columns:repeat(5,108px);overflow-x:auto;padding-bottom:8px}.hhtv-film-journey-strip li{padding-inline:8px}.hhtv-film-filter-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.hhtv-film-row-v2{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:0;padding:11px 0}.hhtv-film-row-v2>.hhtv-film-main{grid-column:1/-1}.hhtv-film-main>img,.hhtv-film-main>.hhtv-film-cover{width:82px}.hhtv-film-row-v2>div:nth-child(3){grid-column:1}.hhtv-film-who,.hhtv-film-plays{display:none}.hhtv-film-next{grid-column:2;grid-row:2;align-self:end}.hhtv-film-side{position:fixed;inset:58px 0 0;z-index:40;border-radius:18px 18px 0 0;overflow:auto}.hhtv-film-side-grid{grid-template-columns:1fr}.hhtv-film-side dl,.hhtv-film-side-actions{grid-column:auto}.hhtv-film-side dl{grid-template-columns:repeat(2,minmax(0,1fr))}.hhtv-film-side-actions{flex-wrap:wrap}}
/* Admin v2 announcements. Pickers use no more than two card columns. */
/* Admin v2 messages, comments and notification bell. */
.hhtv-family-thread{display:grid;gap:8px;margin-bottom:12px}.hhtv-family-thread>div{max-width:78%;padding:10px 12px;border-radius:12px;background:var(--surface)}.hhtv-family-thread>div.is-will{justify-self:end;background:var(--text);color:var(--surface)}.hhtv-family-thread p{margin:4px 0;white-space:pre-wrap}.hhtv-family-thread small{opacity:.7}
/* Admin v2 Activity & viewers: one full-width tab at a time. */
/* Page tabs look like every other switch (.hhtv-segments): one rounded tray, dark selected tab. */
.hhtv-admin-page-tabs{display:inline-flex;align-self:flex-start;width:max-content;max-width:100%;margin:0 0 12px;padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--paper)}.hhtv-admin-page-tabs button{min-height:40px;padding:0 14px;border:0;border-radius:9px;background:none;color:var(--text-soft);font:500 13px Inter,sans-serif;cursor:pointer}.hhtv-admin-page-tabs button[aria-current=true]{background:var(--text);color:var(--bg)}.hhtv-activity-v2,.hhtv-viewers-v2{padding:16px;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface)}
/* Admin v2 review fixes (Claude, 4 Nov): spacing under the stage strip. */
.hhtv-film-journey-strip+.hhtv-film-filter-tiles,.hhtv-film-journey-strip~.hhtv-film-filter-tiles{margin-top:18px}
/* Expanded admin polish: readable type, stable sizing and phone/tablet layouts. */
.hhtv-tools :is(button,input,select,textarea){font-family:Inter,sans-serif}
.hhtv-tools :is(button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 78%,#15140f);outline-offset:2px}
.hhtv-tools :is(.hhtv-ann-page,.hhtv-activity-v2,.hhtv-viewers-v2){min-width:0;box-sizing:border-box}
@media(max-width:760px){
}
@media(max-width:380px){
  .hhtv-tools-body{padding:12px}
}
.hhtv-admin-page{min-width:0;max-width:100%}
/* Boxes side by side line up at the top and match heights (Will's review). An old
   ".hhtv-tools section+section" margin was pushing the second box down. */
.hhtv-tools .hhtv-overview-pair>section+section,.hhtv-tools .hhtv-overview-pair>*{margin-top:0}
.hhtv-overview-panel h3 small{display:inline;margin-left:4px;font:500 13px Inter,sans-serif;color:var(--text-soft)}
/* Admin readability refinements: make periods explicit and film status readable. */
.hhtv-costs-panel .hhtv-overview-panel-head{align-items:flex-start}.hhtv-costs-panel .hhtv-overview-panel-head p{margin:5px 0 0;color:var(--text-soft);font-size:12px}.hhtv-delivery-range{margin-top:18px}.hhtv-delivery-range>span strong{font-size:15px}.hhtv-delivery-range>span b{font-size:26px}.hhtv-delivery-range>i{height:10px;margin:12px 0}.hhtv-delivery-range>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hhtv-delivery-range>div small{display:block;color:var(--text-soft);font-size:12px;line-height:1.45}.hhtv-delivery-range>div small:last-child{text-align:right}.hhtv-delivery-range>div b{display:block;color:var(--text);font-size:14px}.hhtv-cost-facts{gap:10px;margin-top:18px}.hhtv-cost-facts>div{padding:13px}.hhtv-cost-facts small{font-size:11px}.hhtv-cost-facts strong{margin-top:5px;font-size:14px}
.hhtv-film-journey-strip>.hhtv-overview-panel-head h3{font-size:28px}.hhtv-film-journey-strip ol{margin:26px 0 8px}.hhtv-film-journey-strip li{padding-inline:18px}.hhtv-film-journey-strip li>b{width:44px;height:44px;font-size:14px}.hhtv-film-journey-strip li>strong{margin-top:10px;font-size:14px}.hhtv-film-journey-strip li>small{margin-top:5px;font-size:12px;line-height:1.4}.hhtv-film-journey-strip li>i{top:22px;left:calc(50% + 30px);width:calc(100% - 60px)}
.hhtv-film-journey-strip+.hhtv-film-filter-tiles,.hhtv-film-journey-strip~.hhtv-film-filter-tiles{margin-top:24px}.hhtv-film-filter-tiles{gap:12px}.hhtv-film-filter-tiles>button{gap:8px 12px;min-height:112px;padding:17px}.hhtv-film-filter-tiles>button[aria-pressed=true]{padding:16px}.hhtv-film-filter-tiles small{font-size:11px}.hhtv-film-filter-tiles strong{font-size:30px}.hhtv-film-filter-tiles span{font-size:13px;line-height:1.4}
.hhtv-film-board{padding:20px}.hhtv-film-board>.hhtv-overview-panel-head h3{font-size:28px}.hhtv-detail-legend{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:14px 0 0;color:var(--text-soft);font-size:11px}.hhtv-detail-legend strong{margin-right:2px;color:var(--text)}.hhtv-detail-legend span{display:flex;align-items:center;gap:5px}.hhtv-detail-legend i{width:8px;height:8px;border-radius:50%;background:var(--border-soft)}.hhtv-detail-legend i.is-done{background:#5dac68}.hhtv-detail-legend i.is-required{background:#d6a633}.hhtv-film-collection{margin:22px 0 8px;padding-bottom:8px;font-size:22px}.hhtv-film-pipeline-v2{margin-top:14px}.hhtv-film-row-v2{grid-template-columns:minmax(270px,1.4fr) minmax(150px,.75fr) minmax(110px,.55fr) 56px minmax(330px,1.35fr) minmax(160px,.8fr);gap:16px;min-height:96px;padding:12px 5px}.hhtv-film-main{gap:14px}.hhtv-film-main>img,.hhtv-film-main>.hhtv-film-cover{width:116px;border-radius:7px}.hhtv-film-main strong{font-size:20px}.hhtv-film-main small,.hhtv-film-who{margin-top:5px;font-size:14px;line-height:1.4}.hhtv-film-row-v2 .hhtv-stage-chip{font-size:13px}.hhtv-film-row-v2 .hhtv-film-plays{font-size:13px}.hhtv-detail-checks{flex-wrap:wrap;gap:6px}.hhtv-detail-checks span{width:auto;min-height:28px;padding:0 9px;border-radius:7px;font-size:10px}
@media(max-width:1350px){.hhtv-film-row-v2{grid-template-columns:minmax(250px,1.5fr) minmax(130px,.8fr) minmax(90px,.6fr) 48px minmax(150px,.75fr)}.hhtv-film-row-v2>.hhtv-detail-checks,.hhtv-detail-legend{display:none}}
@media(max-width:760px){.hhtv-overview-toolbar .hhtv-segments{grid-template-columns:repeat(5,minmax(0,1fr))}.hhtv-delivery-range>div{grid-template-columns:1fr;gap:8px}.hhtv-delivery-range>div small:last-child{text-align:left}.hhtv-film-journey-strip li{padding-inline:8px}.hhtv-film-filter-tiles>button{min-height:100px;padding:14px}.hhtv-film-filter-tiles>button[aria-pressed=true]{padding:13px}.hhtv-film-row-v2{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:0;padding:11px 0}.hhtv-film-row-v2>.hhtv-film-main{grid-column:1/-1}.hhtv-film-main>img,.hhtv-film-main>.hhtv-film-cover{width:92px}.hhtv-film-row-v2>div:nth-child(3){grid-column:1}.hhtv-film-next{grid-column:2;grid-row:2;align-self:end}}
/* Keep film rows self-contained: one summary status in the row, full detail on expand. */
.hhtv-film-filter-tiles+.hhtv-film-board,.hhtv-film-filter-tiles+.hhtv-film-side+.hhtv-film-board{margin-top:52px!important}.hhtv-film-board,.hhtv-film-pipeline-v2,.hhtv-film-row-v2{box-sizing:border-box;min-width:0;max-width:100%}.hhtv-film-row-v2{grid-template-columns:minmax(280px,1.65fr) minmax(110px,.65fr) minmax(90px,.55fr) 44px minmax(112px,.62fr) minmax(132px,.72fr);gap:12px}.hhtv-film-main strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.18}.hhtv-detail-summary{display:inline-flex;align-items:center;justify-content:center;min-height:30px;max-width:100%;padding:0 9px;border-radius:8px;background:var(--border-soft);color:var(--text-soft);font:600 10px/1.2 Inter,sans-serif;text-align:center}.hhtv-detail-summary.is-done{background:#e6f5e5;color:#246834}.hhtv-detail-summary.is-required{background:#fff0c8;color:#765000}.hhtv-film-next{min-width:0}.hhtv-film-next>button{min-width:0;max-width:100%;white-space:nowrap}.hhtv-finish-list span>small{display:inline-flex;margin-left:6px;padding:3px 6px;border-radius:99px;background:var(--border-soft);color:var(--text-soft);font-size:9px}.hhtv-finish-list span>small.is-done{background:#e6f5e5;color:#246834}.hhtv-finish-list span>small.is-required{background:#fff0c8;color:#765000}
@media(max-width:1350px){.hhtv-film-row-v2{grid-template-columns:minmax(230px,1.5fr) minmax(105px,.7fr) minmax(80px,.55fr) 40px minmax(105px,.65fr) minmax(128px,.75fr);gap:9px}.hhtv-detail-summary{font-size:9px}}
@media(max-width:1050px){.hhtv-film-row-v2{grid-template-columns:minmax(220px,1.55fr) minmax(110px,.75fr) minmax(80px,.6fr) 40px minmax(128px,.8fr)}.hhtv-film-row-v2>.hhtv-detail-summary{display:none}}
@media(max-width:760px){.hhtv-film-filter-tiles+.hhtv-film-board,.hhtv-film-filter-tiles+.hhtv-film-side+.hhtv-film-board{margin-top:38px!important}.hhtv-film-row-v2{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:0;padding:11px 0}.hhtv-film-row-v2>.hhtv-film-main{grid-column:1/-1}.hhtv-film-row-v2>div:nth-child(3){grid-column:1}.hhtv-film-next{grid-column:2;grid-row:2;align-self:end}}
/* Films follow-up: compact heading, in-row expansion and dependable action layers. */
.hhtv-film-journey-strip>.hhtv-overview-panel-head{justify-content:flex-end}.hhtv-film-journey-strip ol{margin-top:10px}.hhtv-film-filter-tiles+.hhtv-film-board{margin-top:28px!important}.hhtv-film-collection{display:flex;align-items:center;gap:9px}.hhtv-film-collection small{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:99px;background:var(--accent);color:#15140f;font:700 12px Inter,sans-serif;box-sizing:border-box}
.hhtv-film-row-v2:has(.hhtv-film-next details[open]){z-index:20}.hhtv-film-next details>div{z-index:30;background:var(--surface);box-shadow:0 14px 36px #0003}.hhtv-film-row-v2>.hhtv-film-side{grid-column:1/-1;position:relative;inset:auto;z-index:2;width:auto;margin:10px -12px -12px;padding:20px;overflow:visible;border-radius:14px;background:var(--surface);pointer-events:auto}.hhtv-film-row-v2.is-selected{padding-bottom:12px}.hhtv-film-side-grid{gap:24px}.hhtv-film-side h4{font-size:21px}.hhtv-film-side ol li{min-height:48px}.hhtv-film-side ol strong{font-size:13px}.hhtv-film-side ol small{font-size:11px}.hhtv-finish-list li{display:grid;grid-template-columns:minmax(110px,1fr) minmax(92px,auto) 52px;gap:12px;justify-content:normal;min-height:48px;font-size:14px}.hhtv-finish-list li>strong{font-size:14px;font-weight:500}.hhtv-finish-list li>small{display:inline-flex;justify-self:start;margin:0;padding:4px 8px;border-radius:99px;background:var(--border-soft);color:var(--text-soft);font-size:11px}.hhtv-finish-list li>small.is-done{background:#e6f5e5;color:#246834}.hhtv-finish-list li>small.is-required{background:#fff0c8;color:#765000}.hhtv-finish-list li>span{display:flex;justify-content:flex-end}.hhtv-film-side dt{font-size:11px}.hhtv-film-side dd{font-size:14px}
@media(max-width:760px){.hhtv-film-journey-strip ol{margin-top:8px}.hhtv-film-filter-tiles+.hhtv-film-board{margin-top:24px!important}.hhtv-film-row-v2>.hhtv-film-side{position:relative;inset:auto;z-index:2;grid-column:1/-1;grid-row:auto;margin:8px 0 0;padding:16px;border-radius:12px;overflow:visible}.hhtv-finish-list li{grid-template-columns:minmax(90px,1fr) minmax(82px,auto) 48px;gap:8px}}
/* Preserve calm artwork and reveal film details as part of the row. */
.hhtv-film-plays{display:flex;flex-direction:column;align-items:center;gap:2px}.hhtv-film-plays small{color:var(--text-soft);font:500 9px Inter,sans-serif}.hhtv-film-expand{grid-column:1/-1;display:grid;grid-template-rows:0fr;min-width:0;opacity:0;animation:hhtv-film-expand .32s cubic-bezier(.2,.75,.25,1) forwards}.hhtv-film-expand.is-settled{grid-template-rows:1fr;opacity:1;animation:none}.hhtv-film-expand.is-closing{animation:hhtv-film-collapse .24s ease-in forwards}.hhtv-film-expand>.hhtv-film-side{position:relative;inset:auto;z-index:2;min-height:0;width:auto;margin:10px -12px -12px;padding:20px;overflow:hidden;border-radius:14px;background:var(--surface);box-sizing:border-box;pointer-events:auto}@keyframes hhtv-film-expand{from{grid-template-rows:0fr;opacity:0;transform:translateY(-7px)}to{grid-template-rows:1fr;opacity:1;transform:translateY(0)}}@keyframes hhtv-film-collapse{from{grid-template-rows:1fr;opacity:1;transform:translateY(0)}to{grid-template-rows:0fr;opacity:0;transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.hhtv-film-expand,.hhtv-film-expand.is-closing{animation-duration:.01ms}}
@media(max-width:760px){.hhtv-film-plays{display:none}.hhtv-film-expand{grid-column:1/-1;grid-row:auto}.hhtv-film-expand>.hhtv-film-side{position:relative;inset:auto;z-index:2;margin:8px 0 0;padding:16px;border-radius:12px;overflow:hidden}}
/* Announcements page (Nov 2026 rework). One type scale: 12 meta, 14 body and
   controls, 16 inputs and card titles' line, serif for step headings only.
   The status list sits above the composer, so the composer gets full width. */
.hhtv-ann-page{display:grid;gap:16px;min-width:0}
.hhtv-ann-page :is(button,input,textarea){font-family:Inter,sans-serif}
.hhtv-ann-page button{cursor:pointer}
.hhtv-ann-page button:disabled{cursor:default}
.hhtv-ann-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hhtv-ann-bar>.hhtv-segments{margin:0}
.hhtv-ann-bar>.hhtv-button{min-height:44px;font-size:14px}
.hhtv-ann-tabs button{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.hhtv-ann-tabs small{min-width:18px;padding:1px 6px;border-radius:99px;background:var(--border-soft);color:var(--text);font:600 12px/1.4 Inter,sans-serif;text-align:center}
.hhtv-ann-tabs [aria-pressed=true] small{background:color-mix(in srgb,var(--bg) 22%,transparent);color:inherit}
.hhtv-ann-tabs small.is-alert{background:var(--danger);color:#fff}
.hhtv-ann-list{display:grid;margin:0;padding:0;list-style:none;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);overflow:hidden}
.hhtv-ann-none{margin:0;padding:12px 16px;border:1px dashed var(--border);border-radius:12px;color:var(--text-soft);font-size:14px}
.hhtv-ann-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:56px;padding:10px 16px}
.hhtv-ann-item+.hhtv-ann-item{border-top:1px solid var(--border-soft)}
.hhtv-ann-item.is-editing{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.hhtv-ann-item-text{min-width:0}
.hhtv-ann-item strong{display:block;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.hhtv-ann-item small{display:block;margin-top:2px;color:var(--text-soft);font-size:12px;line-height:1.4}
.hhtv-ann-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.hhtv-ann-item-actions button,.hhtv-ann-quiet{min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font-size:14px;font-weight:500}
.hhtv-ann-item-actions button:hover,.hhtv-ann-quiet:hover:not(:disabled){border-color:var(--text-soft)}
.hhtv-ann-more{justify-self:start;min-height:36px;margin-top:-8px;padding:0 4px;border:0;background:none;color:var(--text);font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.hhtv-ann-thumb{display:block;flex:none;width:64px;height:36px;border-radius:6px;object-fit:cover;background:var(--border-soft)}
.hhtv-ann-compose{min-width:0;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}
.hhtv-ann-compose-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid var(--border-soft)}
.hhtv-ann-compose-head h3{margin:0;font:400 24px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-ann-compose-head p{margin:0;color:var(--text-soft);font-size:14px}
.hhtv-ann-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;margin:0!important;padding:20px 24px;border-bottom:1px solid var(--border-soft)}
.hhtv-ann-step>div{min-width:0}
.hhtv-ann-step>b{display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:50%;background:var(--text);color:var(--surface);font:600 12px Inter,sans-serif}
.hhtv-ann-step h4{margin:0 0 12px;font:400 22px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-ann-step h5,.hhtv-ann-preview h5{margin:0;color:var(--text-soft);font:600 12px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.hhtv-ann-step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.hhtv-ann-step-head h4{margin-top:6px}
.hhtv-ann-step .hhtv-segments{margin:0}
.hhtv-ann-step .hhtv-segments button{font-size:14px}
.hhtv-ann-page .hhtv-segments.hhtv-ann-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;box-sizing:border-box}
.hhtv-ann-page .hhtv-ann-kinds>button{justify-content:center;min-width:0;padding:0 8px;white-space:normal;line-height:1.25}
.hhtv-ann-sub{margin-top:20px}
.hhtv-ann-sub h5{margin-bottom:8px}
/* Selectable cards: films, groups and channels share one look. */
.hhtv-ann-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px}
.hhtv-ann-sub .hhtv-ann-cards{margin-top:0}
.hhtv-ann-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 22px;gap:12px;align-items:center;min-width:0;min-height:64px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;transition:border-color .12s,background .12s,box-shadow .12s}
.hhtv-ann-card:hover:not(:disabled){border-color:var(--text-soft)}
.hhtv-ann-card[aria-pressed=true]{border-color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 0 0 0 1px var(--text)}
.hhtv-ann-card:disabled{opacity:.55}
.hhtv-ann-card>span:not(.hhtv-ann-faces):not(.hhtv-ann-glyph){min-width:0}
.hhtv-ann-card strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.hhtv-ann-card small{display:block;margin-top:2px;color:var(--text-soft);font-size:12px;line-height:1.35}
.hhtv-ann-tick{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--border);border-radius:50%;color:transparent}
.hhtv-ann-tick svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hhtv-ann-card[aria-pressed=true] .hhtv-ann-tick{border-color:var(--text);background:var(--text);color:var(--surface)}
.hhtv-ann-faces{display:flex;min-width:44px}
.hhtv-ann-faces img,.hhtv-ann-faces i{display:grid;place-items:center;width:32px;height:32px;margin-right:-8px;border:2px solid var(--surface);border-radius:50%;object-fit:cover;background:var(--accent);color:#15140f;font:600 12px Inter,sans-serif;font-style:normal}
.hhtv-ann-glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--paper)}
.hhtv-ann-glyph svg,.hhtv-ann-choose-action svg,.hhtv-ann-when-line svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hhtv-ann-channels{grid-template-columns:repeat(2,minmax(0,1fr))}
.hhtv-ann-reach{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:var(--paper);color:var(--text-soft);font-size:14px;line-height:1.45}
.hhtv-ann-reach strong{color:var(--text)}
/* Step 1's content chooser: a real control, not a text row. */
.hhtv-ann-picker{min-width:0;margin-top:12px}
.hhtv-ann-choose{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:56px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;list-style:none}
.hhtv-ann-choose::-webkit-details-marker{display:none}
.hhtv-ann-choose:hover{border-color:var(--text-soft)}
.hhtv-ann-choose.is-empty{border-style:dashed}
.hhtv-ann-choose small{display:block;color:var(--text-soft);font-size:12px}
.hhtv-ann-choose strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.hhtv-ann-choose-action{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px 0 12px;border-radius:8px;background:var(--paper);font-size:14px;font-weight:500}
.hhtv-ann-picker[open] .hhtv-ann-choose{border-color:var(--text);border-bottom-left-radius:0;border-bottom-right-radius:0}
.hhtv-ann-picker[open] .hhtv-ann-choose-action svg{transform:rotate(180deg)}
.hhtv-ann-picker-body{padding:12px;border:1px solid var(--text);border-top:0;border-radius:0 0 10px 10px;background:var(--paper)}
.hhtv-ann-picker-body .hhtv-ann-card{background:var(--surface)}
.hhtv-ann-film-cards .hhtv-ann-thumb{width:72px;height:40px}
/* Long lists scroll inside their pane, so the rest of the form stays in reach. */
.hhtv-ann-film-cards,.hhtv-ann-people{max-height:min(420px,55vh);overflow-y:auto;overscroll-behavior:contain;padding:2px;align-content:start}
.hhtv-ann-film-cards{margin-top:0}
.hhtv-ann-picker-actions{display:flex;justify-content:flex-end;margin-top:12px}
.hhtv-ann-picker-empty{grid-column:1/-1;margin:0;color:var(--text-soft);font-size:14px}
.hhtv-ann-hint{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:var(--paper);color:var(--text-soft);font-size:14px;line-height:1.45}
/* Fields */
.hhtv-ann-field{display:grid;gap:6px;min-width:0;margin-bottom:12px;color:var(--text-soft);font-size:14px;font-weight:500}
.hhtv-ann-field small{font-size:12px;font-weight:400}
.hhtv-ann-field :is(input,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:400 16px/1.5 Inter,sans-serif}
.hhtv-ann-field textarea{min-height:168px;resize:vertical}
.hhtv-ann-field :is(input,textarea):focus{border-color:var(--text);outline:none}
.hhtv-ann-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px}
.hhtv-ann-people label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:52px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer}
.hhtv-ann-people label:has(input:checked){border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
.hhtv-ann-people label.is-disabled{opacity:.5;cursor:default}
.hhtv-ann-people input{width:18px;height:18px;accent-color:var(--text)}
.hhtv-ann-people strong{display:block;font-size:14px;font-weight:600}
.hhtv-ann-people small{display:block;margin-top:2px;color:var(--text-soft);font-size:12px}
/* Step 3: message and preview */
.hhtv-ann-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.hhtv-ann-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.hhtv-ann-tokens small{margin-right:2px;color:var(--text-soft);font-size:12px}
.hhtv-ann-tokens button{min-height:32px;padding:0 10px;border:1px dashed var(--border);border-radius:99px;background:none;color:var(--text);font-size:12px}
.hhtv-ann-tokens button:hover{border-style:solid;border-color:var(--text-soft)}
.hhtv-ann-preview{min-width:0;padding:16px;border-radius:12px;background:var(--paper)}
.hhtv-ann-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:12px}
.hhtv-ann-preview-tabs button{min-height:32px!important;padding:0 12px!important;font-size:12px!important}
.hhtv-ann-mail,.hhtv-ann-sms{min-width:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.hhtv-ann-mail{padding:16px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}
.hhtv-ann-mail dl{display:grid;gap:2px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border-soft);font-size:12px}
.hhtv-ann-mail dl div{display:flex;gap:8px}
.hhtv-ann-mail dt{width:36px;color:var(--text-soft)}
.hhtv-ann-mail dd{margin:0}
.hhtv-ann-mail>strong{display:block;margin-bottom:8px;font-size:16px}
.hhtv-ann-mail p,.hhtv-ann-sms p{margin:0}
.hhtv-ann-link{color:var(--text);text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.hhtv-ann-sms small{display:block;margin-bottom:8px;color:var(--text-soft);font-size:12px}
.hhtv-ann-sms p{max-width:88%;padding:10px 14px;border-radius:16px 16px 16px 4px;background:var(--surface);border:1px solid var(--border-soft)}
/* Step 4: when */
.hhtv-ann-when{display:grid;gap:12px;justify-items:start}
.hhtv-ann-when-tabs{min-width:240px}
.hhtv-ann-when-tabs button{flex:1}
.hhtv-ann-quick{display:flex;flex-wrap:wrap;gap:6px}
.hhtv-ann-quick button{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text);font-size:14px}
.hhtv-ann-quick button:hover{border-color:var(--text-soft)}
.hhtv-ann-quick button[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--surface)}
.hhtv-ann-datetime{display:grid;grid-template-columns:minmax(0,180px) minmax(0,130px);gap:12px;width:100%}
.hhtv-ann-datetime .hhtv-ann-field{margin:0}
.hhtv-ann-when-line{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-soft);font-size:14px}
.hhtv-ann-when-line strong{color:var(--text)}
/* Footer */
.hhtv-ann-summary{position:sticky;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border);border-radius:0 0 12px 12px;background:var(--paper)}
.hhtv-ann-summary p{display:grid;gap:2px;min-width:0;margin:0;font-size:14px;line-height:1.4}
.hhtv-ann-summary p strong{overflow-wrap:anywhere}
.hhtv-ann-summary p span{color:var(--text-soft);font-size:12px}
.hhtv-ann-summary>span{display:flex;gap:8px;flex:none}
.hhtv-ann-summary .hhtv-ann-quiet{min-height:44px}
.hhtv-ann-summary .hhtv-button{min-height:44px;font-size:14px}
@media(max-width:760px){
  .hhtv-ann-bar{flex-direction:column;align-items:stretch}
  .hhtv-ann-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box}
  .hhtv-ann-tabs button{justify-content:center}
  .hhtv-ann-compose-head{padding:16px}
  .hhtv-ann-step{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}
  .hhtv-ann-step>b{display:none}
  .hhtv-ann-page .hhtv-segments.hhtv-ann-kinds{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hhtv-ann-item{grid-template-columns:auto minmax(0,1fr);padding:12px}
  .hhtv-ann-item-actions{grid-column:1/-1;justify-content:flex-start}
  .hhtv-ann-cards,.hhtv-ann-channels,.hhtv-ann-people,.hhtv-ann-copy{grid-template-columns:minmax(0,1fr)}
  .hhtv-ann-when,.hhtv-ann-when-tabs{width:100%;min-width:0}
  .hhtv-ann-datetime{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hhtv-ann-summary{flex-direction:column;align-items:stretch;padding:16px}
  .hhtv-ann-summary>span>*{flex:1}
}
/* ── Manage films, tidied (6 Nov 2026) ─────────────────────────────────────
   One spacing rhythm (24px desktop / 16px phone) between strip, filters and
   list; menus and the Who-sees-it popover render on <body> (.hhtv-film-pop)
   so no row or panel can paint over them. */
.hhtv-films-v3{display:flex;flex-direction:column;gap:24px}
.hhtv-films-v3.hhtv-films-v3>*{margin:0!important}
.hhtv-film-strip{padding:20px 24px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}
.hhtv-films-v3 .hhtv-film-strip.is-idle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}
.hhtv-film-strip.is-idle p{margin:0;color:var(--text-soft);font-size:14px;line-height:1.45}
.hhtv-film-strip.is-idle p strong{color:var(--text);font-weight:600}
.hhtv-film-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hhtv-film-strip-head h3{margin:0;font:400 22px 'DM Serif Display',Georgia,serif}
.hhtv-films-v3 .hhtv-film-journey-strip ol{margin:20px 0 4px}
.hhtv-films-v3 .hhtv-film-row-v2,.hhtv-films-v3 .hhtv-film-row-v2.is-selected{margin-inline:0;padding-inline:5px}
.hhtv-films-v3 .hhtv-film-row-v2.is-selected{box-shadow:-8px 0 0 color-mix(in srgb,var(--accent) 8%,var(--surface)),8px 0 0 color-mix(in srgb,var(--accent) 8%,var(--surface));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.hhtv-film-pulse{display:inline-flex;align-items:center;gap:7px;color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace;white-space:nowrap}
.hhtv-film-pulse i{width:7px;height:7px;border-radius:50%;background:#3c9a4f;box-shadow:0 0 0 3px #3c9a4f26}
.hhtv-films-v3 .hhtv-film-filter-tiles{gap:16px}
.hhtv-films-v3 .hhtv-film-filter-tiles>button{min-height:0;padding:16px 18px;gap:6px 12px}
.hhtv-films-v3 .hhtv-film-filter-tiles>button[aria-pressed=true]{padding:15px 17px}
.hhtv-films-v3 .hhtv-film-filter-tiles>button.is-alert strong{color:#9a6200}
body.dark .hhtv-films-v3 .hhtv-film-filter-tiles>button.is-alert strong{color:#e3b552}
.hhtv-films-v3 .hhtv-film-board{padding:20px 24px}
.hhtv-film-board-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.hhtv-film-board-head h3{margin:0 auto 0 0;font:400 28px 'DM Serif Display',Georgia,serif}
.hhtv-film-board-head .hhtv-segments{margin:0}
.hhtv-film-search input{box-sizing:border-box;width:220px;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font:400 15px Inter,sans-serif}
.hhtv-film-search input:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}
.hhtv-films-v3 .hhtv-film-pipeline-v2{margin-top:12px}
.hhtv-films-v3 .hhtv-film-row-v2{grid-template-columns:minmax(240px,1.6fr) minmax(110px,.7fr) minmax(96px,.7fr) 64px minmax(120px,.8fr) 196px;gap:14px}
.hhtv-films-v3 .hhtv-film-row-v2>.hhtv-film-cell{pointer-events:auto}
.hhtv-film-cell{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:36px;margin:0 0 0 -10px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:none;color:var(--text-soft);font:400 14px/1.3 Inter,sans-serif;text-align:left;cursor:pointer}
.hhtv-film-cell:hover,.hhtv-film-cell[aria-expanded=true]{border-color:var(--border);background:var(--paper);color:var(--text)}
.hhtv-films-v3 .hhtv-film-who::after{content:'';display:inline-block;width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.55;transform:translateY(-3px) rotate(45deg)}
.hhtv-films-v3 .hhtv-film-plays{display:flex;flex-direction:column;align-items:center;justify-self:center;gap:1px;margin:0;padding:4px 10px;color:var(--text)}
.hhtv-films-v3 .hhtv-film-plays span{font:500 15px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-films-v3 .hhtv-film-plays small{color:var(--text-soft);font:500 10px Inter,sans-serif}
.hhtv-films-v3 .hhtv-detail-summary,.hhtv-films-v3 .hhtv-detail-summary.is-done,.hhtv-films-v3 .hhtv-detail-summary.is-required{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:0;padding:0;border-radius:0;background:none;color:var(--text-soft);font:500 13px/1.35 Inter,sans-serif;text-align:left}
.hhtv-films-v3 .hhtv-detail-summary::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:var(--border)}
.hhtv-films-v3 .hhtv-detail-summary.is-done::before{background:#4f9b5c}
.hhtv-films-v3 .hhtv-detail-summary.is-required{color:#8a5a00}
body.dark .hhtv-films-v3 .hhtv-detail-summary.is-required{color:#e3b552}
.hhtv-films-v3 .hhtv-detail-summary.is-required::before{background:#d6a633}
.hhtv-films-v3 .hhtv-film-next{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.hhtv-films-v3 .hhtv-film-step{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:152px;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:600 13px Inter,sans-serif;white-space:nowrap;cursor:pointer}
.hhtv-films-v3 .hhtv-film-step:hover{background:var(--paper)}
.hhtv-films-v3 .hhtv-film-step.is-primary{border-color:var(--accent-deep);background:var(--accent);color:#15140f}
.hhtv-films-v3 .hhtv-film-step.is-primary:hover{background:#dcf23f}
.hhtv-films-v3 .hhtv-film-step.is-done{color:var(--text-soft)}
.hhtv-films-v3 .hhtv-film-step.is-done::before{content:'✓';font-weight:600}
.hhtv-films-v3 .hhtv-film-step.is-done:hover{color:var(--text)}
.hhtv-films-v3 .hhtv-film-more{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-soft);cursor:pointer}
.hhtv-films-v3 .hhtv-film-more svg{width:18px;height:18px;fill:currentColor}
.hhtv-films-v3 .hhtv-film-more:hover,.hhtv-films-v3 .hhtv-film-more[aria-expanded=true]{background:var(--paper);color:var(--text)}
.hhtv-films-v3 .hhtv-film-step:focus-visible,.hhtv-films-v3 .hhtv-film-more:focus-visible,.hhtv-film-cell:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
.hhtv-films-v3 .hhtv-row-note,.hhtv-films-v3 .hhtv-row-error{font-size:13px}
/* Expanded film: Watching (live films) above Journey and Details.
   Numbers and viewers on the left, the chart on the right; stacks when narrow. */
.hhtv-film-watching{margin:16px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--border-soft);container-type:inline-size}
.hhtv-film-watching:focus{outline:none}
.hhtv-film-watching-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hhtv-film-watching-head h4{margin:0;font:400 21px 'DM Serif Display',Georgia,serif}
.hhtv-film-watching-head .hhtv-segments{margin:0}
.hhtv-film-watch-body{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start}
.hhtv-film-watch-side{display:grid;gap:16px;min-width:0}
.hhtv-film-side .hhtv-film-watch-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.hhtv-film-side .hhtv-film-watch-facts>div{padding:12px 14px}
.hhtv-film-watch-facts>div{padding:12px 14px;border-radius:10px;background:var(--paper)}
.hhtv-film-watch-facts dt{color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase}
.hhtv-film-watch-facts dd{margin:4px 0 0;font:400 24px/1.1 'DM Serif Display',Georgia,serif}
.hhtv-film-viewers{list-style:none;margin:0;padding:0}
.hhtv-film-viewers li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;border-top:1px solid var(--border-soft)}
.hhtv-film-viewers li>span{min-width:0}
.hhtv-film-viewers li strong{display:block;overflow:hidden;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.hhtv-film-viewers li span small,.hhtv-film-viewers li>small{display:block;color:var(--text-soft);font-size:12px}
.hhtv-film-plot{margin:0;padding:16px 16px 12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);min-width:0}
.hhtv-film-plot figcaption{margin-bottom:12px;color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase}
.hhtv-film-plot.is-empty{display:grid;place-items:center;min-height:180px}
.hhtv-film-plot.is-empty p{margin:0;color:var(--text-soft);font-size:14px}
.hhtv-film-plot-area{position:relative;height:180px;margin-left:24px;border-bottom:1px solid var(--border)}
.hhtv-film-tick{position:absolute;left:0;right:0;bottom:var(--at);border-top:1px dashed var(--border-soft);pointer-events:none}
.hhtv-film-tick small{position:absolute;right:100%;top:-8px;padding-right:8px;color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-film-chart{position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:2px;height:100%}
.hhtv-films-v3 .hhtv-film-side .hhtv-film-chart>button{position:relative;flex:1 1 0;max-width:22px;min-width:3px;min-height:0;padding:0;border:0;border-radius:0;background:none;cursor:pointer}
.hhtv-film-chart>button>span{position:absolute;left:0;right:0;bottom:0;height:var(--bar);border-radius:4px 4px 0 0;background:var(--text)}
.hhtv-film-chart>button.is-zero>span{height:2px;border-radius:1px;background:var(--border-soft)}
.hhtv-films-v3 .hhtv-film-side .hhtv-film-chart>button.is-active>span,.hhtv-films-v3 .hhtv-film-side .hhtv-film-chart>button:focus-visible>span{background:var(--accent-deep)}
.hhtv-film-chart>button:focus-visible{outline:none}
.hhtv-film-axis{display:flex;justify-content:space-between;gap:8px;margin:6px 0 0 24px;color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace}
.hhtv-film-plot .hhtv-chart-tip{min-height:20px;margin:10px 0 0 24px;color:var(--text);font-size:13px}
.hhtv-film-watch-note{margin:12px 0 0;color:var(--text-soft);font-size:12px;line-height:1.45}
@container (max-width:640px){.hhtv-film-watch-body{grid-template-columns:minmax(0,1fr)}}
/* Popovers on <body> */
.hhtv-film-pop{position:fixed;z-index:1000;box-sizing:border-box;min-width:210px;max-width:min(320px,calc(100vw - 16px));padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 16px 40px #0000002e,0 2px 6px #00000014;font:400 14px Inter,sans-serif}
.hhtv-film-pop[hidden]{display:none}
.hhtv-film-pop.is-who{width:300px;padding:16px}
.hhtv-film-pop [role=menuitem]{display:block;width:100%;min-height:38px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--text);font:500 14px Inter,sans-serif;text-align:left;cursor:pointer}
.hhtv-film-pop [role=menuitem]:hover,.hhtv-film-pop [role=menuitem]:focus-visible{background:var(--paper);outline:none}
.hhtv-film-pop [role=menuitem].is-danger{color:var(--danger)}
.hhtv-film-pop hr{margin:6px 4px;border:0;border-top:1px solid var(--border-soft)}
.hhtv-film-pop strong{display:block;font-size:15px;font-weight:600}
.hhtv-film-pop p{margin:6px 0 0;color:var(--text-soft);font-size:13px;line-height:1.45}
.hhtv-film-pop-confirm{padding:10px}
.hhtv-film-pop-confirm>div,.hhtv-film-pop-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}
.hhtv-film-pop-actions>span{flex:1}
.hhtv-film-pop-confirm button,.hhtv-film-pop-actions button{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:600 13px Inter,sans-serif;cursor:pointer}
.hhtv-film-pop button.is-primary{border-color:var(--accent-deep);background:var(--accent);color:#15140f}
.hhtv-film-pop-confirm button.is-danger{border-color:var(--danger);background:var(--danger);color:#fff}
.hhtv-film-pop button:disabled{opacity:.5;cursor:default}
.hhtv-film-pop .hhtv-film-pop-actions button[data-pop=people]{padding:0;border:0;background:none;color:var(--text-soft);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.hhtv-film-pop button:focus-visible,.hhtv-film-pop input:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
.hhtv-film-pop-option{display:flex;align-items:flex-start;gap:10px;margin-top:12px;cursor:pointer}
.hhtv-film-pop-option input{margin:3px 0 0;accent-color:var(--text)}
.hhtv-film-pop-option small{display:block;color:var(--text-soft);font-size:12px}
.hhtv-film-pop-groups{display:grid;gap:2px;max-height:220px;margin:8px 0 0 24px;padding:0;overflow:auto;border:0}
.hhtv-film-pop-groups:disabled{opacity:.45}
.hhtv-film-pop-groups label{display:flex;align-items:center;gap:10px;min-height:36px;cursor:pointer}
.hhtv-film-pop-groups input{accent-color:var(--text)}
.hhtv-film-pop-groups small{margin-left:auto;color:var(--text-soft);font:500 11px 'JetBrains Mono',ui-monospace,monospace}
@media(max-width:1350px){.hhtv-films-v3 .hhtv-film-row-v2{grid-template-columns:minmax(200px,1.6fr) minmax(105px,.7fr) minmax(96px,.7fr) 56px 196px;gap:10px}.hhtv-films-v3 .hhtv-film-row-v2>.hhtv-detail-summary{display:none}}
@media(max-width:1100px){.hhtv-films-v3 .hhtv-film-row-v2{grid-template-columns:minmax(0,1fr) auto 56px auto}.hhtv-films-v3 .hhtv-film-row-v2>.hhtv-detail-summary,.hhtv-films-v3 .hhtv-film-row-v2>.hhtv-film-who{display:none}.hhtv-films-v3 .hhtv-film-main>img,.hhtv-films-v3 .hhtv-film-main>.hhtv-film-cover{width:88px}}
@media(max-width:760px){
  .hhtv-films-v3{gap:16px}
  .hhtv-films-v3 .hhtv-film-step{width:auto}
  .hhtv-films-v3 .hhtv-film-strip.is-idle{align-items:flex-start;flex-direction:column;gap:6px;padding:14px 16px}
  .hhtv-film-strip{padding:16px}
  .hhtv-films-v3 .hhtv-film-filter-tiles{gap:8px}
  .hhtv-films-v3 .hhtv-film-filter-tiles>button{padding:12px 14px}.hhtv-films-v3 .hhtv-film-filter-tiles>button[aria-pressed=true]{padding:11px 13px}
  .hhtv-films-v3 .hhtv-film-filter-tiles strong{font-size:24px}
  .hhtv-films-v3 .hhtv-film-board{padding:16px}
  .hhtv-film-board-head h3{font-size:24px}
  .hhtv-film-search{order:3;flex:1 1 100%}.hhtv-film-search input{width:100%}
  .hhtv-films-v3 .hhtv-film-row-v2{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .hhtv-films-v3 .hhtv-film-row-v2>.hhtv-film-cell{display:none}
  .hhtv-film-watching-head .hhtv-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.hhtv-film-watching-head .hhtv-segments button{padding-inline:4px;font-size:13px}
}
@media(pointer:coarse){.hhtv-films-v3 .hhtv-film-step{min-height:44px}.hhtv-films-v3 .hhtv-film-more{width:44px;height:44px}.hhtv-film-pop [role=menuitem]{min-height:44px}.hhtv-film-pop-confirm button,.hhtv-film-pop-actions button{min-height:44px}}
.hhtv-films-v3 .hhtv-film-side [data-film-close]{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:600 13px Inter,sans-serif}
.hhtv-films-v3 .hhtv-film-side-actions button{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:600 13px Inter,sans-serif}
.hhtv-films-v3 .hhtv-film-side-actions button:hover,.hhtv-films-v3 .hhtv-film-side [data-film-close]:hover{background:var(--paper)}
.hhtv-films-v3 .hhtv-film-side{border-color:var(--border)}
/* Activity & viewers → Activity (refined 6 Nov): day groups, a fixed kind column
   with a coloured dot, filter chips, and only the film title as the link. */
.hhtv-activity-v2{--act-play:#3f8f4f;--act-comment:#3d6fb8;--act-sign-in:#8a7f6c;--act-announcement:#b5781b;--act-message:#7a5bb5;--act-passkey:#4f8a8b;--act-film-live:#8aa31a}
body.dark .hhtv-activity-v2{--act-play:#6fc27f;--act-comment:#7ea8ec;--act-sign-in:#b3ab9c;--act-announcement:#e3a64a;--act-message:#ac90e6;--act-passkey:#7fc0c1;--act-film-live:#c7e04a}
.hhtv-activity-v2 .is-play{--act:var(--act-play)}.hhtv-activity-v2 .is-comment{--act:var(--act-comment)}.hhtv-activity-v2 .is-sign-in{--act:var(--act-sign-in)}.hhtv-activity-v2 .is-announcement{--act:var(--act-announcement)}.hhtv-activity-v2 .is-message{--act:var(--act-message)}.hhtv-activity-v2 .is-passkey{--act:var(--act-passkey)}.hhtv-activity-v2 .is-film-live{--act:var(--act-film-live)}
.hhtv-activity-heading{margin-bottom:14px}
.hhtv-activity-heading h3{margin:0;font-size:24px}
.hhtv-activity-summary{margin-left:auto;color:var(--text-soft);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.hhtv-activity-v2 .hhtv-activity-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 8px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}
.hhtv-activity-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%;min-width:0}
.hhtv-activity-chips button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--paper);color:var(--text);font:500 14px/1 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.hhtv-activity-chips button:hover{border-color:var(--text-soft)}
.hhtv-activity-chips button[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--surface)}
.hhtv-activity-chips button i,.hhtv-activity-v2 .hhtv-activity-kind i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--act)}
.hhtv-activity-chips button[aria-pressed=true] i{box-shadow:0 0 0 2px var(--surface)}
.hhtv-activity-person{flex:0 1 200px;min-width:0}.hhtv-activity-person>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hhtv-activity-person select{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font-size:15px}
.hhtv-activity-clear{min-height:36px;padding:0 4px;border:0;background:none;color:var(--text-soft);font:500 14px Inter,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hhtv-activity-clear:hover{color:var(--text)}
.hhtv-activity-days{transition:opacity .15s ease}
.hhtv-activity-days.is-loading{opacity:.5;pointer-events:none}
.hhtv-activity-day h4{margin:0;padding:18px 0 8px;background:var(--surface);color:var(--text-soft);font:600 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.hhtv-activity-v2 ol{list-style:none;margin:0;padding:0}
.hhtv-activity-v2 li{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:16px;align-items:start;min-height:0;padding:11px 0;border-top:1px solid var(--border-soft)}
.hhtv-activity-v2 li:first-child{border-top:0}
.hhtv-activity-v2 .hhtv-activity-kind{display:inline-flex;align-items:center;gap:8px;width:auto;max-width:none;padding:0;border-radius:0;background:none;min-height:22px;color:var(--text-soft);font-size:13px;font-weight:500;line-height:22px;white-space:nowrap;overflow-wrap:normal}
.hhtv-activity-v2 .hhtv-activity-kind i{align-self:center}
.hhtv-activity-line{min-width:0;margin:0;color:var(--text);font-size:15px;line-height:22px;overflow-wrap:anywhere}
.hhtv-activity-line strong{font-weight:600}
.hhtv-activity-v2 .hhtv-activity-film{display:inline;min-height:0;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:500;text-align:left;text-decoration:underline;text-decoration-color:var(--border);text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.hhtv-activity-v2 .hhtv-activity-film:hover{text-decoration-color:currentColor}
.hhtv-activity-count{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--border-soft);color:var(--text-soft);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;vertical-align:1px}
.hhtv-activity-v2 li time{color:var(--text-soft);font-size:13px;font-variant-numeric:tabular-nums;line-height:22px;white-space:nowrap;text-align:right}
.hhtv-activity-v2 .hhtv-empty{margin:0;padding:28px 0;color:var(--text-soft)}
.hhtv-activity-more{display:block;margin:16px auto 0}
@media(max-width:760px){
  .hhtv-activity-v2{padding:16px}
  .hhtv-activity-chips{flex-wrap:nowrap;padding:2px 24px 2px 0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .hhtv-activity-chips::-webkit-scrollbar{display:none}
  .hhtv-activity-chips button{flex:none;min-height:40px}
  .hhtv-activity-person{flex:1 1 160px}
  .hhtv-activity-person select{min-height:44px;font-size:16px}
  .hhtv-activity-v2 li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0}
  .hhtv-activity-v2 .hhtv-activity-kind{grid-column:1;grid-row:1}
  .hhtv-activity-v2 li time{grid-column:2;grid-row:1}
  .hhtv-activity-line{grid-column:1/-1;grid-row:2}
}
@media(prefers-reduced-motion:reduce){.hhtv-activity-days{transition:none}}
/* Activity & viewers → Viewers (refined 6 Nov): a real table, numbers right-aligned,
   honest periods, cards on phones with a Sort by control. */
.hhtv-viewers-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 16px;flex-wrap:wrap;margin-bottom:14px}
.hhtv-viewers-heading h3{margin:0;font:400 24px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-viewers-heading p{margin:4px 0 0;color:var(--text-soft);font-size:14px}
.hhtv-viewer-sort-select{display:none}
.hhtv-viewer-scroll{overflow-x:auto;overscroll-behavior-inline:contain}
.hhtv-viewer-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.hhtv-viewer-table caption{caption-side:bottom;padding:14px 0 0;color:var(--text-soft);font-size:13px;text-align:left}
.hhtv-viewer-table th,.hhtv-viewer-table td{padding:10px 12px;border-top:1px solid var(--border-soft);text-align:left;vertical-align:middle;white-space:nowrap}
.hhtv-viewer-table :is(th,td):first-child{padding-left:0}.hhtv-viewer-table :is(th,td):last-child{padding-right:0}
.hhtv-viewer-table thead th{padding-top:0;padding-bottom:8px;border-top:0;border-bottom:1px solid var(--border)}
.hhtv-viewer-table .is-num{text-align:right}
.hhtv-viewer-table thead button{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0;border:0;background:none;color:var(--text-soft);font:500 13px Inter,system-ui,sans-serif;cursor:pointer}
.hhtv-viewer-table thead button:hover,.hhtv-viewer-table th[aria-sort=ascending] button,.hhtv-viewer-table th[aria-sort=descending] button{color:var(--text)}
.hhtv-sort-mark{display:inline-block;min-width:.8em;font-size:12px}
.hhtv-viewer-table .is-num .hhtv-sort-mark{order:-1}
.hhtv-viewer-table tbody tr{cursor:pointer;transition:background-color .12s ease}
.hhtv-viewer-table tbody tr:hover{background:var(--paper)}
.hhtv-viewer-table tbody th{width:40%;font-weight:400}
.hhtv-viewer-table tbody th button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.hhtv-viewer-table tbody th button>span{display:grid;min-width:0}
.hhtv-viewer-table tbody th strong{overflow:hidden;font-weight:600;text-overflow:ellipsis}
.hhtv-viewer-table tbody th small{color:var(--text-soft);font-size:12px}
.hhtv-viewer-table .hhtv-list-avatar{flex:none}
.hhtv-viewer-table tr.is-invited .hhtv-list-avatar,.hhtv-viewer-table tr.is-off .hhtv-list-avatar{background:var(--border-soft);color:var(--text-soft)}
.hhtv-viewer-table td.is-zero{color:var(--text-soft)}
.hhtv-viewer-status em{display:inline-block;padding:3px 9px;border-radius:999px;background:#dff4df;color:#164b1c;font-size:12px;font-style:normal;font-weight:500}
.hhtv-viewer-status em.is-invited{background:#fff0c8;color:#6d4a00}
.hhtv-viewer-status em.is-off{background:var(--border-soft);color:var(--text-soft)}
body.dark .hhtv-viewer-status em{background:#1f3a24;color:#a9e2b2}
body.dark .hhtv-viewer-status em.is-invited{background:#3d3214;color:#f1d48a}
body.dark .hhtv-viewer-status em.is-off{background:var(--border-soft);color:var(--text-soft)}
@media(max-width:900px){
  .hhtv-viewers-v2{padding:16px}
  .hhtv-viewer-sort-select{display:grid;gap:4px;min-width:0;color:var(--text-soft);font-size:13px;font-weight:500}
  .hhtv-viewer-sort-select select{min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font-size:16px}
  .hhtv-viewer-scroll{overflow:visible}
  .hhtv-viewer-table{display:flex;flex-direction:column}.hhtv-viewer-table tbody{display:block;order:1}
  .hhtv-viewer-table thead{display:none}
  .hhtv-viewer-table caption{display:block;order:2;padding:12px 0 0;border-top:1px solid var(--border-soft)}
  .hhtv-viewer-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:14px 0;border-top:1px solid var(--border-soft)}
  .hhtv-viewer-table tbody tr:first-child{border-top:0;padding-top:4px}
  .hhtv-viewer-table tbody tr:hover{background:none}
  .hhtv-viewer-table tbody :is(th,td),.hhtv-viewer-table tbody td.is-num{display:block;width:auto;padding:0;border:0;text-align:left;white-space:normal}
  .hhtv-viewer-table tbody th{grid-column:1/3;grid-row:1}
  .hhtv-viewer-table tbody th button{min-height:40px}
  .hhtv-viewer-status{grid-column:3;grid-row:1;align-self:center;justify-self:end}
  .hhtv-viewer-table td[data-label]:not(.hhtv-viewer-status)::before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--text-soft);font-size:12px;font-weight:500}
  .hhtv-viewer-table td.hhtv-viewer-last{grid-column:1/-1;display:flex;gap:6px;align-items:baseline;color:var(--text-soft);font-size:13px}
  .hhtv-viewer-table td.hhtv-viewer-last::before{display:inline;margin:0;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.hhtv-viewer-table tbody tr{transition:none}}
/* Admin message centre: toolbar (tabs + New message), list, thread/composer, about. */
.hhtv-msg-centre{display:grid;gap:16px;min-width:0}
.hhtv-msg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hhtv-msg-toolbar>.hhtv-segments{margin:0}
.hhtv-msg-toolbar .hhtv-segments small{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:99px;background:#15140f;color:var(--accent);font:600 11px Inter,sans-serif}
.hhtv-msg-toolbar>.hhtv-button{min-height:44px}
.hhtv-msg-page{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:600px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);overflow:hidden}
.hhtv-msg-page.has-about{grid-template-columns:300px minmax(0,1fr) 240px}
.hhtv-msg-list{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border-right:1px solid var(--border-soft);background:var(--paper)}
.hhtv-msg-search{box-sizing:border-box;width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:400 15px Inter,sans-serif}
.hhtv-msg-list>.hhtv-msg-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;box-sizing:border-box}
.hhtv-msg-list>.hhtv-msg-filter button{padding:0 8px;font-size:13px}
.hhtv-msg-rows{display:grid;gap:2px;align-content:start;overflow:auto;min-height:0}
.hhtv-msg-rows>button{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:64px;padding:10px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.hhtv-msg-rows>button:hover{background:var(--surface)}
.hhtv-msg-rows>button[aria-current=true]{border-color:var(--border);background:var(--surface)}
.hhtv-msg-rows>button>span:nth-child(2){min-width:0}
.hhtv-msg-rows strong,.hhtv-msg-rows small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hhtv-msg-rows strong{font:500 14px Inter,sans-serif}.hhtv-msg-rows strong em{font-style:normal;font-weight:400;color:var(--text-soft)}
.hhtv-msg-rows small{margin-top:2px;color:var(--text-soft);font-size:13px}
.hhtv-msg-rows>button.is-unread strong{font-weight:650}.hhtv-msg-rows>button.is-unread small{color:var(--text)}
.hhtv-msg-rows time{align-self:start;color:var(--text-soft);font:400 12px Inter,sans-serif;white-space:nowrap}
.hhtv-msg-rows i{position:absolute;right:12px;bottom:14px;width:9px;height:9px;border-radius:50%;background:var(--danger)}
.hhtv-msg-tag{position:absolute;right:10px;bottom:10px;padding:2px 7px;border-radius:99px;background:var(--surface);border:1px solid var(--border-soft);color:var(--text-soft);font:500 11px Inter,sans-serif}
.hhtv-msg-rows>button.is-new .hhtv-msg-face{background:var(--accent);color:#15140f;font-size:20px}
.hhtv-msg-list-empty{margin:0;padding:16px 8px;color:var(--text-soft);font-size:14px;line-height:1.5}.hhtv-msg-list-empty p{margin:0 0 6px}
.hhtv-msg-face{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--border-soft);color:var(--text);font:600 13px Inter,sans-serif;object-fit:cover}
.hhtv-msg-face.is-small{width:32px;height:32px;font-size:11px}
.hhtv-msg-thread{display:flex;flex-direction:column;min-width:0;min-height:0}
.hhtv-msg-thread>header{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 20px;border-bottom:1px solid var(--border-soft)}
.hhtv-msg-thread>header>div:not(:last-child),.hhtv-msg-thread>header>div:only-of-type{flex:1;min-width:0}
.hhtv-msg-thread>header h3{margin:0;font:400 22px/1.2 'DM Serif Display',Georgia,serif;overflow-wrap:anywhere}
.hhtv-msg-thread>header small{display:block;margin-top:2px;color:var(--text-soft);font-size:13px}
.hhtv-msg-thread>header>div:last-child:not(:only-of-type){display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hhtv-msg-thread>header>button[data-msg-back]{display:none}
.hhtv-msg-thread header button,.hhtv-msg-link{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font:500 13px Inter,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.hhtv-msg-bubbles{display:flex;flex-direction:column;gap:10px;flex:1;min-height:280px;max-height:60vh;padding:20px;overflow:auto}
.hhtv-msg-bubbles>div{align-self:flex-start;max-width:78%;padding:10px 14px;border:1px solid var(--border-soft);border-radius:14px 14px 14px 4px;background:var(--paper)}
.hhtv-msg-bubbles>div.is-will{align-self:flex-end;border-color:transparent;border-radius:14px 14px 4px 14px;background:var(--text);color:var(--surface)}
.hhtv-msg-bubbles p{margin:0;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.hhtv-msg-bubbles small{display:block;margin-top:4px;font-size:12px;opacity:.7}
.hhtv-msg-thread form{margin-top:auto;padding:16px 20px;border-top:1px solid var(--border-soft)}
.hhtv-msg-thread form>.hhtv-segments{margin:0 0 10px}
.hhtv-msg-thread textarea{box-sizing:border-box;width:100%;min-height:96px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font:400 16px/1.5 Inter,sans-serif;resize:vertical}
.hhtv-msg-thread form>div:last-child{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.hhtv-msg-thread form>div:last-child small{color:var(--text-soft);font-size:13px;line-height:1.4}
.hhtv-msg-thread form .hhtv-button{flex:none;min-height:44px}
.hhtv-msg-blank-body{display:grid;gap:4px;justify-items:start;align-content:center;flex:1;max-width:460px;padding:40px 32px}
.hhtv-msg-blank-body h3{margin:0 0 4px;font:400 26px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-msg-blank-body p{margin:0 0 10px;color:var(--text-soft);font-size:15px;line-height:1.55}.hhtv-msg-blank-body p strong{color:var(--text)}
.hhtv-msg-blank-body .hhtv-button{margin-top:6px;min-height:44px}
.hhtv-msg-compose-body{display:grid;gap:20px;margin:0!important;padding:20px!important;border-top:0!important;overflow:auto}
.hhtv-msg-to{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--paper)}
.hhtv-msg-to>span{padding-top:7px;color:var(--text-soft);font:500 14px Inter,sans-serif}
.hhtv-msg-to>div{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.hhtv-msg-to em{padding-top:7px;color:var(--text-soft);font-size:14px}
.hhtv-msg-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 6px 0 12px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text);font:500 13px Inter,sans-serif;cursor:pointer}
.hhtv-msg-chip.is-group{background:var(--text);border-color:var(--text);color:var(--surface)}
.hhtv-msg-chip span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:15px;opacity:.75}.hhtv-msg-chip:hover span{opacity:1;background:#8881}
.hhtv-msg-pick{min-width:0;margin:0;padding:0;border:0;display:grid;gap:10px}
.hhtv-msg-pick legend{margin-bottom:10px;padding:0;font:400 19px 'DM Serif Display',Georgia,serif}
.hhtv-msg-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.hhtv-msg-groups button,.hhtv-msg-people button{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer}
.hhtv-msg-groups button{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.hhtv-msg-groups strong,.hhtv-msg-people strong{display:block;font:500 14px Inter,sans-serif}
.hhtv-msg-groups small,.hhtv-msg-people small{display:block;color:var(--text-soft);font-size:12px}
.hhtv-msg-groups button[aria-pressed=true],.hhtv-msg-people button[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--surface)}
.hhtv-msg-groups button[aria-pressed=true] small,.hhtv-msg-people button[aria-pressed=true] small{color:inherit;opacity:.75}
.hhtv-msg-groups button:disabled{opacity:.5;cursor:default}
.hhtv-msg-people button[aria-pressed=true]:disabled{border-color:var(--text-soft);border-style:dashed;background:var(--paper);color:var(--text);opacity:1}.hhtv-msg-people button[aria-pressed=true]:disabled small{opacity:1;color:var(--text-soft)}
.hhtv-msg-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:280px;overflow:auto;padding:2px}
.hhtv-msg-people button:disabled{cursor:default}
.hhtv-msg-people button>span:last-child{min-width:0}.hhtv-msg-people strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hhtv-msg-field{display:grid;gap:8px;font:500 14px Inter,sans-serif;color:var(--text)}.hhtv-msg-field>small{justify-self:end;color:var(--text-soft);font-weight:400;font-size:12px}
.hhtv-msg-check{display:flex;gap:10px;align-items:flex-start;color:var(--text);font-size:14px;line-height:1.45}.hhtv-msg-check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--text)}
.hhtv-msg-send{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--border-soft)}
.hhtv-msg-send p{margin:0;color:var(--text-soft);font-size:14px;line-height:1.45}
.hhtv-msg-send .hhtv-button{flex:none;min-height:48px}
.hhtv-msg-about{min-width:0;padding:20px;border-left:1px solid var(--border-soft);background:var(--paper)}
.hhtv-msg-about h4{margin:0 0 14px;font:400 19px 'DM Serif Display',Georgia,serif}
.hhtv-msg-about dl{margin:0}.hhtv-msg-about dl>div{margin-bottom:14px}
.hhtv-msg-about dt{color:var(--text-soft);font-size:12px}.hhtv-msg-about dd{margin:3px 0 0;font-size:14px;line-height:1.4}
.hhtv-msg-empty{padding:24px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}
.hhtv-msg-empty h3{margin:0 0 8px;font:400 24px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-msg-empty p{max-width:55ch;color:var(--text-soft);line-height:1.5}
@media(min-width:901px){.hhtv-msg-page{height:clamp(560px,calc(100dvh - 230px),860px);min-height:0}.hhtv-msg-list{min-height:0}.hhtv-msg-rows{flex:1}.hhtv-msg-thread{overflow:hidden}.hhtv-msg-bubbles{max-height:none;min-height:0}.hhtv-msg-compose-body{flex:1;min-height:0}.hhtv-msg-about{overflow:auto}}
@media(max-width:1280px){.hhtv-msg-page.has-about{grid-template-columns:280px minmax(0,1fr)}.hhtv-msg-page.has-about .hhtv-msg-about{display:none}}
@media(max-width:900px){
  .hhtv-msg-page,.hhtv-msg-page.has-about{display:block;min-height:0}
  .hhtv-msg-list{border-right:0}
  .hhtv-msg-page.has-selection .hhtv-msg-list{display:none}
  .hhtv-msg-page:not(.has-selection) .hhtv-msg-thread{display:none}
  .hhtv-msg-thread>header{padding:12px 14px;flex-wrap:wrap}
  .hhtv-msg-thread>header>button[data-msg-back]{display:inline-flex}
  .hhtv-msg-thread>header>button[data-msg-back]::before{content:'‹';margin-right:6px;font-size:18px}
  .hhtv-msg-thread>header>div:last-child:not(:only-of-type){width:100%;justify-content:flex-start}
  .hhtv-msg-bubbles{max-height:none;min-height:40dvh;padding:14px}
  .hhtv-msg-bubbles>div{max-width:88%}
  .hhtv-msg-thread form,.hhtv-msg-compose-body{padding:14px!important}
  .hhtv-msg-thread form>div:last-child,.hhtv-msg-send{flex-direction:column;align-items:stretch}
  .hhtv-msg-thread form .hhtv-button,.hhtv-msg-send .hhtv-button{width:100%}
  .hhtv-msg-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hhtv-msg-people{grid-template-columns:1fr;max-height:none}
  .hhtv-msg-blank-body{padding:24px 16px}
}
@media(max-width:480px){.hhtv-msg-toolbar>.hhtv-segments{flex:1}.hhtv-msg-toolbar>.hhtv-segments button{flex:1}.hhtv-msg-toolbar>.hhtv-button{width:100%}}
/* Activity & viewers: switching tabs must not move the page. Reserve the
   scrollbar's space while this page is open (classic scrollbars would otherwise
   appear/disappear between the long and short tab and shift everything sideways). */
html:has(#hhtv-activity-host){scrollbar-gutter:stable}
.hhtv-activity-panels>[hidden]{display:none!important}
.hhtv-activity-heading h3,.hhtv-viewers-heading h3{margin:0;font:400 24px/1.2 'DM Serif Display',Georgia,serif}
.hhtv-watch-panel.is-quiet{min-height:0}.hhtv-watch-panel.is-quiet .hhtv-empty{margin:10px 0 0}

/* Security, laid out like Devices & sign-in: a dark panel for this device
   (facts on the left, the lock and its button on the right), the passkey list
   with an add row, and how to add another device as numbered steps. */
.hhtv-sec-facts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hhtv-sec-facts li{display:flex;align-items:center;gap:12px;color:#c9c4b8;font-size:15px;line-height:1.4}
.hhtv-sec-facts li>svg{flex:none;width:28px;height:28px;padding:6px;box-sizing:border-box;border-radius:50%;background:#2a2925;color:var(--accent)}
.hhtv-sec-box{text-align:center}
.hhtv-sec-lock{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#292720;color:#9b968b}
.hhtv-sec-panel.is-unlocked .hhtv-sec-lock{background:#e8ff4724;color:var(--accent)}
.hhtv-sec-lock .hhtv-line-icon{width:24px;height:24px}
#hhtv-admin-state{max-width:32ch;margin:0;color:#f0ede8;font-size:15px;line-height:1.45}
.hhtv-sec-box .hhtv-button-quiet{border:1px solid #4a473e;background:#292720;color:#f0ede8}
.hhtv-passkey-list .hhtv-mini:disabled{opacity:.45;cursor:not-allowed}
.hhtv-sec-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:10px;border:1.5px dashed var(--border);border-radius:14px;background:none;color:var(--text);font:500 14px Inter,sans-serif;cursor:pointer}
.hhtv-sec-add:hover{background:var(--surface);border-style:solid}
.hhtv-sec-add .hhtv-line-icon{width:18px;height:18px}
.hhtv-sec-steps li>b{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:var(--paper);font:600 13px 'JetBrains Mono',ui-monospace,monospace}
@media(max-width:520px){.hhtv-passkey-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;row-gap:8px}.hhtv-passkey-list li>span:first-of-type{grid-column:2/-1}.hhtv-passkey-list .hhtv-current{grid-column:2;justify-self:start}.hhtv-passkey-list .hhtv-mini{grid-column:3;grid-row:2}}

/* Your films and Settings additions (6 Nov): Watch later, Continue watching
   actions, Emails & name, and Will's replies under your comments. */
.hhtv-tile-later[aria-pressed=true]{background:var(--accent);color:#15140f}
.hhtv-pref-list li{gap:16px}
.hhtv-switch{position:relative;flex:none;width:48px;height:28px;padding:0;border:0;border-radius:999px;background:var(--border);cursor:pointer;transition:background-color .15s}
.hhtv-switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.hhtv-switch[aria-checked=true]{background:#26713a}
.hhtv-switch[aria-checked=true] i{transform:translateX(20px)}
body.dark .hhtv-switch[aria-checked=true]{background:#3c9a4f}
.hhtv-name-form{display:flex;gap:8px;max-width:520px}
.hhtv-name-form input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:400 16px Inter,sans-serif}
.hhtv-name-form input:focus{border-color:var(--text);outline:none}
.hhtv-name-form+.hhtv-tools-copy{margin-top:10px;font-size:13px}
.hhtv-comment-reply{display:block;margin-top:4px;padding:10px 12px;border-left:3px solid var(--border);border-radius:0 10px 10px 0;background:var(--paper);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.hhtv-comment-reply b{display:block;margin-bottom:3px;font:600 12px Inter,sans-serif}
.hhtv-comment-reply small{display:block;margin-top:4px}
.hhtv-comment-reply.is-new{border-left-color:var(--accent-deep)}
.hhtv-comment-reply b i{margin-left:6px;padding:1px 6px;border-radius:99px;background:var(--accent);color:#15140f;font:600 10px Inter,sans-serif;font-style:normal}
/* The profile photo is a label around the file input: one tap opens the picker. */
label.hhtv-avatar-button{display:block}
/* System health: each row is its own grid, so a fixed-width status column keeps
   the middle (detail) column lined up whatever the pill says. */
@media(min-width:761px){.hhtv-health-table>div{grid-template-columns:10px minmax(120px,.6fr) minmax(0,1.5fr) 92px}.hhtv-health-table em{justify-self:end}}
/* Continue watching actions: the profile's small buttons, pinned to the foot of
   each tile so a row lines up even when one title wraps onto two lines. */
.hhtv-film-tiles li:has(>.hhtv-tile-actions){display:flex;flex-direction:column}
.hhtv-tile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px}
.hhtv-tile-actions .hhtv-mini:disabled{opacity:.5;cursor:default}

/* Admin overview tidy (7 Nov): quiet "no change", one panel when nothing was
   watched, folded System health on phones, a shorter costs panel on phones. */
.hhtv-ranked.is-quiet .hhtv-empty{margin:10px 0 0}.hhtv-ranked-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 14px}.hhtv-ranked-links>button{padding:0;border:0;background:none;color:var(--text-soft);font:500 12px Inter,sans-serif;cursor:pointer}.hhtv-ranked-links>button:hover{color:var(--text)}
.hhtv-health-fold>summary{display:grid;gap:8px;list-style:none;cursor:pointer}.hhtv-health-fold>summary::-webkit-details-marker{display:none}
.hhtv-health-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:6px;color:var(--text-soft);font-size:13px}
.hhtv-health-summary>span:last-child::after{content:'Show';margin-left:10px;color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.hhtv-health-fold[open] .hhtv-health-summary>span:last-child::after{content:'Hide'}
.hhtv-health-dots{display:flex;gap:5px}.hhtv-health-dots i{width:8px;height:8px;border-radius:50%;background:var(--text-soft)}.hhtv-health-dots i.is-working{background:#3f9a53}
@media(max-width:760px){.hhtv-overview-kpi{min-height:88px}.hhtv-overview-kpi strong{margin:6px 0 4px}
.hhtv-delivery-range>span{align-items:baseline}.hhtv-delivery-range>span b{white-space:nowrap}
.hhtv-delivery-range>div{grid-template-columns:1fr 1fr}.hhtv-delivery-range>div small:last-child{text-align:right}
.hhtv-cost-facts{grid-template-columns:1fr 1fr}.hhtv-cost-facts>div:first-child{grid-column:1/-1}}
