/* ==========================================================================
   Blaze — dark tube theme: rounded search with a red button, tab bar under
   the header, quick-link pills, 2/3/4/5-up grid with views + rating under
   every card, red accent.
   Layers: 1 tokens (see critical.css) · 2 base · 3 layout · 4 components ·
           5 utilities. Mobile-first: base rules are mobile, desktop lives in
           min-width media queries only (640 / 960 / 1200 / 1400).
   ========================================================================== */

/* --- 2. base ------------------------------------------------------------ */
h1,h2,h3,h4{margin:0 0 var(--bz-s3);line-height:1.25;font-weight:700}
h1{font-size:1.25rem}
h2{font-size:1.125rem}
h3{font-size:1rem}
p{margin:0 0 var(--bz-s3)}
:focus-visible{outline:2px solid var(--bz-accent);outline-offset:2px}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:var(--bz-text);background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r);padding:9px var(--bz-s3)}
input:focus,select:focus,textarea:focus{border-color:var(--bz-accent);outline:none}
::placeholder{color:var(--bz-dim)}
hr{border:0;border-top:1px solid var(--bz-border);margin:var(--bz-s5) 0}
table{width:100%;border-collapse:collapse}
::selection{background:var(--bz-accent);color:var(--bz-accent-ink)}
.bz-ico{width:1em;height:1em;flex:none;fill:currentColor}

/* --- 3. layout ---------------------------------------------------------- */
.lic-banner{padding:var(--bz-s3) var(--bz-s4);font-size:.875rem;text-align:center}
.lic-banner--info{background:var(--bz-surface-2)}
.lic-banner--warning{background:var(--bz-warn-bg);color:var(--bz-warn-ink)}
.lic-banner--alert{background:var(--bz-danger-bg);color:var(--bz-danger-ink)}
.site-footer{margin-top:40px;padding:24px 12px 32px;border-top:1px solid var(--bz-border);text-align:center;color:var(--bz-muted);font-size:13px}
.bz-footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--bz-s3)}
.bz-footer-nav .menu__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.bz-footer-nav a{display:inline-flex;align-items:center;min-height:32px;color:var(--bz-muted);font-size:13px;font-weight:500}
.bz-footer-nav a:hover{color:var(--bz-text)}
.bz-copyright{margin:0}.bz-copyright a:hover{color:var(--bz-text)}

