/* UI review: shared refinements, loaded after the established component styles. */
:root { --muted-2:#a3aec0; }
html { scroll-padding-top:100px; }
body { overflow-wrap:break-word; }
[hidden] { display:none!important; }
main:focus { outline:none; }
button,input,select,textarea { font:inherit; }
button,.button { touch-action:manipulation; }
.button:not(.button-secondary),.head-search button,.search-hero button,.mobile-nav-search button { background:#b6a6ff; color:#17102f; box-shadow:0 4px 16px #0002; }
.button-secondary { color:#f2efff; }
.header-row { gap:18px; }
.brand { flex-shrink:0; }
.site-nav { gap:8px; }
.site-nav a { white-space:nowrap; border-radius:8px; padding:12px 7px; }
.site-nav a[aria-current] { background:#26213e; color:#e0d8ff; box-shadow:inset 0 -2px #b6a6ff; }
.head-search { min-width:0; gap:6px; }
.head-search input { min-width:0; width:clamp(150px,17vw,220px); }
.home-hero { min-height:440px; padding-top:48px; gap:32px; }
.home-hero h1 { font-size:clamp(42px,5.6vw,72px); line-height:1.08; letter-spacing:-.045em; }
.hero-lead { line-height:1.65; }
.home-block { margin:44px 0; }
.card>a { display:block; height:100%; }
.card:focus-within,.editorial-card:focus-within { border-color:var(--accent-2); }
.card h2,.editorial-card h2 { line-height:1.4; }
.card-original { white-space:normal; overflow-wrap:anywhere; }
.report-form input,.report-form select,.report-form textarea { min-height:48px; padding:12px 14px; border:1px solid var(--line-strong); border-radius:12px; background:#0d111a; color:var(--text); }
input::placeholder,textarea::placeholder { color:#a1acbd; opacity:1; }
.notice.error { border:1px solid #b7616b; color:#ffced4; }
.notice.success { border:1px solid #408a64; color:#c1f1d5; }
.search-result { padding:0; }
.search-result>a { display:block; padding:17px 12px; border-radius:10px; }
.search-result>a:hover { background:var(--panel-2); }
.search-result strong { margin-bottom:4px; }
.pagination { flex-wrap:wrap; align-items:center; gap:6px; }
.pagination a,.pagination span:not(.pagination-gap) { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.pagination a:hover { background:#29233f; border-color:#a99beb; }
.pagination .pagination-gap { border:0; background:none; padding:0 3px; }
.pagination-summary { flex-basis:100%; text-align:center; color:var(--muted); margin-top:8px; }
.footer-grid { grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr); }
.footer-grid nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; }
.footer-grid nav a { padding:9px 0; font-size:14px; }
.voice-choice-actions .button,.scene-full,.filter-reset { min-height:44px; }
.compare-chip button { width:36px; height:36px; font-size:21px; flex-shrink:0; }
.compare-chip { max-width:100%; }
.compare-chip>span { overflow-wrap:anywhere; min-width:0; }
.compare-tray { max-height:45vh; overflow:auto; }
body.has-compare-tray { padding-bottom:250px; }
.ui-status { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:40; width:max-content; max-width:calc(100% - 32px); padding:12px 18px; border:1px solid var(--accent); border-radius:12px; background:#211b36; box-shadow:var(--shadow); }
.ui-status:empty { display:none; }
body.has-compare-tray .ui-status { bottom:auto; top:82px; }
@media(max-width:1100px) {
  .header-row { min-height:64px; position:relative; }
  .menu-toggle { display:inline-grid; place-items:center; order:3; margin-left:auto; }
  .head-search { margin-left:auto; }
  .head-search input { width:220px; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:64px; flex-direction:column; align-items:stretch; gap:0; padding:12px; background:#0d111a; border:1px solid var(--line); border-radius:0 0 16px 16px; box-shadow:var(--shadow); max-height:calc(100dvh - 80px); overflow:auto; }
  .site-nav.is-open { display:flex; }
  .site-nav a { min-height:46px; display:flex; align-items:center; font-size:15px; border-bottom:1px solid #252c3a; }
  .mobile-nav-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:12px; }
  .site-header:has(.site-nav.is-open) { z-index:50; }
}
@media(max-width:820px) {
  .head-search { display:none; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .footer-grid nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-hero { min-height:auto; }
}
@media(max-width:600px) {
  .shell { width:calc(100% - 32px); }
  .hero,.casting-hero { padding-top:36px; }
  .home-hero { padding-top:36px; padding-bottom:20px; }
  .hero p,.hero-lead { font-size:17px; }
  .hero h1,.detail-hero h1,.empty h1 { font-size:clamp(32px,10vw,48px); line-height:1.12; }
  .panel,.report-card { padding:18px; }
  .editorial-card { grid-template-columns:96px minmax(0,1fr); }
  .editorial-card h2 { font-size:16px; }
  .editorial-meta { flex-wrap:wrap; gap:4px 8px; }
  .pagination-prev,.pagination-next { order:1; flex:1 1 40%; }
  .pagination-summary { order:2; }
  .footer-grid { padding-bottom:32px; }
  .scene-heading,.voice-choice-person,.casting-target { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media(max-width:1100px) {
  .site-header:not(.menu-enhanced) { position:relative; }
  .site-header:not(.menu-enhanced) .header-row { flex-wrap:wrap; padding-top:12px; }
  .site-header:not(.menu-enhanced) .menu-toggle { display:none; }
  .site-header:not(.menu-enhanced) .site-nav { display:flex; position:static; flex-basis:100%; max-height:none; }
}