/* --- 4. components ------------------------------------------------------ */
/* 4.1 header, search, account, tab bar, notice, quick links */
.bz-logo-img{height:36px;width:auto}
.search-btn{flex:none;width:56px;display:grid;place-items:center;border-radius:0 20px 20px 0;background:var(--bz-accent);color:var(--bz-accent-ink)}
.search-btn:hover{background:var(--bz-hi)}
.search-input:focus{border-color:var(--bz-accent)}
.menu-toggle{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--bz-text)}
.menu-toggle:hover{background:var(--bz-surface-2)}
.menu-toggle[aria-expanded="true"]{background:var(--bz-accent);color:var(--bz-accent-ink)}
.bz-account{display:flex;order:4;flex-basis:100%;flex-wrap:wrap;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--bz-border)}
/* account controls stay visible without JS; with JS the icon button collapses them */
.js .bz-account:not(.is-open){display:none}
html:not(.js) .menu-toggle{display:none}
.auth-nav{display:flex;gap:6px}
.logout-form{margin:0}
.nav-link,.lang-current{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border-radius:18px;background:var(--bz-surface-2);font-size:13px;font-weight:600;color:var(--bz-text)}
.nav-link:hover,.lang-current:hover{background:var(--bz-border)}
.nav-link--accent{background:var(--bz-accent);color:var(--bz-accent-ink)}
.nav-link--accent:hover{background:var(--bz-hi)}
.lang-current::after{content:"";margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.lang-switcher{position:relative}
.lang-dropdown{list-style:none;position:absolute;left:0;top:100%;z-index:45;min-width:170px;max-height:70vh;overflow-y:auto;margin:6px 0 0;padding:6px 0;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r);box-shadow:var(--bz-elev)}
.lang-dropdown[hidden]{display:none}
.lang-dropdown a{display:flex;align-items:center;min-height:38px;padding:0 var(--bz-s4)}
.lang-dropdown a:hover{background:var(--bz-surface-2);color:var(--bz-hi)}
.main-nav .menu__list{list-style:none;margin:0;padding:0}
.main-nav .menu__list--depth1{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.main-nav .menu__list--depth1::-webkit-scrollbar{display:none}
.main-nav .menu__list--depth1>.menu__item>.menu__link{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;white-space:nowrap;font-weight:600;color:var(--bz-muted);border-bottom:2px solid transparent}
.main-nav .menu__link:hover{color:var(--bz-text)}
.main-nav .menu__link .bz-ico{width:16px;height:16px}
.main-nav .menu__list--depth1>.menu__item>.menu__link[aria-current]{color:var(--bz-text);border-bottom-color:var(--bz-accent)}
.main-nav .menu__list--depth1>.menu__item>.menu__link[aria-current] .bz-ico{color:var(--bz-accent)}
/* mobile: sub-items join the scrolling strip right after their parent */
.main-nav .menu__item--has-children,.main-nav .menu__list--depth2{display:contents}
.main-nav .menu__list--depth2 .menu__link{display:flex;align-items:center;min-height:44px;padding:0 12px;white-space:nowrap;font-size:13px;color:var(--bz-dim);border-bottom:2px solid transparent}
.bz-notice .menu__list{list-style:none;margin:0;padding:0}
.bz-notice .menu__link{display:block;padding:9px 12px;background:var(--bz-accent);color:var(--bz-accent-ink);text-align:center;font-size:14px;font-weight:600}
.bz-notice .menu__link:hover{background:var(--bz-hi)}
.bz-notice .menu__item+.menu__item{display:none}
.bz-quick{max-width:1680px;margin:0 auto;padding:0 12px}
.bz-quick .menu__list{list-style:none;margin:0;padding:12px 0 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.bz-quick .menu__list::-webkit-scrollbar{display:none}
.bz-quick .menu__list--depth2{display:none}
.bz-quick .menu__item{flex:none}
.bz-quick .menu__link{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:16px;background:var(--bz-surface);border:1px solid var(--bz-border);font-size:13px;white-space:nowrap}
.bz-quick .menu__link:hover{border-color:var(--bz-accent);color:var(--bz-hi)}
.bz-quick .menu__link[aria-current],.bz-quick .menu__item--active>.menu__link{background:var(--bz-accent);border-color:var(--bz-accent);color:var(--bz-accent-ink)}
@media (min-width:960px){
  .menu-toggle{display:none}
  .bz-account,.bz-account.is-open{display:flex;order:0;flex:none;flex-basis:auto;flex-wrap:nowrap;padding:0;border:0}
  .lang-dropdown{left:auto;right:0}
  .bz-quick{padding:0 24px}
  .main-nav .menu__list--depth1{overflow:visible}
  .main-nav .menu__item{position:relative}
  .main-nav .menu__item--has-children{display:list-item;list-style:none}
  .main-nav .menu__item--has-children>.menu__link::after{content:"";margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
  .main-nav .menu__list--depth2{display:block;position:absolute;left:0;top:100%;z-index:40;min-width:200px;padding:6px 0;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r);box-shadow:var(--bz-elev);opacity:0;visibility:hidden;transform:translateY(4px);transition:.15s}
  .main-nav .menu__item--has-children:hover>.menu__list--depth2,.main-nav .menu__item--has-children:focus-within>.menu__list--depth2{opacity:1;visibility:visible;transform:none}
  .main-nav .menu__list--depth2 .menu__link{display:flex;align-items:center;min-height:36px;padding:0 16px;font-size:13px;color:var(--bz-text)}
  .main-nav .menu__list--depth2 .menu__link:hover{background:var(--bz-surface-2);color:var(--bz-hi)}
}

/* 4.2 headline + sort switch */
.bz-headline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:18px 0 0;margin-bottom:12px}
.page-title{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;line-height:1.25;color:var(--bz-text)}
.page-title>.bz-ico{width:20px;height:20px;color:var(--bz-accent)}
.bz-featured{margin-bottom:10px}
/* Featured stays one full row (two on phones): extra cards drop out per column count */
.bz-featured .item-card:nth-child(n+5){display:none}
@media (min-width:640px){.bz-featured .item-card:nth-child(n+4){display:none}}
@media (min-width:960px){.bz-featured .item-card:nth-child(4){display:block}}
@media (min-width:1400px){.bz-featured .item-card:nth-child(5){display:block}}
.page-title small{margin-left:4px;font-size:13px;font-weight:500;color:var(--bz-dim)}
.bz-headline--tx{align-items:flex-start}
.bz-headline--tx .tx-head{flex:1 1 320px;min-width:0;margin:0}
.bz-sort{display:flex;padding:3px;border-radius:18px;background:var(--bz-surface);max-width:100%;overflow-x:auto;scrollbar-width:none}
.bz-sort::-webkit-scrollbar{display:none}
.bz-sort .sort-tab{flex:none;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:15px;font-size:13px;font-weight:600;color:var(--bz-muted);white-space:nowrap}
.bz-sort .sort-tab:hover{color:var(--bz-text)}
.bz-sort .sort-tab.active{background:var(--bz-surface-2);color:var(--bz-text)}

/* 4.3 cards + grid */
.card-link{display:block}
.card-thumb img{transition:transform .3s}
.item-card:hover .card-thumb img{transform:scale(1.04)}
.card-thumb .xs-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-thumb::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:3;height:3px;background:var(--bz-accent);transform:scaleX(0);transform-origin:left;transition:transform 1.4s linear}
.item-card:hover .card-thumb::after{transform:scaleX(1)}
.card-badge{position:absolute;bottom:6px;z-index:2;display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:3px;background:rgba(0,0,0,.78);color:#fff;font-size:11px;font-weight:700;line-height:1}
.card-duration{right:6px}
.item-card:hover .card-title{color:var(--bz-hi)}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin:0;font-size:12px;line-height:1.4;color:var(--bz-muted)}
.card-meta>span{display:inline-flex;align-items:center;gap:3px}
.card-meta svg{width:13px;height:13px;fill:currentColor}
.card-rating{color:var(--bz-good)}
.card-taxo{display:flex;flex-wrap:wrap;margin:2px 0 0;font-size:12px;line-height:1.4}
.card-taxo a{color:var(--bz-muted)}
.card-taxo a+a::before{content:",";margin-right:4px}
.card-taxo a:hover{color:var(--bz-text)}
@media (prefers-reduced-motion:reduce){.card-thumb img,.card-thumb::after{transition:none}}

/* 4.4 pagination + load more */
.bz-load-more{display:flex;align-items:center;justify-content:center;width:100%;max-width:320px;min-height:44px;margin:24px auto 0;border-radius:22px;background:var(--bz-surface);border:1px solid var(--bz-border);font-size:14px;font-weight:600}
.bz-load-more:hover{border-color:var(--bz-accent);color:var(--bz-hi)}
.bz-load-more.is-loading{opacity:.6;pointer-events:none}
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:24px}
.page-link{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--bz-r);background:var(--bz-surface);font-size:14px;font-weight:600;color:var(--bz-text)}
.page-link:hover{background:var(--bz-surface-2)}
.page-link.active{background:var(--bz-accent);color:var(--bz-accent-ink)}
.page-ellipsis{display:grid;place-items:center;height:40px;padding:0 4px;color:var(--bz-dim)}
.page-jump{display:none}
@media (min-width:640px){.page-jump{display:grid}}
.empty-message{color:var(--bz-dim);padding:var(--bz-s6) 0;text-align:center}

/* 4.5 listings */
.breadcrumbs{margin:14px 0 0;font-size:13px;color:var(--bz-dim)}
.bz-crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.bz-crumbs li+li::before{content:"›";margin-right:6px;color:var(--bz-dim)}
.bz-crumbs a{color:var(--bz-muted)}.bz-crumbs a:hover{color:var(--bz-text)}
.breadcrumb-current{color:var(--bz-dim)}
.page-description{color:var(--bz-muted);max-width:90ch;margin-bottom:var(--bz-s4)}
.actor-profile{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:16px;margin-top:14px;border-radius:var(--bz-r);background:var(--bz-surface)}
.actor-photo{width:110px;aspect-ratio:3/4;height:auto;border-radius:var(--bz-r);object-fit:cover;flex:none;background:var(--bz-surface-2)}
.actor-info{flex:1;min-width:200px}
.actor-info h1{margin-bottom:10px;font-size:24px}
.actor-bio{color:#cfcfcf;margin:0;max-width:80ch;line-height:1.55}
.result-count{color:var(--bz-dim);font-size:13px}
.type-filter{display:flex;gap:6px;overflow-x:auto;margin-bottom:15px;scrollbar-width:none}
.type-tab{flex:none;display:flex;align-items:center;min-height:32px;padding:0 14px;border-radius:16px;background:var(--bz-surface);border:1px solid var(--bz-border);font-size:13px;font-weight:600}
.type-tab:hover{border-color:var(--bz-accent)}
.type-tab.active{background:var(--bz-accent);border-color:var(--bz-accent);color:var(--bz-accent-ink)}
@media (min-width:768px){.actor-photo{width:150px}.actor-info h1{font-size:28px}}

/* 4.6 pills (video info, profile stats) */
.bz-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.bz-pill,.btn-download{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:16px;background:var(--bz-surface-2);font-size:13px;font-weight:600;color:var(--bz-text)}
.bz-pill .bz-ico,.bz-pill svg{width:15px;height:15px;fill:currentColor}
.btn-download{background:var(--bz-accent);color:var(--bz-accent-ink)}
.btn-download:hover{background:var(--bz-hi)}
.bz-pill--model{padding-left:5px}
.bz-pill--model>.bz-ico,.bz-pill--model>svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--bz-border)}
.bz-pill-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}
.bz-pill--model:hover,.bz-pill--cat:hover,.bz-pill--tag:hover{background:var(--bz-accent);color:var(--bz-accent-ink)}

/* 4.7 video detail */
.bz-block-video{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:14px}
@media (min-width:1200px){.bz-block-video.has-side{grid-template-columns:minmax(0,1fr) 380px}}
.bz-video-side{display:grid;gap:10px;align-content:start;justify-items:center}
.bz-ratio-16x9{position:relative;aspect-ratio:16/9;background:#000;margin:0 -12px;overflow:hidden}
@media (min-width:640px){.bz-ratio-16x9{margin:0;border-radius:var(--bz-r)}}
.bz-ratio-16x9 iframe,.bz-ratio-16x9 video,.bz-ratio-16x9 .external-player{position:absolute;inset:0;width:100%;height:100%;border:0}
.external-player{cursor:pointer}
.external-player-poster,.external-player-poster img{width:100%;height:100%;object-fit:cover}
.external-player-poster-empty{width:100%;height:100%;background:var(--bz-surface)}
.external-player-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;padding:0;border-radius:50%;background:var(--bz-accent);display:grid;place-items:center;color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.45);transition:transform .15s,background .15s}
.external-player-play svg{width:30px;height:30px;margin-left:4px}
.external-player:hover .external-player-play{background:var(--bz-hi);transform:translate(-50%,-50%) scale(1.06)}
.external-player.has-preview .external-player-play{padding:6px 8px 6px 18px;border-radius:30px;gap:4px;--xs-play-label-bg:transparent}
.external-player.has-preview .external-player-play svg{width:24px;height:24px;margin:0}
.external-player.has-preview:hover .external-player-play{transform:translate(-50%,-50%)}
.external-player-duration{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;height:22px;padding:0 6px;border-radius:3px;background:rgba(0,0,0,.78);color:#fff;font-size:12px;font-weight:700}
.video-title{margin:12px 0 6px;font-size:19px;font-weight:700;line-height:1.3}
.bz-vmeta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;color:var(--bz-muted);font-size:13px}
.bz-vmeta span{display:inline-flex;align-items:center;gap:5px}
.bz-vmeta .bz-ico{width:14px;height:14px}
.bz-info-buttons{display:flex;align-items:center;gap:8px;margin:12px 0 14px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.bz-info-buttons::-webkit-scrollbar{display:none}
.bz-rating{flex:none;display:flex;flex-direction:column;gap:5px}
.reaction-buttons{display:flex;border-radius:18px;overflow:hidden;background:var(--bz-surface)}
.reaction-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:600;color:var(--bz-text)}
.reaction-btn+.reaction-btn{border-left:1px solid var(--bz-border)}
.reaction-btn .bz-ico{width:18px;height:18px}
.reaction-dislike .bz-ico{transform:rotate(180deg)}
.reaction-btn:hover{background:var(--bz-surface-2)}
.reaction-like.active{color:var(--bz-good)}
.reaction-dislike.active{color:var(--bz-hi)}
.bz-scale{display:block;width:100%}
.bz-voters{display:none}
.bz-scale-bar{display:block;height:3px;border-radius:2px;background:var(--bz-surface-2)}
.bz-scale-bar i{display:block;height:100%;border-radius:2px;background:var(--bz-good)}
.bz-tabs{flex:none;display:flex;gap:8px;align-self:flex-start}
.bz-tabs [role="tab"]{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:18px;background:var(--bz-surface);font-size:13px;font-weight:600;color:var(--bz-text);white-space:nowrap}
.bz-tabs [role="tab"] .bz-ico{width:17px;height:17px}
.bz-tabs [role="tab"]:hover{background:var(--bz-surface-2)}
.bz-tabs [role="tab"][aria-selected="true"]{background:var(--bz-accent);color:var(--bz-accent-ink)}
.bz-tab-count{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:9px;background:rgba(0,0,0,.3);font-size:11px;font-weight:700}
.bz-panel{padding:14px;border-radius:var(--bz-r);background:var(--bz-surface)}
.bz-panel[hidden]{display:none}
.bz-panel .bz-pills:last-child{margin-bottom:0}
.bz-panel>:last-child{margin-bottom:0}
.bz-info-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.bz-info-row:first-child{margin-top:0}
.bz-info-label{width:100%;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bz-muted)}
.bz-pill--tag,.bz-pill--cat{background:var(--bz-surface-2)}
.bz-upnext{display:none}
@media (min-width:1200px){
  .bz-video-side{justify-items:stretch}
  .bz-upnext{display:grid;gap:12px}
  .bz-upnext .page-title{margin-bottom:2px}
  .bz-upnext .item-card{position:relative;min-height:95px;padding-left:178px}
  .bz-upnext .card-thumb{position:absolute;left:0;top:0;width:168px}
  .bz-upnext .card-title{margin-top:0;font-size:13px}
  .bz-related-grid>.item-card:nth-child(-n+8),.related-section.is-short{display:none}
}
.item-description{margin:6px 0 4px;color:#cfcfcf;line-height:1.55;max-width:100ch}
.js .item-description.collapsible{max-height:4.7em;overflow:hidden;position:relative}
.js .item-description.collapsible.expanded{max-height:none}
.js .item-description.collapsible:not(.expanded)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6em;background:linear-gradient(to bottom,transparent,var(--bz-surface))}
html:not(.js) .bz-more{display:none}
.bz-more{min-height:36px;color:var(--bz-hi);font-size:13px;font-weight:600}
.bz-share{display:flex}
.bz-share input{flex:1;min-width:0;height:40px;border-radius:20px 0 0 20px;border-right:0;font-size:13px;background:var(--bz-bg)}
.bz-copy{height:40px;padding:0 18px;border-radius:0 20px 20px 0;background:var(--bz-accent);color:var(--bz-accent-ink);font-weight:600}
.bz-copy:hover{background:var(--bz-hi)}
.related-section{margin-top:var(--bz-s5)}
.section-title{margin-bottom:var(--bz-s3);font-size:18px;font-weight:700}
@media (min-width:960px){.video-title{font-size:22px}}

/* --- 4.6 core fallbacks --------------------------------------------------
   Core (app/templates/) still renders these pages/partials under Blaze:
   auth forms, flash, comments, error/static pages, and the gallery /
   category / actor grids. Class names below are core's — restyled with
   Blaze tokens. */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--bz-s4);border-radius:var(--bz-r-sm);background:var(--bz-surface-2);color:var(--bz-text);font-weight:600;font-size:.9375rem}
.btn:hover{background:var(--bz-border)}
.btn-primary{background:var(--bz-accent);color:var(--bz-accent-ink)}
.btn-primary:hover{background:var(--bz-accent);opacity:.9}


.flash{display:flex;align-items:center;justify-content:space-between;gap:var(--bz-s3);min-height:44px;padding:var(--bz-s3) var(--bz-s4);margin-bottom:var(--bz-s4);border-radius:var(--bz-r);font-size:.875rem}
.flash-success{background:var(--bz-success-bg);color:var(--bz-success-ink);box-shadow:inset 0 0 0 1px var(--bz-success-ring)}
.flash-error{background:var(--bz-danger-bg);color:var(--bz-danger-ink);box-shadow:inset 0 0 0 1px var(--bz-danger-ring)}
.flash-close{display:flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;font-size:1.25rem;line-height:1}

.auth-form-wrap{max-width:400px;margin:var(--bz-s6) auto}
.auth-form-wrap h1{margin-bottom:var(--bz-s5)}
.auth-form{display:flex;flex-direction:column;gap:var(--bz-s4)}
.form-group{display:flex;flex-direction:column;gap:var(--bz-s1)}
.form-group label{font-size:.8125rem;font-family:var(--bz-mono);color:var(--bz-muted)}
.form-error{background:var(--bz-danger-bg);color:var(--bz-danger-ink);box-shadow:inset 0 0 0 1px var(--bz-danger-ring);padding:var(--bz-s2) var(--bz-s3);border-radius:var(--bz-r-sm);font-size:.875rem;margin-bottom:var(--bz-s2)}
.auth-link{margin-top:var(--bz-s4);font-size:.875rem;color:var(--bz-muted)}
.auth-link a{color:var(--bz-accent)}

.profile-row{display:flex;justify-content:space-between;gap:var(--bz-s3);padding:var(--bz-s3) 0;border-bottom:1px solid var(--bz-border)}

.comments-section{margin-top:var(--bz-s6)}
.comment-form{margin-bottom:var(--bz-s5)}
.comment-form textarea{width:100%;font-family:inherit}
.comment-form .btn{margin-top:var(--bz-s2)}
.comment{padding:var(--bz-s3) 0;border-bottom:1px solid var(--bz-border)}
.comment-header{display:flex;align-items:center;gap:var(--bz-s2);margin-bottom:var(--bz-s1);font-size:.875rem}
.comment-date{color:var(--bz-muted);font-family:var(--bz-mono);font-size:.75rem}
.comment-body{color:var(--bz-text);line-height:1.5}
.comment-delete-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--bz-muted)}
.comment-delete-btn:hover{color:var(--bz-accent)}
.comment-replies{margin-left:var(--bz-s5);border-left:2px solid var(--bz-border);padding-left:var(--bz-s3)}

.error-page{text-align:center;padding:var(--bz-s6) 0}
.error-page h1{font-size:3.5rem;color:var(--bz-muted);font-family:var(--bz-mono)}
.error-page p{color:var(--bz-muted);font-size:1.125rem;margin-bottom:var(--bz-s5)}
.back-link{color:var(--bz-accent);font-weight:700}

.static-page{max-width:70ch}
.page-content{margin:var(--bz-s5) 0;line-height:1.7}
.article-body{margin:var(--bz-s5) 0;line-height:1.7}
.article-body h2,.article-body h3{margin:var(--bz-s5) 0 var(--bz-s2)}
.article-body p{margin-bottom:var(--bz-s3)}
.article-body img{border-radius:var(--bz-r)}

.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--bz-s2);margin:var(--bz-s4) 0}
.gallery-item img{border-radius:var(--bz-r-sm)}
/* actor listing: portrait cards (default), compact circles, list rows.
   The view class lives on the grid; markup is identical across views. */
.bz-al-head .page-title small{font-family:var(--bz-mono);font-size:.8125rem;font-weight:400;color:var(--bz-muted);margin-left:var(--bz-s1)}
.bz-al-toolbar{display:flex;flex-direction:column;gap:var(--bz-s3);margin-bottom:var(--bz-s4)}
.bz-al-row{display:flex;flex-wrap:wrap;gap:var(--bz-s2);align-items:center}
.bz-al-find{position:relative;flex:1 1 100%;min-width:0;margin:0}
.bz-al-find svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--bz-muted);pointer-events:none}
.bz-al-find input[type=search]{width:100%;height:44px;padding:0 44px 0 38px}
.bz-al-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border-radius:var(--bz-r-sm);color:var(--bz-muted);font-size:1.25rem}
.bz-al-clear:hover{background:var(--bz-surface-2);color:var(--bz-text)}
.bz-al-sort{flex:1 1 0;min-width:0;display:flex;gap:var(--bz-s1);overflow-x:auto;scrollbar-width:none}
.bz-al-sort::-webkit-scrollbar{display:none}
.bz-al-views{flex:none;margin-left:auto;display:flex;gap:2px;padding:3px;border-radius:var(--bz-r-sm);background:var(--bz-surface)}
.bz-al-views[hidden]{display:none}
.bz-al-views button{width:36px;height:38px;display:grid;place-items:center;border-radius:3px;color:var(--bz-muted)}
.bz-al-views button[aria-pressed="true"]{background:var(--bz-surface-2);color:var(--bz-text)}
.bz-al-alpha{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.bz-al-alpha::-webkit-scrollbar{display:none}
.bz-al-alpha a{flex:none;min-width:34px;height:34px;padding:0 var(--bz-s2);display:grid;place-items:center;border-radius:var(--bz-r-sm);font-family:var(--bz-mono);font-size:.75rem;color:var(--bz-muted)}
.bz-al-alpha a:hover{background:var(--bz-surface-2);color:var(--bz-text)}
.bz-al-alpha a.active{background:var(--bz-accent);color:var(--bz-accent-ink);font-weight:700}
.bz-al-empty{padding:var(--bz-s6) var(--bz-s4);text-align:center;color:var(--bz-muted);border:1px dashed var(--bz-border);border-radius:var(--bz-r)}
.bz-al-empty strong{color:var(--bz-text)}
.bz-al-empty a{color:var(--bz-accent)}

.actor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bz-s3);margin:0}
.actor-card{position:relative;display:block;min-width:0;color:var(--bz-text)}
.actor-card-media{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--bz-r);overflow:hidden;background:var(--bz-surface-2);isolation:isolate}
.actor-card-media picture{display:contents}
.actor-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform .35s ease}
.actor-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 72%,rgba(0,0,0,.88));pointer-events:none}
.actor-card-body{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:2px;padding:var(--bz-s3)}
.actor-card-name{font-weight:650;font-size:.9375rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actor-card .count{font-family:var(--bz-mono);font-size:.6875rem;color:rgba(237,237,237,.72)}
.actor-card:hover .actor-card-media{box-shadow:0 0 0 2px var(--bz-accent)}
.actor-card:hover .actor-card-photo{transform:scale(1.05)}
.bz-al-mono{display:grid;place-items:center;font-weight:800;font-size:2.25rem;letter-spacing:.02em;color:rgba(255,255,255,.88);background:radial-gradient(120% 90% at 30% 15%,hsl(var(--h) 45% 32%),hsl(calc(var(--h) + 30) 30% 11%))}
.bz-al-rank{position:absolute;top:var(--bz-s2);left:var(--bz-s2);z-index:1;padding:3px 6px;border-radius:3px;background:var(--bz-accent);color:var(--bz-accent-ink);font-family:var(--bz-mono);font-size:.625rem;font-weight:700;letter-spacing:.06em}

/* compact: round avatars, name below */
.actor-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bz-s4) var(--bz-s3)}
.is-compact .actor-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.is-compact .actor-card-media{width:100%;max-width:120px;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 2px var(--bz-bg),0 0 0 3px var(--bz-border)}
.is-compact .actor-card-media::after,.is-compact .bz-al-rank{display:none}
.is-compact .actor-card:hover .actor-card-media{box-shadow:0 0 0 2px var(--bz-bg),0 0 0 4px var(--bz-accent)}
.is-compact .actor-card-body{position:static;padding:0;width:100%;align-items:center}
.is-compact .actor-card-name{font-size:.8125rem;width:100%}
.is-compact .count{color:var(--bz-muted)}
.is-compact .bz-al-mono{font-size:1.25rem}

/* list: thumbnail + name + count rows */
.actor-grid.is-list{grid-template-columns:1fr;gap:0;border-top:1px solid var(--bz-border)}
.is-list .actor-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--bz-s3);align-items:center;min-height:64px;padding:var(--bz-s2);border-bottom:1px solid var(--bz-border)}
.is-list .actor-card:hover{background:var(--bz-surface)}
.is-list .actor-card-media{width:48px;height:48px;aspect-ratio:auto;border-radius:var(--bz-r-sm)}
.is-list .actor-card-media::after,.is-list .bz-al-rank{display:none}
.is-list .actor-card:hover .actor-card-media{box-shadow:none}
.is-list .actor-card-body{position:static;padding:0;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--bz-s3)}
.is-list .count{color:var(--bz-muted);flex:none}
.is-list .bz-al-mono{font-size:.9375rem}

@media (min-width:480px){
  .actor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .actor-grid.is-compact{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bz-al-find{flex:1 1 240px}
}
@media (min-width:768px){
  .actor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bz-s4)}
  .actor-grid.is-compact{grid-template-columns:repeat(6,minmax(0,1fr))}
  .actor-grid.is-list{grid-template-columns:1fr 1fr;column-gap:var(--bz-s5);border-top:0}
  .is-list .actor-card:nth-child(-n+2){border-top:1px solid var(--bz-border)}
}
@media (min-width:1024px){
  .actor-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .actor-grid.is-compact{grid-template-columns:repeat(8,minmax(0,1fr))}
}
@media (min-width:1340px){
  .actor-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
  .actor-grid.is-compact{grid-template-columns:repeat(10,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.actor-card-photo{transition:none}}

.item-detail{margin-bottom:var(--bz-s6)}
.download-info{display:flex;gap:var(--bz-s4);font-size:.875rem;color:var(--bz-muted)}
.file-size{color:var(--bz-muted);font-family:var(--bz-mono)}
@media (min-width:480px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}

/* 4.x taxonomy index (categories / tags) */
.tx-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--bz-s2);margin:var(--bz-s5) 0}
.tx-tile{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bz-surface-2);border-radius:var(--bz-r)}
.tx-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tx-tile:hover img{transform:scale(1.04)}
.tx-tile-info{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;padding:var(--bz-s4) var(--bz-s2) var(--bz-s2);background:linear-gradient(transparent,rgba(0,0,0,.85))}
.tx-tile-name{font-weight:700;font-size:.8125rem;line-height:1.25;color:var(--bz-text)}
.tx-tile .count{color:var(--bz-muted);font-size:.8125rem;font-family:var(--bz-mono)}
.tx-alpha{display:flex;flex-wrap:wrap;gap:var(--bz-s2);margin:var(--bz-s5) 0 var(--bz-s4)}
.tx-alpha a{min-width:36px;padding:var(--bz-s1) var(--bz-s3);text-align:center;background:var(--bz-surface);border-radius:var(--bz-r-sm);font-weight:600;font-family:var(--bz-mono);color:var(--bz-muted)}
.tx-alpha a:hover{background:var(--bz-accent);color:var(--bz-accent-ink)}
.tx-alpha a.active{background:var(--bz-accent);color:var(--bz-accent-ink)}
.tx-find{display:flex;gap:var(--bz-s2);margin:var(--bz-s4) 0}
.tx-find-box{position:relative;flex:1;min-width:0;display:flex}
.tx-find input[type=search]{flex:1;min-width:0;width:100%;height:44px;padding:0 40px 0 var(--bz-s3);background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r-sm);color:var(--bz-text)}
.tx-find button{height:44px;padding:0 var(--bz-s4);background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r-sm);color:var(--bz-text);font-family:var(--bz-mono);cursor:pointer}
.tx-clear{position:absolute;right:0;top:0;width:36px;height:44px;display:grid;place-items:center;color:var(--bz-muted)}
.tx-popular{display:flex;flex-wrap:wrap;gap:var(--bz-s2);margin:var(--bz-s4) 0 var(--bz-s5)}
.tx-chip{display:inline-flex;align-items:center;gap:var(--bz-s1);min-height:36px;padding:0 var(--bz-s3);background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-r-sm);font-size:.8125rem;font-family:var(--bz-mono);color:var(--bz-text)}
.tx-chip b{color:var(--bz-muted);font-weight:400;font-size:.75rem}
.tx-chip:hover{background:var(--bz-accent);border-color:var(--bz-accent);color:var(--bz-accent-ink)}
.tx-chip:hover b{color:inherit}
.tag-badge.tx-chip{min-height:44px;padding:0 var(--bz-s3);font-size:.75rem;color:var(--bz-muted)}
.tag-badge.tx-chip:hover{color:var(--bz-accent-ink)}
.tx-empty{margin:var(--bz-s6) 0;color:var(--bz-muted);text-align:center}
.tx-group{break-inside:avoid;margin-bottom:var(--bz-s5);scroll-margin-top:72px}
.tx-group h2{padding-bottom:var(--bz-s1);border-bottom:1px solid var(--bz-border);color:var(--bz-accent)}
.tx-group ul{list-style:none;margin:0;padding:0}
.tx-group li{display:flex;align-items:baseline;gap:var(--bz-s2);padding:var(--bz-s1) 0}
.tx-group .count{color:var(--bz-muted);font-size:.8125rem;font-family:var(--bz-mono)}
.tx-parent{color:var(--bz-muted);font-size:.75rem}
/* taxonomy detail header (category / tag) */
.tx-head{margin-bottom:var(--bz-s3)}
.tx-head .page-title{margin-bottom:var(--bz-s2)}
.tx-total{color:var(--bz-muted);font-size:.875rem;font-weight:400;letter-spacing:0;font-family:var(--bz-mono);white-space:nowrap}
.tx-desc{position:relative;margin-bottom:var(--bz-s2);color:var(--bz-muted);font-size:.875rem;max-width:70ch}
.tx-more-toggle{position:absolute;opacity:0;pointer-events:none}
.tx-desc-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:0}
.tx-more{color:var(--bz-accent);font-size:.8125rem;cursor:pointer}
.tx-more-hide,.tx-more-toggle:checked~.tx-more .tx-more-show{display:none}
.tx-more-toggle:checked~.tx-more .tx-more-hide{display:inline}
.tx-more-toggle:checked~.tx-desc-text{display:block}
.tx-more-toggle:focus-visible~.tx-more{outline:2px solid var(--bz-accent);outline-offset:2px}
.tx-related{display:flex;gap:var(--bz-s2);overflow-x:auto;padding-bottom:var(--bz-s1);scrollbar-width:none}
.tx-related::-webkit-scrollbar{display:none}
.tx-related .tx-chip{flex:none;white-space:nowrap}
@media (min-width:600px){.tx-tiles{gap:var(--bz-s3)}.tx-tile-info{padding:var(--bz-s5) var(--bz-s3) var(--bz-s3)}.tx-tile-name{font-size:inherit}.tx-tile .count{font-size:.8125rem}}
@media (min-width:768px){.tx-dict{columns:2}.tx-related{flex-wrap:wrap;overflow-x:visible}}
@media (min-width:1024px){.tx-tiles{grid-template-columns:repeat(4,1fr)}.tx-dict{columns:3}}

/* --- 5. utilities ------------------------------------------------------- */
.bz-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.card-thumb,.external-player-poster{position:relative}

/* --- 6. Blaze skin for core fallbacks -------------------------------- */
.tx-chip,.tx-popular .tx-chip{min-height:32px;padding:0 14px;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:16px;color:var(--bz-text);font-size:13px;font-weight:600;font-family:var(--bz-font)}
.tx-chip b{color:var(--bz-dim)}
.tx-chip:hover{background:var(--bz-accent);border-color:var(--bz-accent);color:var(--bz-accent-ink)}
.tx-popular{gap:8px}
.tx-alpha a,.bz-al-alpha a{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;background:var(--bz-surface);border:0;border-radius:var(--bz-r);color:var(--bz-muted);font-family:var(--bz-font);font-weight:600;font-size:13px}
.tx-alpha a:hover,.bz-al-alpha a:hover{background:var(--bz-surface-2);color:var(--bz-text)}
.tx-alpha a.active,.bz-al-alpha a.active{background:var(--bz-accent);color:var(--bz-accent-ink)}
.tx-group h2{color:var(--bz-text);font-weight:700;border-bottom-color:var(--bz-accent)}
.tx-group a:hover{color:var(--bz-hi)}
.tx-find input[type=search],.bz-al-find input[type=search]{border-radius:22px;background:var(--bz-surface)}
.tx-find button{border:0;border-radius:22px;background:var(--bz-accent);color:var(--bz-accent-ink);font-family:var(--bz-font);font-weight:600}
.tx-total{font-family:var(--bz-font);color:var(--bz-dim)}
.tx-tile:hover{box-shadow:0 0 0 2px var(--bz-accent)}
.tx-tile-name{font-weight:700}
.actor-card .count{font-family:var(--bz-font)}
.bz-al-rank{font-family:var(--bz-font)}
.bz-al-views button[aria-pressed="true"]{background:var(--bz-accent);color:var(--bz-accent-ink)}
.btn{border-radius:20px;background:var(--bz-surface-2);font-size:14px}
.btn-primary{background:var(--bz-accent);color:var(--bz-accent-ink)}
.btn-primary:hover{background:var(--bz-hi);opacity:1}
.comments-section{margin-top:0}
.comments-section .section-title{display:none}
.comment-header b,.comment-author{color:var(--bz-text)}
.comment-date{font-family:var(--bz-font)}
.form-group label{font-family:var(--bz-font)}
.error-page h1{font-family:var(--bz-font);color:var(--bz-accent)}
