:root {
  --black: #050506;
  --black-2: #0a0a0c;
  --panel: rgba(12, 12, 15, 0.86);
  --bone: #e9e1d2;
  --muted: #98918a;
  --blood: #a31322;
  --blood-bright: #e0313f;
  --line: rgba(233, 225, 210, 0.14);
  --glow: 0 0 34px rgba(163, 19, 34, 0.35);
  --display: "Cinzel", Georgia, serif;
  --body: "Inter", Arial, sans-serif;
  --typewriter: "Special Elite", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--black); }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(117, 7, 18, 0.13), transparent 32%),
    linear-gradient(180deg, #060607 0%, #030304 100%);
  color: var(--bone);
  font-family: var(--body);
}
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible { outline: 2px solid var(--blood-bright); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

.noise {
  position: fixed;
  inset: -50%;
  z-index: 1000;
  pointer-events: none;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
  animation: noiseShift .22s steps(2) infinite;
}
.vignette { position: fixed; inset: 0; z-index: 999; pointer-events: none; box-shadow: inset 0 0 180px rgba(0,0,0,.88); }
.cursor-glow {
  position: fixed;
  z-index: 998;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .28;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(158, 18, 31, .16), transparent 66%);
  left: var(--mouse-x, 50vw);
  top: var(--mouse-y, 50vh);
  transition: opacity .3s ease;
}

.eyebrow { font-size: .68rem; letter-spacing: .32em; font-weight: 700; color: var(--blood-bright); }

/* Gate */
.gate {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100dvh;
  overflow: hidden;
  padding: clamp(24px, 4vw, 54px);
  background:
    linear-gradient(90deg, rgba(0,0,0,.78), transparent 18%, transparent 82%, rgba(0,0,0,.78)),
    radial-gradient(ellipse at center, rgba(59, 8, 14, .3), transparent 45%),
    #040405;
  transition: opacity .9s ease, visibility .9s ease;
}
.gate::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background:
    repeating-linear-gradient(90deg, transparent 0 92px, rgba(255,255,255,.025) 93px 94px),
    repeating-linear-gradient(0deg, transparent 0 92px, rgba(255,255,255,.018) 93px 94px);
  mask-image: radial-gradient(circle, #000, transparent 68%);
}
.gate-brand, .gate-footer { position: relative; z-index: 6; }
.gate-brand h1 { margin: 12px 0 4px; font: 800 clamp(2.3rem, 6vw, 5.8rem)/.9 var(--display); letter-spacing: -.07em; }
.gate-brand h1 span { color: transparent; -webkit-text-stroke: 1px rgba(233,225,210,.68); text-shadow: var(--glow); }
.gate-brand p { margin: 14px 0 0; max-width: 460px; color: var(--muted); font: 400 .9rem/1.6 var(--typewriter); }
.gate-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #6c6762; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.gate-footer button { border: 0; background: transparent; color: #8f8780; cursor: pointer; text-transform: uppercase; font-size: .65rem; letter-spacing: .1em; }

.door-stage { position: relative; z-index: 3; display: grid; place-items: center; min-height: 0; perspective: 1800px; }
.door {
  position: absolute;
  top: -12vh;
  bottom: -12vh;
  width: 50.15vw;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025), transparent 12%, rgba(0,0,0,.4) 80%),
    repeating-linear-gradient(90deg, #141315 0 12%, #09090a 12.3% 24%, #111013 24.3% 36%);
  border: 1px solid rgba(255,255,255,.025);
  box-shadow: inset 0 0 120px rgba(0,0,0,.95), 0 0 120px #000;
  transform-style: preserve-3d;
  transition: transform 1.65s cubic-bezier(.77,0,.18,1), filter 1.2s ease;
}
.door::before, .door::after { content: ""; position: absolute; inset: 7% 7%; border: 1px solid rgba(127,112,101,.12); box-shadow: inset 0 0 0 8px rgba(0,0,0,.22), inset 0 0 70px rgba(0,0,0,.88); }
.door::after { inset: 11% 11%; border-color: rgba(122,14,26,.16); }
.door-left { left: 0; transform-origin: left center; }
.door-right { right: 0; transform-origin: right center; transform: scaleX(-1); }
.door-seam { position: absolute; top: -20vh; bottom: -20vh; width: 2px; background: linear-gradient(transparent, rgba(221,44,59,.7), #fff0, rgba(221,44,59,.5), transparent); box-shadow: 0 0 36px rgba(221,44,59,.45); opacity: .55; transition: opacity .5s ease; }
.door-rune { position: absolute; font: 400 clamp(4rem, 9vw, 9rem)/1 var(--display); color: rgba(150,18,29,.08); text-shadow: 0 0 24px rgba(157,17,29,.08); }
.rune-one { left: 16%; top: 25%; transform: rotate(-18deg); }
.rune-two { right: 13%; bottom: 22%; }
.rune-three { left: 20%; bottom: 28%; transform: rotate(22deg); }
.rune-four { right: 16%; top: 20%; }

.keyhole-trigger { position: relative; z-index: 5; width: 250px; height: 250px; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
.keyhole-orbit { position: absolute; inset: 7px; border: 1px solid rgba(171,23,37,.34); border-radius: 50%; animation: orbitSpin 14s linear infinite; }
.keyhole-orbit::before, .keyhole-orbit::after { content: "✦"; position: absolute; color: var(--blood); text-shadow: var(--glow); }
.keyhole-orbit::before { top: -9px; left: 50%; }
.keyhole-orbit::after { bottom: -9px; right: 25%; }
.keyhole { position: relative; display: block; width: 72px; height: 112px; filter: drop-shadow(0 0 24px rgba(205,27,45,.45)); transition: transform .45s ease, filter .45s ease; }
.keyhole::before { content: ""; position: absolute; left: 50%; top: 0; width: 68px; height: 68px; transform: translateX(-50%); border-radius: 50%; background: #000; border: 1px solid rgba(241,214,190,.65); box-shadow: inset 0 0 22px rgba(160,18,29,.7), 0 0 0 9px #0b0a0c, 0 0 0 10px rgba(228,221,208,.14); }
.keyhole::after { content: ""; position: absolute; left: 50%; top: 48px; width: 40px; height: 66px; transform: translateX(-50%); clip-path: polygon(36% 0,64% 0,100% 100%,0 100%); background: #000; border-bottom: 1px solid rgba(241,214,190,.6); box-shadow: inset 0 -14px 30px rgba(160,18,29,.52); }
.keyhole-eye { position: absolute; z-index: 2; top: 25px; left: 50%; width: 10px; height: 10px; transform: translateX(-50%); border-radius: 50%; background: #db2839; box-shadow: 0 0 9px #ff4556, 0 0 28px #b31325; animation: eyePulse 2.5s ease-in-out infinite; }
.keyhole-label { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; font: 700 .64rem var(--body); letter-spacing: .24em; color: #8a817a; }
.keyhole-trigger:hover .keyhole { transform: scale(1.1); filter: drop-shadow(0 0 45px rgba(231,38,56,.7)); }
.keyhole-trigger:hover .keyhole-label { color: var(--bone); }

.password-panel { position: absolute; z-index: 8; width: min(92vw, 450px); padding: 30px; opacity: 0; visibility: hidden; transform: translateY(20px) scale(.96); border: 1px solid rgba(225,218,205,.18); background: rgba(5,5,7,.93); box-shadow: 0 28px 90px rgba(0,0,0,.75), inset 0 0 55px rgba(124,11,22,.1); backdrop-filter: blur(18px); transition: .45s ease; }
.password-panel::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(151,18,30,.28); pointer-events: none; }
.password-sigil { position: absolute; left: 50%; top: -15px; transform: translateX(-50%); width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #09090a; color: var(--blood-bright); border: 1px solid rgba(225,218,205,.22); }
.password-panel label { display: block; margin-bottom: 13px; font: 600 .75rem var(--display); letter-spacing: .18em; text-transform: uppercase; }
.password-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.password-row input { min-width: 0; padding: 15px 16px; border: 1px solid rgba(233,225,210,.17); background: #0b0b0d; color: var(--bone); letter-spacing: .2em; }
.password-row button { padding: 0 20px; border: 1px solid #7c1320; background: linear-gradient(#a71929,#76101c); color: white; font: 700 .7rem var(--display); letter-spacing: .15em; cursor: pointer; box-shadow: 0 0 22px rgba(159,18,31,.25); }
.password-panel p { min-height: 1.2em; margin: 14px 0 0; color: #827a73; font: .75rem var(--typewriter); }
.password-panel.is-visible { opacity: 1; visibility: visible; transform: none; }
.password-panel.is-rejected { animation: reject .38s ease; border-color: rgba(217,35,53,.62); }
.password-panel.is-rejected p { color: #dc3344; }

body.gate-opening .door-left { transform: rotateY(-102deg) translateX(-8vw); filter: brightness(.35); }
body.gate-opening .door-right { transform: scaleX(-1) rotateY(-102deg) translateX(8vw); filter: brightness(.35); }
body.gate-opening .door-seam { opacity: 0; }
body.gate-opening .password-panel { opacity: 0; transform: scale(1.5); filter: blur(8px); }
body.gate-opening .gate-brand, body.gate-opening .gate-footer { opacity: 0; transition: opacity .5s ease; }
body.gate-open .gate { opacity: 0; visibility: hidden; }

.gate-fog { position: absolute; z-index: 2; width: 90vw; height: 36vh; opacity: .15; filter: blur(40px); background: radial-gradient(ellipse, rgba(208,211,203,.42), transparent 68%); animation: fogFloat 18s ease-in-out infinite alternate; pointer-events: none; }
.gate-fog-a { left: -30vw; bottom: 4vh; }
.gate-fog-b { right: -35vw; top: 22vh; animation-delay: -6s; }

/* Main app */
.app { min-height: 100vh; opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity 1s ease, transform 1s ease, visibility 1s ease; }
body.gate-open .app { opacity: 1; visibility: visible; transform: none; }
.topbar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 78px; padding: 14px clamp(18px, 4vw, 58px); border-bottom: 1px solid var(--line); background: rgba(5,5,6,.86); backdrop-filter: blur(16px); }
.brand-mark { display: flex; align-items: center; gap: 13px; color: var(--bone); text-decoration: none; }
.brand-eye { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(226,218,205,.24); border-radius: 50%; color: var(--blood-bright); box-shadow: inset 0 0 16px rgba(157,16,29,.28); }
.brand-mark strong, .brand-mark small { display: block; }
.brand-mark strong { font: 700 .82rem var(--display); letter-spacing: .11em; }
.brand-mark small { margin-top: 3px; color: #77716b; font-size: .54rem; letter-spacing: .18em; }
.top-actions { display: flex; gap: 8px; }
.icon-button { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 12px; border: 1px solid var(--line); background: rgba(255,255,255,.018); color: #aaa19a; cursor: pointer; text-transform: uppercase; font-size: .62rem; letter-spacing: .12em; }
.icon-button:hover { border-color: rgba(199,34,50,.55); color: var(--bone); background: rgba(154,14,27,.08); }

.archive-hero { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(28px, 6vw, 90px); align-items: end; min-height: 500px; padding: clamp(72px, 9vw, 140px) clamp(18px, 6vw, 90px) 70px; overflow: hidden; border-bottom: 1px solid var(--line); }
.archive-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 35%, rgba(153,17,31,.19), transparent 28%), linear-gradient(115deg, transparent 46%, rgba(255,255,255,.015) 46.1% 46.25%, transparent 46.35%); }
.archive-hero::after { content: "HORROR"; position: absolute; right: -3vw; top: 3vh; font: 800 clamp(8rem, 24vw, 24rem)/1 var(--display); color: rgba(255,255,255,.018); letter-spacing: -.09em; pointer-events: none; }
.hero-copy, .hero-stats { position: relative; z-index: 2; }
.hero-copy h2 { margin: 19px 0 24px; font: 700 clamp(3.2rem, 7.6vw, 8rem)/.84 var(--display); letter-spacing: -.075em; }
.hero-copy h2 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(221,42,58,.75); text-shadow: 0 0 40px rgba(156,18,30,.26); }
.hero-copy p { max-width: 650px; margin: 0; color: #9c958e; font: .98rem/1.8 var(--typewriter); }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hero-stats article { padding: 24px 10px; text-align: center; border-right: 1px solid var(--line); }
.hero-stats article:last-child { border-right: 0; }
.stat-value { display: block; font: 600 clamp(1.4rem, 3vw, 2.3rem) var(--display); color: var(--bone); }
.stat-label { display: block; margin-top: 9px; color: #6e6964; font-size: .52rem; letter-spacing: .16em; }

.control-deck { position: sticky; top: 78px; z-index: 40; display: grid; grid-template-columns: minmax(300px, .9fr) 1.4fr; gap: 22px; align-items: center; padding: 18px clamp(18px, 4vw, 58px); border-bottom: 1px solid var(--line); background: rgba(8,8,10,.92); backdrop-filter: blur(15px); }
.search-wrap { position: relative; display: flex; align-items: center; min-height: 48px; border: 1px solid rgba(233,225,210,.14); background: #09090b; }
.search-glyph { margin-left: 15px; color: var(--blood-bright); font-size: 1.15rem; }
.search-wrap input { width: 100%; min-width: 0; padding: 13px 125px 13px 12px; border: 0; outline: 0; background: transparent; color: var(--bone); }
.search-wrap input::placeholder { color: #5f5b57; }
.search-status { position: absolute; right: 12px; color: #655f5a; font: .57rem var(--typewriter); text-transform: uppercase; }
.quick-filters { display: flex; gap: 8px; justify-content: flex-end; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.filter-chip { flex: 0 0 auto; min-height: 38px; padding: 0 14px; border: 1px solid var(--line); background: transparent; color: #85807a; cursor: pointer; text-transform: uppercase; font-size: .59rem; letter-spacing: .11em; }
.filter-chip:hover, .filter-chip.is-active { border-color: rgba(198,31,48,.62); background: rgba(152,14,27,.13); color: var(--bone); box-shadow: inset 0 -2px var(--blood); }

.archive-shell { display: grid; grid-template-columns: 230px minmax(0,1fr); min-height: 920px; padding: 42px clamp(18px, 4vw, 58px) 70px; gap: 25px; }
.archive-rail { position: sticky; top: 166px; align-self: start; min-height: 460px; padding: 24px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.006)); }
.rail-index { color: var(--blood-bright); font: .62rem var(--typewriter); letter-spacing: .2em; }
.archive-rail h3 { margin: 10px 0 14px; font: 600 1.16rem var(--display); letter-spacing: .1em; }
.archive-rail p { margin: 0; color: #7d7771; font: .73rem/1.7 var(--typewriter); }
.rail-rule { height: 1px; margin: 24px 0; background: var(--line); }
.rail-note { margin: 19px 0; }
.rail-note > span { display: block; margin-bottom: 7px; color: #5d5854; font-size: .52rem; letter-spacing: .18em; }
.rail-note strong { font-size: .61rem; letter-spacing: .1em; font-weight: 600; }
.pulse-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #c52839; box-shadow: 0 0 13px #c52839; animation: eyePulse 1.8s infinite; }
.rail-button { width: 100%; margin-top: 22px; padding: 12px; border: 1px solid rgba(177,25,40,.4); background: rgba(133,13,25,.08); color: #aaa19a; cursor: pointer; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }

.frame-wrap { position: relative; min-width: 0; min-height: 820px; overflow: hidden; border: 1px solid rgba(233,225,210,.15); background: #070708; box-shadow: 0 30px 100px rgba(0,0,0,.45); }
.frame-wrap::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; box-shadow: inset 0 0 70px rgba(0,0,0,.55); }
.frame-toolbar { position: relative; z-index: 4; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; min-height: 46px; padding: 0 14px; border-bottom: 1px solid var(--line); background: #0b0b0d; color: #6b6560; font: .58rem var(--typewriter); letter-spacing: .12em; }
.frame-toolbar button { border: 0; background: transparent; color: #8f8781; cursor: pointer; text-transform: uppercase; font-size: .57rem; letter-spacing: .1em; }
.frame-actions { display:flex; align-items:center; gap:8px; }
.frame-actions button { padding:7px 9px; }
.frame-actions #viewModeButton, .frame-actions #loadMoreFrame { border:1px solid rgba(177,25,40,.38); background:rgba(133,13,25,.1); color:#c7bab0; }
.frame-actions #viewModeButton[aria-pressed="true"] { border-color:rgba(221,53,72,.72); background:rgba(151,15,29,.22); color:#f0e6da; box-shadow:inset 0 -2px #a91a2b; }
.frame-actions #loadMoreFrame:disabled { opacity:.35; cursor:not-allowed; }
.frame-actions #loadMoreFrame[hidden] { display:none; }
.frame-lights { display: flex; gap: 6px; }
.frame-lights i { width: 7px; height: 7px; border-radius: 50%; background: #322d2d; }
.frame-lights i:first-child { background: #8d1724; box-shadow: 0 0 8px rgba(173,24,40,.45); }
.frame-loading { position: absolute; z-index: 3; inset: 46px 0 0; display: grid; place-content: center; gap: 12px; text-align: center; background: #070708; color: #77706a; font: .7rem var(--typewriter); letter-spacing: .08em; transition: opacity .45s ease, visibility .45s ease; }
.frame-loading.is-hidden { opacity: 0; visibility: hidden; }
.loading-sigil { color: var(--blood-bright); font-size: 2.3rem; animation: orbitSpin 3s linear infinite; }
#archiveFrame { position: relative; z-index: 1; display: block; width: 100%; height: 1100px; border: 0; background: #09090a; }
.site-footer { display: flex; justify-content: space-between; gap: 15px; padding: 28px clamp(18px, 4vw, 58px); border-top: 1px solid var(--line); color: #55514d; font-size: .56rem; letter-spacing: .14em; }

.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .2s !important; }

@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes eyePulse { 0%,100% { opacity: .45; transform: translateX(-50%) scale(.75); } 50% { opacity: 1; transform: translateX(-50%) scale(1.15); } }
@keyframes fogFloat { from { transform: translate3d(-4vw, 2vh, 0) scale(1); } to { transform: translate3d(12vw,-4vh,0) scale(1.2); } }
@keyframes noiseShift { 0% { transform: translate(0,0); } 25% { transform: translate(2%,-3%); } 50% { transform: translate(-3%,2%); } 75% { transform: translate(4%,4%); } 100% { transform: translate(-2%,-2%); } }
@keyframes reject { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-10px); } 50% { transform: translateX(8px); } 75% { transform: translateX(-4px); } }

@media (max-width: 980px) {
  .archive-hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-stats { max-width: 680px; }
  .control-deck { grid-template-columns: 1fr; position: relative; top: auto; }
  .quick-filters { justify-content: flex-start; }
  .archive-shell { grid-template-columns: 1fr; }
  .archive-rail { position: relative; top: auto; min-height: auto; display: grid; grid-template-columns: 1.2fr .7fr .7fr; gap: 15px; }
  .archive-rail .rail-rule, .archive-rail .rail-button { display: none; }
}

@media (max-width: 640px) {
  .gate { padding: 22px 18px; }
  .gate-brand h1 { font-size: 2.6rem; }
  .gate-brand p { font-size: .72rem; }
  .keyhole-trigger { width: 205px; height: 205px; }
  .gate-footer > span { display: none; }
  .gate-footer { justify-content: flex-end; }
  .password-panel { padding: 26px 20px; }
  .password-row { grid-template-columns: 1fr; }
  .password-row button { min-height: 46px; }
  .action-label { display: none; }
  .topbar { min-height: 68px; }
  .archive-hero { padding-top: 76px; }
  .hero-copy h2 { font-size: clamp(2.6rem, 16vw, 4.8rem); }
  .hero-stats { grid-template-columns: 1fr; }
  .hero-stats article { border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-stats article:last-child { border-bottom: 0; }
  .search-wrap input { padding-right: 12px; }
  .search-status { display: none; }
  .archive-shell { padding-inline: 12px; }
  .archive-rail { grid-template-columns: 1fr; }
  .archive-rail .rail-note { display: none; }
  #archiveFrame { height: 1000px; }
  .site-footer { flex-direction: column; }
}

/* Global random-film control */
.frame-actions .random-movie-main {
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(214,52,70,.58);
  background:linear-gradient(180deg,rgba(142,16,30,.24),rgba(74,8,16,.12));
  color:#e6d8cc;
}
.frame-actions .random-movie-main span {
  color:#df4052;
  font-size:.78rem;
  transform:rotate(45deg);
}
.frame-actions .random-movie-main:hover:not(:disabled) {
  border-color:rgba(237,73,91,.9);
  background:rgba(151,15,29,.27);
  color:#fff1e8;
  box-shadow:0 8px 24px rgba(83,7,17,.26);
}
.frame-actions .random-movie-main:disabled {
  opacity:.38;
  cursor:not-allowed;
}
@media (max-width:760px) {
  .frame-actions .random-movie-main { order:-1; }
  .frame-actions .random-movie-main span { display:none; }
}


/* --------------------------------------------------------------------------
   Mobile-first usability pass
   -------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body { touch-action: manipulation; }
button, a, input, summary { -webkit-tap-highlight-color: rgba(207,48,67,.22); }

@media (hover: none), (pointer: coarse) {
  .cursor-glow { display:none; }
  .noise { opacity:.035; }
  .keyhole-trigger:hover .keyhole,
  .poster-card:hover,
  .load-more:hover { transform:none !important; }
  .icon-button,
  .filter-chip,
  .rail-button,
  .frame-toolbar button { min-height:44px; }
}

@media (max-width: 760px) {
  .gate {
    min-height:100svh;
    padding:max(16px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  }
  .gate-brand { align-self:start; }
  .gate-brand h1 { margin-top:8px; letter-spacing:-.045em; }
  .door-stage { min-height:360px; }
  .door { top:-8vh; bottom:-8vh; }
  .keyhole-trigger { width:min(56vw,210px); height:min(56vw,210px); }
  .password-panel { width:min(calc(100vw - 28px),450px); max-height:min(78svh,560px); overflow:auto; }
  .password-row input { min-height:50px; font-size:16px; }
  .password-row button { min-height:50px; }

  .topbar {
    min-height:64px;
    padding:10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));
  }
  .brand-eye { width:38px; height:38px; }
  .brand-mark strong { font-size:.72rem; }
  .brand-mark small { display:none; }
  .top-actions { gap:5px; }
  .icon-button { min-width:44px; justify-content:center; padding:0 10px; }

  .archive-hero {
    min-height:auto;
    padding:54px 16px 34px;
  }
  .archive-hero::after { top:12px; font-size:38vw; }
  .hero-copy h2 { margin:13px 0 16px; font-size:clamp(2.3rem,14vw,4.4rem); line-height:.88; }
  .hero-copy p { font-size:.82rem; line-height:1.65; }
  .hero-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero-stats article { padding:16px 5px; border-right:1px solid var(--line); border-bottom:0; }
  .hero-stats article:last-child { border-right:0; }
  .stat-value { font-size:clamp(1rem,5vw,1.45rem); }
  .stat-label { font-size:.43rem; letter-spacing:.09em; }

  .control-deck {
    position:sticky;
    top:64px;
    z-index:45;
    gap:10px;
    padding:10px 12px;
  }
  .search-wrap { min-height:46px; }
  .search-wrap input { min-height:46px; padding:11px 10px; font-size:16px; }
  .search-glyph { margin-left:12px; }
  .quick-filters { margin-inline:-12px; padding:0 12px 3px; scroll-snap-type:x proximity; }
  .filter-chip { min-height:42px; padding:0 13px; scroll-snap-align:start; }

  .archive-shell { min-height:0; padding:18px 8px 42px; gap:12px; }
  .archive-rail { display:none; }
  .frame-wrap { min-height:620px; overflow:visible; border-left:0; border-right:0; box-shadow:0 20px 65px rgba(0,0,0,.38); }
  .frame-wrap::before { display:none; }
  .frame-toolbar {
    position:sticky;
    top:166px;
    z-index:8;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    min-height:auto;
    padding:9px 10px 10px;
  }
  .frame-lights { display:none; }
  #frameTitle {
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:2px 1px;
    font-size:.53rem;
  }
  .frame-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:7px;
  }
  .frame-actions button,
  .frame-actions .random-movie-main {
    width:100%;
    min-width:0;
    min-height:44px;
    justify-content:center;
    padding:8px 6px;
    border:1px solid rgba(177,25,40,.3);
    background:rgba(255,255,255,.018);
    font-size:.52rem;
    letter-spacing:.07em;
    white-space:normal;
    line-height:1.2;
  }
  .frame-actions .random-movie-main span { display:inline; }
  .frame-loading { inset:111px 0 0; min-height:420px; }
  #archiveFrame { height:720px; min-height:620px; overflow:hidden; }
  .site-footer { padding:22px 16px max(22px, env(safe-area-inset-bottom)); font-size:.5rem; }
}

@media (max-width: 380px) {
  .gate-brand .eyebrow { font-size:.55rem; letter-spacing:.2em; }
  .gate-brand h1 { font-size:2.2rem; }
  .hero-stats { grid-template-columns:1fr; }
  .hero-stats article { border-right:0; border-bottom:1px solid var(--line); }
  .hero-stats article:last-child { border-bottom:0; }
  .frame-actions { grid-template-columns:1fr; }
  .frame-toolbar { top:166px; }
  .frame-loading { inset:207px 0 0; }
}

/* ============================================================
   Front-end collection entry manager
   ============================================================ */
.rail-actions { display:grid; gap:9px; margin-top:22px; }
.rail-actions .rail-button { margin-top:0; }
.rail-button-add { border-color:rgba(207,48,67,.58); background:linear-gradient(180deg,rgba(137,15,30,.18),rgba(84,9,18,.08)); color:#e8ded2; }
.rail-button-add span { color:var(--blood-bright); margin-right:5px; font-size:.9rem; }
.rail-button-add:hover { border-color:rgba(225,58,77,.9); background:rgba(143,14,27,.2); color:#fff3ea; }

.collection-dialog {
  width:min(980px,calc(100vw - 28px)); max-height:min(92vh,980px); padding:0; border:1px solid rgba(204,43,61,.52);
  background:#08080a; color:var(--bone); box-shadow:0 35px 120px rgba(0,0,0,.78),0 0 60px rgba(127,10,23,.18);
}
.collection-dialog::backdrop { background:rgba(0,0,0,.86); backdrop-filter:blur(7px); }
.collection-dialog-shell { max-height:92vh; overflow:auto; background:radial-gradient(circle at 90% 0%,rgba(139,16,30,.15),transparent 25%),#08080a; }
.collection-dialog-header { position:sticky; top:0; z-index:4; display:flex; justify-content:space-between; gap:24px; padding:24px 26px 20px; border-bottom:1px solid var(--line); background:rgba(8,8,10,.96); backdrop-filter:blur(12px); }
.collection-dialog-header h2 { margin:6px 0 6px; font:700 clamp(1.35rem,3vw,2.2rem)/1 var(--display); letter-spacing:.055em; }
.collection-dialog-header p { max-width:720px; margin:0; color:#827a74; font:.72rem/1.65 var(--typewriter); }
.dialog-close { flex:0 0 42px; width:42px; height:42px; border:1px solid var(--line); background:#0c0c0e; color:#9f9690; cursor:pointer; font-size:1.45rem; line-height:1; }
.dialog-close:hover { border-color:rgba(207,48,67,.65); color:#fff; }
.collection-form { padding:24px 26px 28px; }
.form-section-title { display:flex; align-items:center; gap:10px; margin:7px 0 13px; padding-bottom:9px; border-bottom:1px solid rgba(231,220,206,.1); color:#cfc4b8; font:600 .7rem var(--display); letter-spacing:.13em; text-transform:uppercase; }
.form-section-title:not(:first-child) { margin-top:29px; }
.form-section-title span { color:var(--blood-bright); font:.65rem var(--typewriter); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.field { display:grid; gap:7px; min-width:0; }
.field-wide { grid-column:1/-1; }
.field > span { color:#938a83; font:.58rem var(--typewriter); letter-spacing:.1em; text-transform:uppercase; }
.field input,.field textarea,.field select { width:100%; min-width:0; border:1px solid rgba(230,220,206,.13); border-radius:0; background:#0d0d0f; color:#ece2d5; padding:11px 12px; outline:0; font:400 .86rem/1.4 Inter,Arial,sans-serif; }
.field textarea { resize:vertical; min-height:80px; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:rgba(210,42,60,.72); box-shadow:0 0 0 2px rgba(159,18,31,.12); }
.field small { color:#6f6862; font:.62rem/1.55 var(--typewriter); }
.media-location-field input { border-color:rgba(207,48,67,.28); background:rgba(114,11,23,.07); }
.collection-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:25px; padding-top:18px; border-top:1px solid rgba(231,220,206,.1); }
.collection-form-actions button { min-height:44px; padding:10px 16px; cursor:pointer; text-transform:uppercase; letter-spacing:.1em; font:600 .62rem var(--display); }
.secondary-action { border:1px solid var(--line); background:#0d0d0f; color:#8f8780; }
.primary-action { border:1px solid rgba(218,50,69,.68); background:linear-gradient(180deg,#941728,#64101b); color:#fff2e8; box-shadow:0 12px 28px rgba(105,8,20,.25); }
.collection-storage-note { margin:14px 0 0; padding:11px 12px; border-left:2px solid #7d1623; background:rgba(126,13,26,.07); color:#766f69; font:.62rem/1.6 var(--typewriter); }
.collection-storage-note strong { color:#a99f96; }
.collection-manager { padding:22px 26px 30px; border-top:1px solid var(--line); background:rgba(255,255,255,.012); }
.collection-manager-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:12px; }
.collection-manager-head h3 { margin:4px 0 0; font:600 1.05rem var(--display); letter-spacing:.08em; }
.collection-manager-head > span { color:#716a64; font:.58rem var(--typewriter); letter-spacing:.09em; text-transform:uppercase; }
.added-movie-list { display:grid; gap:8px; }
.manager-empty { margin:0; padding:17px; border:1px dashed rgba(230,220,206,.12); color:#6f6862; font:.7rem var(--typewriter); }
.added-movie-item { display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; padding:12px 13px; border:1px solid rgba(230,220,206,.1); background:#0b0b0d; }
.added-movie-copy { min-width:0; }
.added-movie-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#e7ddd0; font:600 .78rem var(--display); }
.added-movie-copy span { display:block; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#716a64; font:.59rem var(--typewriter); }
.added-movie-actions { display:flex; gap:6px; }
.added-movie-actions button { min-height:36px; padding:7px 9px; border:1px solid var(--line); background:#101012; color:#928982; cursor:pointer; font:.55rem var(--typewriter); text-transform:uppercase; letter-spacing:.08em; }
.added-movie-actions button:hover { border-color:rgba(207,48,67,.5); color:#fff; }
.added-movie-actions .delete-added-movie:hover { background:rgba(139,15,29,.16); }

@media(max-width:1024px){
  .archive-rail .rail-actions { display:grid; }
  .archive-rail .rail-actions .rail-button { display:block; }
}
@media(max-width:760px){
  .archive-rail { display:grid !important; grid-template-columns:1fr !important; min-height:0; padding:8px; background:transparent; border:0; }
  .archive-rail > div:not(.rail-actions), .archive-rail > .rail-rule, .archive-rail > .rail-note { display:none !important; }
  .rail-actions { grid-template-columns:1fr 1fr; margin:0; gap:7px; }
  .rail-actions .rail-button { min-height:44px; padding:9px 7px; font-size:.52rem; }
  .collection-dialog { width:100vw; max-width:none; height:100dvh; max-height:100dvh; margin:0; border-width:0; }
  .collection-dialog-shell { max-height:100dvh; }
  .collection-dialog-header { padding:18px 14px 15px; }
  .collection-dialog-header p { font-size:.65rem; }
  .collection-form { padding:17px 14px 22px; }
  .form-grid { grid-template-columns:1fr; }
  .field-wide { grid-column:auto; }
  .field input,.field textarea,.field select { font-size:16px; min-height:46px; }
  .field textarea { min-height:96px; }
  .collection-form-actions { display:grid; grid-template-columns:1fr 1fr; }
  .collection-manager { padding:18px 14px 24px; }
  .added-movie-item { grid-template-columns:1fr; }
  .added-movie-actions { display:grid; grid-template-columns:1fr 1fr; }
  .added-movie-actions button { min-height:42px; }
}

/* Server-backed administration + maintenance */
.rail-button-maintenance{border-color:rgba(137,118,100,.34);background:rgba(255,255,255,.025);color:#a99e94}
.rail-button-maintenance:hover{border-color:rgba(213,65,82,.62);color:#efe5da;background:rgba(119,13,25,.11)}
.rail-button-maintenance span{margin-right:6px;color:#c53a49}
body.hc-maintenance-public #app{filter:blur(12px);pointer-events:none;user-select:none}
.maintenance-dialog{width:min(980px,calc(100vw - 28px));max-width:980px;padding:0;border:1px solid rgba(203,48,66,.38);background:#08080a;color:#ddd2c7;box-shadow:0 35px 120px rgba(0,0,0,.78)}
.maintenance-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.maintenance-shell{max-height:92vh;overflow:auto;background:radial-gradient(circle at 88% 0%,rgba(139,16,30,.15),transparent 27%),#08080a}
.maintenance-body{padding:22px 24px 28px;display:grid;gap:16px}
.maintenance-card,.admin-login-panel{border:1px solid rgba(229,219,206,.11);background:rgba(255,255,255,.014);padding:20px}
.maintenance-card h3,.admin-login-panel h3{margin:6px 0 8px;font:700 clamp(1.1rem,2vw,1.55rem)/1.1 var(--display);letter-spacing:.045em;color:#eee4d9}
.maintenance-card p,.admin-login-panel p{margin:0 0 14px;color:#8c837c;font:.7rem/1.65 var(--typewriter)}
.admin-login-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;max-width:670px;margin-top:15px}
.admin-login-form input{min-height:46px;padding:10px 12px;border:1px solid rgba(229,219,206,.17);background:#0b0b0d;color:#efe5d9;font: .8rem var(--typewriter)}
.admin-login-status{display:block;min-height:1.4em;margin-top:9px;color:#c83a49;font:.62rem var(--typewriter);letter-spacing:.05em}
#maintenanceAdminControls{display:grid;gap:16px}
.maintenance-state-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.maintenance-state-card .maintenance-message-field,.maintenance-state-card #saveMaintenance{grid-column:1/-1}
.maintenance-switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.maintenance-switch input{position:absolute;opacity:0;pointer-events:none}
.maintenance-switch span{position:relative;width:54px;height:28px;border:1px solid rgba(229,219,206,.2);background:#111114;border-radius:999px;transition:.2s}
.maintenance-switch span::after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#726a64;transition:.2s}
.maintenance-switch input:checked + span{border-color:rgba(213,56,74,.7);background:rgba(123,13,26,.32)}
.maintenance-switch input:checked + span::after{left:30px;background:#d64354;box-shadow:0 0 16px rgba(214,67,84,.45)}
.maintenance-switch b{min-width:26px;color:#a39890;font:.62rem var(--typewriter);letter-spacing:.1em}
.maintenance-message-field textarea{width:100%;resize:vertical;min-height:88px}
.maintenance-help{max-width:760px}
.server-health-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center}
.server-health-card .eyebrow,.server-health-card h3,.server-health-card p{grid-column:1}
.server-health-card #adminLogoutButton{grid-column:2;grid-row:1/4;align-self:center}
.deleted-record-meta{color:#746b65!important}
.restore-deleted-movie{border-color:rgba(76,139,112,.45)!important;color:#bdd9cb!important}
.maintenance-curtain{position:fixed;z-index:9000;inset:0;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 36%,rgba(129,13,27,.15),transparent 31%),rgba(5,5,6,.98)}
.maintenance-curtain[hidden]{display:none}
.maintenance-curtain-card{width:min(620px,100%);padding:clamp(28px,6vw,56px);border:1px solid rgba(199,43,61,.35);background:linear-gradient(180deg,rgba(20,14,16,.96),rgba(7,7,8,.98));box-shadow:0 40px 130px rgba(0,0,0,.82);text-align:center}
.maintenance-curtain-card h1{margin:10px 0 14px;font:700 clamp(2rem,7vw,4.5rem)/.95 var(--display);letter-spacing:.06em;color:#efe5d9}
.maintenance-curtain-card p{max-width:500px;margin:0 auto 24px;color:#91877f;font:.78rem/1.75 var(--typewriter)}
.maintenance-sigil{margin:18px 0 12px;font-size:3.4rem;color:#a82535;text-shadow:0 0 24px rgba(186,39,55,.33)}
.hc-admin-delete-button{position:relative!important;isolation:isolate!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:46px!important;padding:11px 17px!important;margin-left:10px!important;overflow:hidden!important;border:1px solid rgba(210,49,67,.5)!important;border-radius:3px!important;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 37%),linear-gradient(135deg,#31080d 0%,#17080a 62%,#0c090a 100%)!important;color:#f0c7c9!important;font-family:Cinzel,Georgia,serif!important;font-size:.62rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 0 22px rgba(139,14,28,.10),0 10px 24px rgba(0,0,0,.30),0 0 0 1px rgba(0,0,0,.42)!important;cursor:pointer!important;transition:.18s ease!important}
.hc-admin-delete-button::before{content:"✦";display:inline-grid;place-items:center;width:20px;height:20px;color:#d64a58;font:400 .78rem/1 Georgia,serif;text-shadow:0 0 10px rgba(215,50,70,.42);transition:.2s ease}
.hc-admin-delete-button:hover{transform:translateY(-1px);border-color:rgba(229,67,84,.88)!important;color:#fff1ed!important;background:linear-gradient(180deg,rgba(255,255,255,.075),transparent 36%),linear-gradient(135deg,#4a0b13 0%,#23090d 60%,#10090a 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 28px rgba(170,18,35,.14),0 14px 30px rgba(0,0,0,.38),0 0 23px rgba(190,26,45,.18)!important}
.hc-admin-delete-button:hover::before{color:#ff6d79;transform:rotate(45deg) scale(1.08);text-shadow:0 0 13px rgba(229,67,84,.68)}
.hc-admin-delete-button:focus-visible{outline:none!important;border-color:#ed6a77!important;box-shadow:0 0 0 3px rgba(190,29,48,.22),0 0 22px rgba(190,29,48,.22)!important}
.server-backed-badge{display:inline-flex;align-items:center;gap:6px;color:#9fc6ad}
.server-backed-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#6eb188;box-shadow:0 0 10px rgba(110,177,136,.5)}
@media(max-width:700px){
  .maintenance-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0}
  .maintenance-shell{max-height:100dvh}
  .maintenance-body{padding:14px}
  .admin-login-form{grid-template-columns:1fr}
  .maintenance-state-card{grid-template-columns:1fr}
  .maintenance-state-card .maintenance-message-field,.maintenance-state-card #saveMaintenance{grid-column:1}
  .server-health-card{grid-template-columns:1fr}
  .server-health-card #adminLogoutButton{grid-column:1;grid-row:auto}
}

/* Bookmark vault */
.rail-button-bookmarks{position:relative;border-color:rgba(183,151,82,.28)!important;background:linear-gradient(180deg,rgba(187,151,75,.055),rgba(255,255,255,.012))!important;color:#cfc2a6!important}
.rail-button-bookmarks span{color:#b89959;font-size:1rem}
.rail-button-bookmarks b{margin-left:auto;min-width:24px;padding:2px 6px;border:1px solid rgba(183,151,82,.25);background:#0b0a08;color:#b9a57a;font-size:.62rem;text-align:center}
.rail-button-bookmarks:hover,.rail-button-bookmarks.has-bookmarks{border-color:rgba(211,175,94,.52)!important;color:#f0dfb6!important;box-shadow:inset 0 0 18px rgba(151,112,31,.06),0 8px 24px rgba(0,0,0,.22)}
@media(max-width:760px){.rail-button-bookmarks{min-height:48px}.rail-button-bookmarks b{min-width:28px;padding:4px 7px}}

/* Personal vault: watchlist, reviews, collections, Letterboxd */
.rail-button-watchlist,.rail-button-reviews,.rail-button-collections{position:relative;gap:8px}
.rail-button-watchlist b,.rail-button-reviews b,.rail-button-collections b{margin-left:auto;min-width:24px;padding:2px 6px;border:1px solid rgba(226,216,203,.15);background:#0a0a0c;color:#a79d95;font-size:.62rem;text-align:center}
.rail-button-watchlist{border-color:rgba(103,135,151,.28)!important;background:linear-gradient(180deg,rgba(91,126,145,.055),rgba(255,255,255,.012))!important;color:#b9c7cd!important}
.rail-button-watchlist span{color:#88a8b6;font-size:1rem}.rail-button-watchlist:hover,.rail-button-watchlist.has-watchlist{border-color:rgba(117,159,180,.56)!important;color:#dbeaf0!important;box-shadow:inset 0 0 18px rgba(71,117,141,.07),0 8px 24px rgba(0,0,0,.22)}
.rail-button-reviews{border-color:rgba(153,111,67,.3)!important;background:linear-gradient(180deg,rgba(157,109,56,.055),rgba(255,255,255,.012))!important;color:#ccb99f!important}
.rail-button-reviews span{color:#cf9c59}.rail-button-reviews:hover,.rail-button-reviews.has-reviews{border-color:rgba(198,142,76,.56)!important;color:#f1d8b4!important}
.rail-button-collections{border-color:rgba(119,89,135,.3)!important;background:linear-gradient(180deg,rgba(110,77,128,.06),rgba(255,255,255,.012))!important;color:#c7b6cf!important}
.rail-button-collections span{color:#a783b8}.rail-button-collections:hover,.rail-button-collections.has-collections{border-color:rgba(164,119,186,.58)!important;color:#e6d4ef!important}

.vault-dialog{width:min(980px,calc(100vw - 28px));max-width:980px;padding:0;border:1px solid rgba(184,144,82,.3);background:#08080a;color:#ddd2c7;box-shadow:0 35px 120px rgba(0,0,0,.78)}
.vault-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.vault-dialog-shell{max-height:92vh;overflow:auto;background:radial-gradient(circle at 92% 0%,rgba(133,91,38,.10),transparent 27%),radial-gradient(circle at 10% 28%,rgba(106,23,36,.08),transparent 28%),#08080a}
.review-dialog-shell{width:min(760px,100%)}
.vault-form,.vault-section{padding:22px 24px;border-top:1px solid rgba(229,219,206,.08)}
.vault-rating-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:12px}
.vault-like-toggle{min-height:47px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(171,66,75,.28);background:#0b0b0d;color:#b8aaa1;cursor:pointer;font:.61rem var(--typewriter);letter-spacing:.08em;text-transform:uppercase}
.vault-like-toggle input{position:absolute;opacity:0}.vault-like-toggle span{font-size:1.2rem;color:#7f4b50}.vault-like-toggle:has(input:checked){border-color:rgba(211,65,80,.56);color:#f0c8cb;background:rgba(114,14,27,.12)}.vault-like-toggle:has(input:checked) span{color:#d54a58;text-shadow:0 0 12px rgba(213,74,88,.35)}
.vault-source-note{margin:12px 0 0;color:#756d67;font:.62rem/1.6 var(--typewriter)}
.danger-quiet{border-color:rgba(172,47,60,.24)!important;color:#b88e91!important}

.vault-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgba(229,219,206,.08)}
.vault-summary-grid div{padding:16px 18px;border-right:1px solid rgba(229,219,206,.08);background:rgba(255,255,255,.012)}.vault-summary-grid div:last-child{border-right:0}
.vault-summary-grid span{display:block;color:#706861;font:.55rem var(--typewriter);letter-spacing:.12em;text-transform:uppercase}.vault-summary-grid strong{display:block;margin-top:4px;font:700 1.5rem var(--display);color:#e7dbcf}
.collection-create-form{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:9px;margin:14px 0 16px}.collection-create-form input{min-height:46px;padding:10px 12px;border:1px solid rgba(229,219,206,.14);background:#0a0a0c;color:#e8ddd1;font:16px var(--typewriter)}
.custom-collections-list{display:grid;gap:8px}.custom-collection-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(229,219,206,.1);background:rgba(255,255,255,.012)}.custom-collection-item strong{display:block;color:#ddd2c7;font:.75rem var(--display);letter-spacing:.035em}.custom-collection-item span{display:block;margin-top:4px;color:#746c66;font:.58rem/1.5 var(--typewriter);letter-spacing:.05em}.custom-collection-item>div:last-child{display:flex;gap:6px}.custom-collection-item button{min-height:36px;padding:7px 10px;border:1px solid rgba(229,219,206,.13);background:#0c0c0e;color:#aaa098;font:.57rem var(--typewriter);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.custom-collection-item button:hover{border-color:rgba(191,147,79,.48);color:#e4d2b4}

.letterboxd-import-section{background:linear-gradient(180deg,rgba(0,186,99,.025),transparent)}.letterboxd-import-section>p,.vault-backup-section>p{max-width:780px;color:#8d847d;font:.68rem/1.7 var(--typewriter)}.letterboxd-mark{display:grid;place-items:center;min-width:40px;height:28px;border-radius:999px;background:#141518;color:#fff;font:700 .6rem Arial,sans-serif;letter-spacing:.05em;box-shadow:inset 10px 0 0 #ff8000,inset 20px 0 0 #00c030,inset 30px 0 0 #40bcf4;padding-left:31px;padding-right:9px}
.letterboxd-import-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:14px 0 10px}.letterboxd-import-controls input{min-height:46px;padding:9px 10px;border:1px dashed rgba(229,219,206,.18);background:#0a0a0c;color:#9d948d;font:.7rem var(--typewriter)}.letterboxd-option{display:flex;align-items:center;gap:8px;color:#8f8780;font:.63rem var(--typewriter)}.letterboxd-import-status{margin-top:12px;padding:12px 13px;border:1px solid rgba(229,219,206,.09);background:#0a0a0c;color:#8f8780;font:.63rem/1.65 var(--typewriter)}.letterboxd-import-status strong{color:#c9bdaa}.letterboxd-unmatched{margin-top:9px;color:#756e68;font:.61rem var(--typewriter)}.letterboxd-unmatched summary{cursor:pointer;padding:7px 0}.letterboxd-unmatched b{color:#b88f57}.letterboxd-unmatched div{display:flex;flex-wrap:wrap;gap:5px;padding-top:8px}.letterboxd-unmatched span{padding:4px 6px;border:1px solid rgba(229,219,206,.08);background:#0b0b0d}
.vault-backup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-action{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer}.file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}

.picker-dialog-shell{width:min(650px,100%)}.collection-picker-list{display:grid;gap:8px;padding:20px 22px}.collection-picker-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;padding:12px 13px;border:1px solid rgba(229,219,206,.11);background:rgba(255,255,255,.012);cursor:pointer}.collection-picker-row input{width:18px;height:18px;accent-color:#a57c42}.collection-picker-row strong{display:block;color:#ddd2c7;font:.7rem var(--display)}.collection-picker-row small{display:block;margin-top:4px;color:#746c66;font:.56rem/1.4 var(--typewriter)}

@media(max-width:760px){
  .rail-button-watchlist b,.rail-button-reviews b,.rail-button-collections b{min-width:28px;padding:4px 7px}
  .vault-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0}.vault-dialog-shell{max-height:100dvh}.vault-form,.vault-section{padding:17px 14px}.vault-rating-row{grid-template-columns:1fr}.vault-like-toggle{justify-content:flex-start}.vault-summary-grid{grid-template-columns:1fr 1fr}.vault-summary-grid div:nth-child(2){border-right:0}.collection-create-form,.letterboxd-import-controls{grid-template-columns:1fr}.custom-collection-item{grid-template-columns:1fr}.custom-collection-item>div:last-child{display:grid;grid-template-columns:1fr 1fr}.collection-picker-list{padding:14px}.vault-backup-actions{display:grid;grid-template-columns:1fr 1fr}.vault-backup-actions>*{width:100%}
}

/* Server-backed Personal Vault status */
.vault-sync-note{margin:0;padding:9px 18px;border-bottom:1px solid rgba(229,219,206,.08);background:#09090b;color:#776f69;font:700 .52rem/1.5 var(--typewriter);letter-spacing:.12em;text-transform:uppercase}
.vault-sync-note::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#6b252a;box-shadow:0 0 8px rgba(107,37,42,.35);vertical-align:1px}
.vault-sync-note.is-synced{color:#a9b99d}.vault-sync-note.is-synced::before{background:#748f67;box-shadow:0 0 10px rgba(116,143,103,.45)}


/* ========================================================================== */
/* Personal Vault dashboard                                                   */
/* ========================================================================== */
.rail-button-vault{position:relative;overflow:hidden;border-color:rgba(187,157,96,.34)!important;background:linear-gradient(180deg,rgba(116,87,38,.14),rgba(20,17,15,.88))!important;color:#ead8ad!important;}
.rail-button-vault::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(231,205,147,.08) 45%,transparent 72%);transform:translateX(-120%);transition:transform .55s ease;}
.rail-button-vault:hover::after{transform:translateX(120%);}
.vault-dashboard-dialog{width:min(1500px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid rgba(213,190,143,.19);background:#09090b;color:#e9dfd3;box-shadow:0 34px 90px rgba(0,0,0,.78),0 0 80px rgba(103,16,29,.14);overflow:hidden;}
.vault-dashboard-dialog::backdrop{background:rgba(2,2,3,.9);backdrop-filter:blur(10px);}
.vault-dashboard-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 30px);background:radial-gradient(circle at 76% -10%,rgba(130,18,34,.11),transparent 32%),radial-gradient(circle at 15% 0%,rgba(171,133,62,.07),transparent 25%),#09090b;}
.vault-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 20px;border-bottom:1px solid rgba(230,220,206,.09);background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);}
.vault-dashboard-header h2{margin:7px 0 6px;font:600 clamp(1.6rem,4vw,3.2rem)/.96 Cinzel,Georgia,serif;letter-spacing:.02em;color:#efe2d3;}
.vault-dashboard-header p{max-width:820px;margin:0;color:#91877e;font:italic .91rem/1.55 Georgia,serif;}
.vault-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgba(230,220,206,.09);}
.vault-dashboard-stats button{appearance:none;border:0;border-right:1px solid rgba(230,220,206,.08);padding:15px 19px;text-align:left;background:rgba(255,255,255,.01);color:#dcd0c4;cursor:pointer;transition:background .18s ease,color .18s ease;}
.vault-dashboard-stats button:last-child{border-right:0;}
.vault-dashboard-stats button:hover{background:rgba(181,140,72,.07);color:#fff0d7;}
.vault-dashboard-stats span,.vault-dashboard-stats small{display:block;font:600 .56rem/1.2 Cinzel,Georgia,serif;letter-spacing:.13em;text-transform:uppercase;color:#766d65;}
.vault-dashboard-stats strong{display:block;margin:4px 0 2px;font:600 clamp(1.35rem,3vw,2.25rem)/1 Cinzel,Georgia,serif;color:#d9bd84;}
.vault-dashboard-stats small{font-size:.5rem;color:#5f5852;}
.vault-dashboard-sync{display:flex;align-items:center;gap:8px;padding:8px 28px;border-bottom:1px solid rgba(230,220,206,.07);color:#746c65;font:600 .51rem Cinzel,Georgia,serif;letter-spacing:.13em;text-transform:uppercase;}
.vault-dashboard-sync i{width:6px;height:6px;border-radius:50%;background:#7b222e;box-shadow:0 0 10px rgba(160,31,49,.45);}
.vault-dashboard-sync.is-synced{color:#8a7b61;}.vault-dashboard-sync.is-synced i{background:#b99b5c;box-shadow:0 0 11px rgba(190,156,87,.5);}
.vault-dashboard-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid rgba(230,220,206,.09);scrollbar-width:thin;}
.vault-dashboard-tabs button{flex:0 0 auto;appearance:none;border:0;border-right:1px solid rgba(230,220,206,.07);border-bottom:2px solid transparent;padding:13px 18px;background:transparent;color:#80766f;cursor:pointer;font:600 .61rem Cinzel,Georgia,serif;letter-spacing:.1em;text-transform:uppercase;}
.vault-dashboard-tabs button:hover{color:#d8cdc1;background:rgba(255,255,255,.018);}.vault-dashboard-tabs button.is-active{color:#e7d2a4;border-bottom-color:#ad8e54;background:rgba(158,124,65,.055);}
.vault-dashboard-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,240px) auto;gap:10px;align-items:end;padding:13px 18px;border-bottom:1px solid rgba(230,220,206,.08);background:#0d0d0f;}
.vault-dashboard-search,.vault-dashboard-sort{display:grid;gap:5px;}.vault-dashboard-search span,.vault-dashboard-sort span{color:#706760;font:600 .5rem Cinzel,Georgia,serif;letter-spacing:.11em;}
.vault-dashboard-search input,.vault-dashboard-sort select{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgba(230,220,206,.12);background:#09090a;color:#ddd1c5;border-radius:2px;outline:none;}
.vault-dashboard-search input:focus,.vault-dashboard-sort select:focus{border-color:rgba(183,143,74,.5);box-shadow:0 0 0 2px rgba(183,143,74,.07);}
.vault-dashboard-content{flex:1;min-height:320px;overflow:auto;padding:22px;scrollbar-color:#5c252d #0a0a0c;}
.vault-dashboard-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 18px;border-top:1px solid rgba(230,220,206,.08);background:#0b0b0d;color:#69615b;font-size:.66rem;}
.vault-overview-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:20px;border:1px solid rgba(184,144,76,.16);background:linear-gradient(135deg,rgba(123,88,33,.08),rgba(117,13,28,.035));margin-bottom:22px;}
.vault-overview-intro span,.vault-overview-section header span,.vault-dashboard-section-head span{color:#8c744a;font:600 .54rem Cinzel,Georgia,serif;letter-spacing:.13em;text-transform:uppercase;}
.vault-overview-intro h3,.vault-overview-section h3,.vault-dashboard-section-head h3{margin:5px 0 0;color:#e6d8c9;font:600 clamp(1.1rem,2.4vw,1.75rem) Cinzel,Georgia,serif;}.vault-overview-intro p{max-width:800px;margin:8px 0 0;color:#988d83;line-height:1.55;}
.vault-overview-intro button,.vault-overview-section header button,.vault-dashboard-section-head button,.vault-collection-copy button{appearance:none;min-height:38px;padding:8px 11px;border:1px solid rgba(184,144,76,.26);background:#111013;color:#cdb78d;cursor:pointer;font:600 .55rem Cinzel,Georgia,serif;letter-spacing:.08em;text-transform:uppercase;}
.vault-overview-section{margin:0 0 26px;}.vault-overview-section>header,.vault-dashboard-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(230,220,206,.08);}
.vault-mini-grid,.vault-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.vault-film-card{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:150px;border:1px solid rgba(230,220,206,.09);background:rgba(255,255,255,.012);overflow:hidden;transition:border-color .16s ease,background .16s ease,transform .16s ease;}
.vault-film-card:hover{border-color:rgba(185,145,77,.24);background:rgba(255,255,255,.022);transform:translateY(-1px);}
.vault-film-open{appearance:none;border:0;padding:0;background:#0b0b0d;cursor:pointer;}.vault-film-poster{position:relative;width:100%;height:100%;min-height:150px;background:radial-gradient(circle at 50% 25%,rgba(119,14,27,.16),transparent 48%),#101013;display:grid;place-items:center;overflow:hidden;}.vault-film-poster img{width:100%;height:100%;object-fit:cover;display:block;}.vault-film-poster span{display:none;padding:10px;color:#5c5550;text-align:center;font:600 .5rem/1.5 Cinzel,Georgia,serif;letter-spacing:.1em;}.vault-film-poster.is-missing span{display:block;}
.vault-film-card-copy{min-width:0;padding:11px 12px;display:flex;flex-direction:column;align-items:flex-start;}.vault-film-flags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px;}.vault-film-flags span{padding:3px 5px;border:1px solid rgba(230,220,206,.1);font:600 .43rem Cinzel,Georgia,serif;letter-spacing:.08em;color:#7f756e;}.vault-film-flags .is-bookmark{color:#c4a66f;border-color:rgba(196,166,111,.25)}.vault-film-flags .is-watchlist{color:#b48791;border-color:rgba(180,135,145,.24)}.vault-film-flags .is-letterboxd{color:#9ab48a;border-color:rgba(154,180,138,.2)}
.vault-film-title,.vault-journal-title{appearance:none;border:0;padding:0;background:none;color:#e5d9cd;text-align:left;cursor:pointer;font:600 .83rem/1.25 Cinzel,Georgia,serif;}.vault-film-title:hover,.vault-journal-title:hover{color:#fff1dd;}.vault-film-meta{margin-top:5px;color:#6f6761;font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;}.vault-card-rating{display:block;margin-top:8px;color:#c9ab70;font-size:.73rem;letter-spacing:.05em;}.vault-card-rating em{font-style:normal;color:#7f746b;font-size:.58rem;}.vault-card-unrated{margin-top:8px;color:#57514d;font:600 .48rem Cinzel,Georgia,serif;letter-spacing:.09em;}.vault-watched-date{margin-top:6px;color:#7d7065;font-size:.52rem;letter-spacing:.08em;}
.vault-film-card-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:9px;}.vault-film-card-actions button,.vault-journal-actions button{appearance:none;border:1px solid rgba(230,220,206,.1);background:#0d0d0f;color:#81776f;min-height:28px;padding:5px 7px;cursor:pointer;font:600 .46rem Cinzel,Georgia,serif;letter-spacing:.05em;text-transform:uppercase;}.vault-film-card-actions button:hover,.vault-journal-actions button:hover,.vault-film-card-actions button.is-active{border-color:rgba(185,145,77,.28);color:#d8c49d;}
.vault-review-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 0;color:#9c9188;font:italic .72rem/1.45 Georgia,serif;}
.vault-journal-stack{display:grid;gap:12px;}.vault-journal-stack.compact .vault-journal-card:nth-child(n+4){display:none;}.vault-journal-card{display:grid;grid-template-columns:112px minmax(0,1fr);border:1px solid rgba(230,220,206,.09);background:rgba(255,255,255,.012);}.vault-journal-poster{min-height:168px;}.vault-journal-copy{padding:14px 16px;}.vault-journal-kicker{display:flex;justify-content:space-between;gap:12px;color:#786f68;font:600 .48rem Cinzel,Georgia,serif;letter-spacing:.11em;}.vault-journal-kicker b{color:#a84452;}.vault-journal-title{display:block;margin-top:6px;font-size:1rem;}.vault-journal-title small{color:#776e67;font:inherit;font-size:.72em;}.vault-journal-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:7px;color:#776d66;font-size:.58rem;}.vault-journal-rating strong{color:#d0b273;letter-spacing:.07em;}.vault-journal-rating i{font-style:normal;margin-left:auto;color:#6d645d;}.vault-journal-copy>p{margin:10px 0 0;color:#aca198;font:italic .82rem/1.55 Georgia,serif;white-space:pre-wrap;}.vault-journal-copy>p.is-empty{color:#625b55;}.vault-journal-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;}.vault-journal-tags span{padding:4px 6px;border:1px solid rgba(169,133,75,.16);color:#8f7c5c;font-size:.55rem;}.vault-journal-actions{display:flex;gap:6px;margin-top:11px;}
.vault-collections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.vault-collection-card{display:grid;grid-template-columns:minmax(160px,42%) minmax(0,1fr);min-height:210px;border:1px solid rgba(230,220,206,.1);background:#0d0d0f;overflow:hidden;}.vault-collection-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:210px;background:#0a0a0c;}.vault-collection-mosaic span{min-width:0;min-height:0;border-right:1px solid #111;border-bottom:1px solid #111;overflow:hidden;display:grid;place-items:center;}.vault-collection-mosaic img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05);}.vault-collection-mosaic .is-empty i{color:#362f2b;font-style:normal;font-size:1.4rem;}.vault-collection-copy{padding:16px;display:flex;flex-direction:column;align-items:flex-start;}.vault-collection-source{color:#806d4d;font:600 .49rem Cinzel,Georgia,serif;letter-spacing:.11em;}.vault-collection-copy h3{margin:7px 0 7px;color:#e1d4c7;font:600 1rem/1.25 Cinzel,Georgia,serif;}.vault-collection-copy p{margin:0;color:#81776f;font-size:.7rem;line-height:1.5;}.vault-collection-copy>strong{margin-top:10px;color:#a58a59;font:600 .58rem Cinzel,Georgia,serif;letter-spacing:.09em;}.vault-collection-copy>div{display:flex;gap:6px;margin-top:auto;padding-top:12px;}
.vault-dashboard-empty{min-height:160px;border:1px dashed rgba(230,220,206,.1);display:grid;place-items:center;align-content:center;gap:5px;padding:25px;text-align:center;color:#6d645e;}.vault-dashboard-empty i{font-style:normal;font-size:1.5rem;color:#5a4731;}.vault-dashboard-empty strong{font:600 .72rem Cinzel,Georgia,serif;letter-spacing:.06em;color:#887d73;}.vault-dashboard-empty span{max-width:460px;font-size:.67rem;line-height:1.45;}
@media(max-width:1100px){.vault-mini-grid,.vault-film-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.vault-collections-grid{grid-template-columns:1fr;}}
@media(max-width:760px){.vault-dashboard-dialog{width:100vw;max-height:100dvh;border-left:0;border-right:0;}.vault-dashboard-shell{max-height:100dvh;}.vault-dashboard-header{padding:18px 16px 14px;}.vault-dashboard-header p{font-size:.78rem;}.vault-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.vault-dashboard-stats button:nth-child(2){border-right:0}.vault-dashboard-stats button:nth-child(-n+2){border-bottom:1px solid rgba(230,220,206,.08);}.vault-dashboard-sync{padding:8px 16px;}.vault-dashboard-tabs button{padding:12px 14px;}.vault-dashboard-tools{grid-template-columns:1fr 1fr;padding:11px 12px;}.vault-dashboard-tools .secondary-action{grid-column:1/-1;width:100%;}.vault-dashboard-content{padding:14px 12px 90px;}.vault-dashboard-footer{position:sticky;bottom:0;display:grid;padding:9px 12px;}.vault-dashboard-footer span{display:none;}.vault-dashboard-footer button{width:100%;}.vault-overview-intro{display:block;padding:15px;}.vault-overview-intro button{width:100%;margin-top:12px;}.vault-mini-grid,.vault-film-grid{grid-template-columns:1fr;}.vault-film-card{grid-template-columns:90px minmax(0,1fr);}.vault-film-poster{min-height:145px;}.vault-collections-grid{grid-template-columns:1fr;}.vault-collection-card{grid-template-columns:130px minmax(0,1fr);min-height:188px;}.vault-collection-mosaic{min-height:188px;}.vault-journal-card{grid-template-columns:82px minmax(0,1fr);}.vault-journal-poster{min-height:130px;}.vault-journal-copy{padding:11px 12px;}.vault-journal-copy>p{font-size:.75rem;}.vault-journal-rating i{width:100%;margin-left:0}.vault-film-card-actions button{min-height:32px;}.vault-overview-section>header,.vault-dashboard-section-head{align-items:center;}}
@media(max-width:430px){.vault-dashboard-tools{grid-template-columns:1fr;}.vault-dashboard-tools .secondary-action{grid-column:auto}.vault-film-card{grid-template-columns:78px minmax(0,1fr);}.vault-film-poster{min-height:132px}.vault-collection-card{grid-template-columns:1fr;}.vault-collection-mosaic{height:170px;min-height:0;}.vault-journal-card{grid-template-columns:1fr;}.vault-journal-poster{height:220px;}.vault-journal-poster img{object-position:center 22%;}.vault-journal-copy{padding:13px}.vault-dashboard-stats strong{font-size:1.45rem}}

/* Vault activity + collection curation */
.vault-film-card.is-tonight{border-color:rgba(131,156,185,.34);box-shadow:0 0 0 1px rgba(122,158,188,.08) inset,0 18px 42px rgba(0,0,0,.28)}
.vault-film-flags .is-tonight{border-color:rgba(117,153,181,.36);background:rgba(37,63,83,.24);color:#b8d0df}
.vault-watch-controls{margin-top:11px;padding:10px;border:1px solid rgba(120,148,166,.16);background:linear-gradient(180deg,rgba(33,48,58,.22),rgba(8,10,12,.25))}
.vault-watch-meta-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.vault-watch-meta-line span,.vault-watch-meta-line b{padding:4px 6px;border:1px solid rgba(229,219,206,.08);font:600 .48rem/1.1 Cinzel,Georgia,serif;letter-spacing:.08em}.vault-watch-meta-line span{color:#756d67}.vault-watch-meta-line b{color:#9c938c}.vault-watch-meta-line .status-tonight{border-color:rgba(111,151,179,.38);color:#b9d3e4}.vault-watch-meta-line .status-watching{border-color:rgba(126,161,126,.32);color:#bdd6bd}.vault-watch-meta-line .status-watched{color:#8d8278}.vault-watch-meta-line .status-rewatch{border-color:rgba(171,123,191,.32);color:#cbb1d8}.vault-watch-meta-line .priority-high{border-color:rgba(192,74,83,.34);color:#dc9ca2}
.vault-watch-control-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:7px;align-items:end}.vault-watch-control-grid label{display:grid;gap:4px}.vault-watch-control-grid label>span{color:#69615b;font:600 .46rem Cinzel,Georgia,serif;letter-spacing:.1em}.vault-watch-control-grid select{width:100%;min-height:34px;border:1px solid rgba(229,219,206,.12);background:#0b0b0d;color:#bdb3ab;padding:6px 8px;font:600 .54rem Cinzel,Georgia,serif;text-transform:uppercase}.vault-watch-tonight{min-height:34px;padding:7px 9px;border:1px solid rgba(108,144,169,.28);background:#10161b;color:#9db8c9;font:600 .5rem Cinzel,Georgia,serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.vault-watch-tonight.is-active{background:linear-gradient(135deg,#18303e,#0b1116);border-color:rgba(118,165,195,.6);color:#d1e8f4}
.custom-collection-item.has-cover{grid-template-columns:52px minmax(0,1fr) auto}.custom-collection-thumb{width:52px;height:68px;margin:0!important;overflow:hidden;border:1px solid rgba(229,219,206,.1);background:#08080a}.custom-collection-thumb img{width:100%;height:100%;object-fit:cover}.vault-collection-card.has-custom-cover .vault-collection-mosaic{display:block}.vault-collection-custom-cover{display:block!important;width:100%;height:100%;min-height:210px}.vault-collection-custom-cover img{width:100%;height:100%;object-fit:cover}.vault-collection-custom-cover.is-empty{display:grid!important;place-items:center;color:#574b43}
.collection-editor-shell{width:min(960px,calc(100vw - 28px));}.collection-editor-form{display:grid;gap:14px}.collection-editor-preview{min-height:62px;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid rgba(229,219,206,.1);background:#0b0b0d;color:#766e68;font:.57rem var(--typewriter);letter-spacing:.06em;text-transform:uppercase}.collection-editor-preview img{width:50px;height:66px;object-fit:cover;border:1px solid rgba(229,219,206,.12)}.collection-order-section{border-top:1px solid rgba(229,219,206,.1);padding-top:14px}.collection-order-section>header{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:9px}.collection-order-section h3{margin:3px 0 0;color:#ddd1c5;font:.9rem var(--display)}.collection-order-section>header>span{color:#756d66;font:.55rem var(--typewriter);letter-spacing:.08em;text-transform:uppercase}.collection-order-list{display:grid;gap:6px;max-height:52vh;overflow:auto;padding-right:3px}.collection-order-row{display:grid;grid-template-columns:32px 42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 8px;border:1px solid rgba(229,219,206,.09);background:rgba(255,255,255,.012)}.collection-order-index{color:#695f58;font:600 .55rem var(--typewriter)}.collection-order-poster{width:42px;height:56px;min-height:0!important}.collection-order-copy strong{display:block;color:#d8cec4;font:.67rem var(--display);line-height:1.25}.collection-order-copy span{display:block;margin-top:3px;color:#68615b;font:.48rem var(--typewriter);letter-spacing:.04em}.collection-order-actions{display:flex;gap:4px}.collection-order-actions button{min-width:34px;min-height:32px;border:1px solid rgba(229,219,206,.12);background:#0c0c0e;color:#9d948d;cursor:pointer;font:.55rem var(--typewriter)}.collection-order-actions button:last-child{padding:0 8px;color:#bb858a;border-color:rgba(177,68,78,.25)}.collection-order-actions button:disabled{opacity:.28;cursor:default}
@media(max-width:760px){.vault-watch-control-grid{grid-template-columns:1fr 1fr}.vault-watch-tonight{grid-column:1/-1}.custom-collection-item.has-cover{grid-template-columns:52px minmax(0,1fr)}.custom-collection-item.has-cover>div:last-child{grid-column:1/-1}.collection-editor-shell{width:100vw;max-height:100dvh}.collection-order-row{grid-template-columns:26px 36px minmax(0,1fr)}.collection-order-poster{width:36px;height:50px}.collection-order-actions{grid-column:3;justify-content:flex-start}.collection-order-list{max-height:45vh}}

/* =========================================================
   HORROR CULT // Utility Suite
   Poster Manager · Watch Picker · Advanced Search · Health
   ========================================================= */
.rail-button-picker{border-color:rgba(166,132,61,.35)!important;background:linear-gradient(180deg,rgba(112,79,17,.10),rgba(255,255,255,.018))!important;color:#e3d2a6!important}
.rail-button-search-builder{border-color:rgba(116,139,151,.3)!important;color:#c7d5dc!important}
.rail-button-posters{border-color:rgba(128,100,133,.34)!important;color:#d8c4db!important}
.rail-button-health{border-color:rgba(94,139,116,.34)!important;color:#c8ded3!important}
.utility-dialog{width:min(1180px,calc(100vw - 30px));max-height:min(92vh,980px);padding:0;border:1px solid rgba(225,213,197,.15);background:#09090b;color:#e9dfd3;box-shadow:0 40px 120px rgba(0,0,0,.72),0 0 60px rgba(122,13,28,.12)}
.utility-dialog::backdrop{background:rgba(2,2,3,.84);backdrop-filter:blur(8px)}
.utility-shell{display:flex;flex-direction:column;max-height:min(92vh,980px);overflow:hidden;background:radial-gradient(circle at 88% 0,rgba(116,16,31,.08),transparent 30%),linear-gradient(180deg,#0d0d10,#080809)}
.utility-body{padding:22px;overflow:auto}
.utility-two-column{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:20px;align-items:start}
.tool-form{display:grid;gap:14px}.tool-form label{display:grid;gap:7px}.tool-form label>span,.poster-manager-search label>span,.poster-edit-copy label>span{color:#827970;font:600 .58rem Cinzel,Georgia,serif;letter-spacing:.12em;text-transform:uppercase}.tool-form input,.tool-form select,.poster-manager-search input,.poster-edit-copy input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(226,216,203,.15);border-radius:3px;background:#0b0b0d;color:#eee5da;font:500 .82rem Inter,Arial,sans-serif;outline:none}.tool-form input:focus,.tool-form select:focus,.poster-manager-search input:focus,.poster-edit-copy input:focus{border-color:rgba(191,47,64,.65);box-shadow:0 0 0 3px rgba(150,24,40,.12)}
.tool-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-form-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-span-2{grid-column:span 2}.tool-checks{display:grid;gap:8px;padding:12px;border:1px solid rgba(226,216,203,.09);background:rgba(255,255,255,.015)}.tool-checks label{display:flex!important;align-items:center;gap:9px;color:#aaa198;font-size:.75rem}.tool-checks input{width:auto;min-height:0;accent-color:#9d1e30}.tool-form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding-top:4px}.tool-primary{width:100%;min-height:48px}.tool-inline-status{padding:10px 12px;border-left:2px solid #7f1b2a;background:rgba(126,17,33,.06);color:#928981;font-size:.72rem}
.tool-empty,.tool-locked{min-height:260px;display:grid;place-items:center;align-content:center;gap:9px;padding:36px;text-align:center;border:1px dashed rgba(226,216,203,.13);background:rgba(255,255,255,.012)}.tool-empty i,.tool-locked i{color:#a42a39;font:normal 2rem Georgia,serif}.tool-empty strong,.tool-locked h3{margin:0;color:#e9ded1;font:700 .88rem Cinzel,Georgia,serif;letter-spacing:.06em;text-transform:uppercase}.tool-empty span,.tool-locked p{max-width:540px;margin:0;color:#7e756e;font-size:.76rem;line-height:1.65}.tool-locked button{margin-top:10px}
.picker-result{min-height:470px}.picker-card{display:grid;grid-template-columns:minmax(190px,300px) minmax(0,1fr);gap:22px;min-height:470px;border:1px solid rgba(226,216,203,.13);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(123,13,28,.045));padding:18px}.picker-poster{position:relative;aspect-ratio:2/3;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(139,18,32,.17),transparent 42%),#0a0a0b;border:1px solid rgba(226,216,203,.11)}.picker-poster img{width:100%;height:100%;display:block;object-fit:cover}.picker-poster span{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#655e58;text-align:center;font:600 .58rem Cinzel,serif;letter-spacing:.12em}.picker-poster img+span{display:none}.picker-poster.is-missing span{display:grid}.picker-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.picker-copy h3{margin:7px 0 9px;color:#f1e7da;font:700 clamp(1.5rem,3vw,2.8rem)/1.04 Cinzel,Georgia,serif}.picker-copy>p{margin:0;color:#a39a92;font:italic .93rem/1.65 Georgia,serif}.picker-facts{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.picker-facts span{padding:7px 9px;border:1px solid rgba(226,216,203,.12);background:#0b0b0d;color:#a89f96;font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}.picker-personal{margin-bottom:14px;color:#d4b564;font:600 .64rem Cinzel,serif;letter-spacing:.08em}.picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.poster-manager-body{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(380px,1.22fr);gap:18px;min-height:570px}.poster-manager-search{display:grid;grid-template-rows:auto 1fr;gap:10px;min-height:0}.poster-manager-results{min-height:0;max-height:520px;overflow:auto;border:1px solid rgba(226,216,203,.1);background:#080809}.poster-result{width:100%;display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;padding:8px;border:0;border-bottom:1px solid rgba(226,216,203,.075);background:transparent;color:#ddd3c8;text-align:left;cursor:pointer}.poster-result:hover{background:rgba(143,16,31,.1)}.poster-result-thumb{width:46px;height:66px;background:#0e0e10;overflow:hidden}.poster-result-thumb img{width:100%;height:100%;object-fit:cover}.poster-result strong{display:block;color:#e9ded2;font-size:.74rem}.poster-result small{display:block;margin-top:4px;color:#6f6862;font-size:.56rem;letter-spacing:.06em}.poster-editor{min-width:0}.poster-edit-card{display:grid;grid-template-columns:minmax(190px,290px) minmax(0,1fr);gap:18px}.poster-edit-preview{position:relative;aspect-ratio:2/3;background:#0b0b0d;border:1px solid rgba(226,216,203,.12);overflow:hidden}.poster-edit-preview img{width:100%;height:100%;object-fit:cover}.poster-edit-preview span{position:absolute;inset:0;display:grid;place-items:center;color:#625a55;font:600 .6rem Cinzel,serif;letter-spacing:.1em;text-align:center}.poster-edit-preview img+span{display:none}.poster-edit-preview.is-missing span{display:grid}.poster-edit-copy h3{margin:7px 0 8px;color:#efe4d8;font:700 clamp(1.2rem,2vw,1.8rem) Cinzel,serif}.poster-edit-copy>p{color:#837a73;font-size:.76rem}.poster-edit-copy label{display:grid;gap:7px;margin:16px 0 9px}.poster-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.poster-upload-block{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:22px;padding-top:18px;border-top:1px solid rgba(226,216,203,.09)}.poster-upload-block label{margin:0}.poster-upload-block small{grid-column:1/-1;color:#665f5a;font-size:.62rem}.poster-edit-copy code{display:block;margin-top:18px;padding:10px;background:#070708;border:1px solid rgba(226,216,203,.08);color:#8d847c;font-size:.63rem;overflow-wrap:anywhere}
.health-body{display:grid;gap:18px}.health-command{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(226,216,203,.11);background:rgba(255,255,255,.015)}.health-command h3{margin:4px 0;color:#e5dbcf;font:700 1rem Cinzel,serif}.health-command p{margin:0;color:#7d756e;font-size:.72rem}.health-scan-meta{margin-bottom:9px;color:#706962;font:600 .56rem Cinzel,serif;letter-spacing:.1em}.health-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.health-stat{padding:14px;border:1px solid rgba(226,216,203,.1);background:#0b0b0d}.health-stat span{display:block;color:#746d67;font-size:.57rem;letter-spacing:.06em;text-transform:uppercase}.health-stat strong{display:block;margin-top:6px;color:#e9dfd4;font:700 1.35rem Cinzel,serif}.health-stat.is-warn{border-color:rgba(180,129,48,.32)}.health-stat.is-warn strong{color:#d8b466}.health-stat.is-bad{border-color:rgba(190,42,59,.4)}.health-stat.is-bad strong{color:#df5261}.health-stat.is-ok strong{color:#9fc1ac}.health-note{margin:9px 0 0;color:#817971;font-size:.68rem}.health-filter-row{display:flex;flex-wrap:wrap;gap:7px}.health-filter-row button{padding:8px 10px;border:1px solid rgba(226,216,203,.1);background:#0b0b0d;color:#8b837b;font:600 .58rem Cinzel,serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.health-filter-row button.is-active{border-color:rgba(195,42,59,.5);color:#efe3d7;background:rgba(130,17,31,.1)}.health-filter-row b{margin-left:5px;color:#c74756}.health-issues{display:grid;gap:7px}.health-issue{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(226,216,203,.09);background:rgba(255,255,255,.012)}.health-issue-type{color:#b58e5c;font:600 .55rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase}.health-issue strong{color:#ddd3c7;font-size:.75rem}.health-issue p{margin:3px 0;color:#7e766f;font-size:.68rem}.health-issue small{color:#5f5954;font-size:.56rem}.health-issue button{padding:8px 10px;border:1px solid rgba(170,65,78,.35);background:#130b0d;color:#d9bdc1;font:600 .56rem Cinzel,serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

@media(max-width:980px){.utility-two-column,.poster-manager-body{grid-template-columns:1fr}.picker-result{min-height:0}.health-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-form-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.poster-manager-results{max-height:280px}}
@media(max-width:680px){.utility-dialog{width:calc(100vw - 12px);max-height:96vh}.utility-shell{max-height:96vh}.utility-body{padding:14px}.utility-two-column{gap:13px}.tool-form-grid,.tool-form-grid.wide{grid-template-columns:1fr}.tool-span-2{grid-column:auto}.picker-card,.poster-edit-card{grid-template-columns:1fr}.picker-poster,.poster-edit-preview{width:min(72vw,280px);margin:0 auto}.picker-actions>*{flex:1 1 100%}.poster-upload-block{grid-template-columns:1fr}.poster-upload-block button{width:100%}.health-command{align-items:stretch;flex-direction:column}.health-command button{width:100%}.health-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-issue{grid-template-columns:1fr}.health-issue button{width:100%}}

/* Horror Cult home dashboard + IMDb metadata repair */
.home-dashboard{width:min(1500px,calc(100% - 32px));margin:24px auto 34px;padding:clamp(20px,3vw,38px);border:1px solid rgba(226,216,203,.12);background:linear-gradient(135deg,rgba(17,17,19,.96),rgba(7,7,8,.98) 58%,rgba(77,8,18,.18));box-shadow:0 24px 70px rgba(0,0,0,.34);position:relative;overflow:hidden}.home-dashboard:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 0%,rgba(150,24,40,.14),transparent 28%),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.018) 50%,transparent 50.2%);pointer-events:none}.home-dashboard-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:28px;align-items:end;position:relative}.home-dashboard-copy h1{margin:8px 0 13px;color:#efe5d8;font:800 clamp(2.25rem,6vw,5.7rem)/.83 Cinzel,Georgia,serif;letter-spacing:-.035em}.home-dashboard-copy h1 em{color:#9d1d2d;font-style:normal}.home-dashboard-copy p{max-width:780px;margin:0;color:#8a8179;font-size:clamp(.78rem,1.2vw,.96rem);line-height:1.65}.home-dashboard-actions{display:grid;gap:9px}.home-dashboard-actions button{min-height:48px;padding:12px 14px;border:1px solid rgba(226,216,203,.12);background:#0a0a0b;color:#cfc4b8;font:700 .62rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer}.home-dashboard-actions button span{display:inline-grid;width:25px;color:#a22a38}.home-dashboard-actions .home-primary-action{border-color:rgba(177,34,50,.45);background:linear-gradient(180deg,#351016,#16090b);color:#f1dfd7}.home-dashboard-actions button:hover{border-color:rgba(190,51,67,.52);transform:translateY(-1px)}
.home-stat-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:26px;position:relative}.home-stat-grid button{min-width:0;padding:14px 13px;border:1px solid rgba(226,216,203,.09);background:rgba(9,9,10,.78);color:#817870;text-align:left;cursor:pointer}.home-stat-grid button:hover{background:rgba(114,14,27,.08);border-color:rgba(190,51,67,.28)}.home-stat-grid span,.home-stat-grid small{display:block;font:600 .52rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.home-stat-grid strong{display:block;margin:6px 0 3px;color:#e5dbcf;font:700 clamp(1.35rem,2vw,2rem) Cinzel,serif}.home-stat-grid small{color:#5f5953;font-size:.47rem}
.home-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:12px;position:relative}.home-panel{border:1px solid rgba(226,216,203,.09);background:rgba(8,8,9,.88);min-width:0;padding:16px}.home-panel-tonight,.home-panel-recent{grid-column:span 6}.home-panel-reviews,.home-panel-collections{grid-column:span 6}.home-panel-health{grid-column:span 5}.home-panel-tools{grid-column:span 7}.home-panel>header{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid rgba(226,216,203,.075)}.home-panel>header span{display:block;color:#8e2934;font:700 .5rem Cinzel,serif;letter-spacing:.11em}.home-panel>header h2{margin:3px 0 0;color:#ddd3c8;font:700 1rem Cinzel,serif}.home-panel>header button{padding:7px 9px;border:1px solid rgba(226,216,203,.1);background:#0c0c0d;color:#827970;font:600 .5rem Cinzel,serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.home-panel>header button:hover{color:#e5dad0;border-color:rgba(181,43,59,.4)}
.home-film-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.home-film-card{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.home-film-poster{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(145deg,#101012,#080809);border:1px solid rgba(226,216,203,.09)}.home-film-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease,filter .25s ease}.home-film-card:hover .home-film-poster img{transform:scale(1.025);filter:brightness(1.08)}.home-film-poster>i{position:absolute;inset:0;display:none;place-items:center;color:#554e48;font:700 .52rem Cinzel,serif;letter-spacing:.08em;text-align:center}.home-film-poster.is-missing>i{display:grid}.home-film-poster>b{position:absolute;left:6px;bottom:6px;padding:4px 6px;background:rgba(91,10,20,.92);border:1px solid rgba(213,71,88,.32);color:#f0d6d9;font:700 .44rem Cinzel,serif;letter-spacing:.08em}.home-film-copy{display:block;padding-top:7px}.home-film-copy strong{display:block;color:#dcd2c7;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-film-copy small{display:block;margin-top:3px;color:#68615b;font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-review-stack{display:grid;gap:8px}.home-review-card{display:grid;grid-template-columns:1fr auto;gap:6px 12px;width:100%;padding:11px;border:1px solid rgba(226,216,203,.08);background:#0a0a0b;color:inherit;text-align:left;cursor:pointer}.home-review-card:hover{border-color:rgba(171,45,59,.34);background:rgba(112,14,27,.07)}.home-review-card strong{display:block;color:#ded4c8;font-size:.7rem}.home-review-card small{color:#67605a;font-size:.52rem}.home-review-card>b{color:#c89755;font:700 .58rem Cinzel,serif;white-space:nowrap}.home-review-card p{grid-column:1/-1;margin:2px 0 0;color:#837a72;font-size:.64rem;line-height:1.5}.home-collection-list{display:grid;gap:7px}.home-collection-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid rgba(226,216,203,.08);background:#0a0a0b;color:inherit;text-align:left;cursor:pointer}.home-collection-row:hover{border-color:rgba(171,45,59,.34)}.home-collection-row strong{display:block;color:#ded4c8;font-size:.68rem}.home-collection-row small{display:block;margin-top:3px;color:#6d665f;font-size:.52rem}.home-collection-row>i{color:#a2313e;font:700 1.2rem Georgia,serif}.home-empty{grid-column:1/-1;min-height:115px;display:grid;place-items:center;align-content:center;gap:5px;padding:18px;border:1px dashed rgba(226,216,203,.09);color:#6d665f;text-align:center}.home-empty i{color:#84202d;font:700 1.25rem Cinzel,serif}.home-empty strong{color:#9b9187;font-size:.68rem}.home-empty span{font-size:.58rem;max-width:360px}
.home-health-seal{min-height:105px;display:grid;grid-template-columns:54px 1fr;gap:13px;align-items:center;padding:14px;border:1px solid rgba(226,216,203,.08);background:#09090a}.home-health-seal>i{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(153,44,57,.27);border-radius:50%;color:#a63240;font:700 1.1rem Cinzel,serif}.home-health-seal strong{display:block;color:#d6ccc1;font-size:.7rem}.home-health-seal span{display:block;margin-top:5px;color:#756e67;font-size:.59rem;line-height:1.5}.home-health-seal.has-issues>i{border-color:rgba(210,75,91,.45);color:#dd4b5d}.home-health-seal.is-clean>i{border-color:rgba(95,151,119,.4);color:#92bea2}.home-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-tools-grid button{display:grid;grid-template-columns:34px 1fr;column-gap:9px;padding:11px;border:1px solid rgba(226,216,203,.08);background:#09090a;color:inherit;text-align:left;cursor:pointer}.home-tools-grid button:hover{border-color:rgba(171,45,59,.34)}.home-tools-grid i{grid-row:1/3;display:grid;place-items:center;color:#9b2634;font:700 1rem Cinzel,serif}.home-tools-grid strong{color:#d7cdc2;font-size:.65rem}.home-tools-grid span{color:#6c655f;font-size:.55rem}.rail-button-home{border-color:rgba(177,133,67,.28)!important;color:#d0b988!important}
.health-command-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.imdb-health-status{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(226,216,203,.09);background:#09090a}.imdb-health-status>i{display:grid;place-items:center;height:34px;background:#c69a34;color:#080808;font:900 .7rem Arial,sans-serif;font-style:normal;border-radius:3px}.imdb-health-status strong{display:block;color:#b8ada2;font:700 .6rem Cinzel,serif;letter-spacing:.06em}.imdb-health-status span{display:block;margin-top:3px;color:#706962;font-size:.61rem}.imdb-health-status.is-ready{border-color:rgba(198,154,52,.28)}.imdb-health-status.is-ready strong{color:#ddc887}.health-issue-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.health-issue-actions button,.health-issue-actions a{padding:8px 10px;border:1px solid rgba(170,65,78,.35);background:#130b0d;color:#d9bdc1!important;font:600 .54rem Cinzel,serif;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}.health-issue-actions a{border-color:rgba(198,154,52,.25);background:#121008;color:#d7c18a!important}.health-imdb-repair{border-color:rgba(198,154,52,.38)!important;color:#e4ce92!important;background:#171307!important}.imdb-repair-batch{border-color:rgba(198,154,52,.32)!important;color:#d8c185!important}
@media(max-width:1120px){.home-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-panel-tonight,.home-panel-recent,.home-panel-reviews,.home-panel-collections,.home-panel-health,.home-panel-tools{grid-column:span 12}.home-dashboard-head{grid-template-columns:1fr}.home-dashboard-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.home-dashboard{width:calc(100% - 16px);margin:12px auto 22px;padding:17px 13px}.home-dashboard-copy h1{font-size:clamp(2.15rem,16vw,4rem)}.home-dashboard-actions{grid-template-columns:1fr}.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.home-stat-grid button{padding:11px 10px}.home-film-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.home-review-card{grid-template-columns:1fr}.home-review-card>b{grid-row:2}.home-review-card p{grid-row:3}.home-tools-grid{grid-template-columns:1fr}.health-command-actions{width:100%;display:grid;grid-template-columns:1fr}.health-issue-actions{justify-content:stretch}.health-issue-actions>*{flex:1 1 100%;text-align:center}}


/* Dashboard cross + IMDb match patch */
.home-dashboard{isolation:isolate;}
.home-dashboard:before{background:radial-gradient(circle at 82% 0%,rgba(150,24,40,.14),transparent 28%),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.018) 50%,transparent 50.2%);}
.home-dashboard:after{content:"";position:absolute;right:clamp(18px,4vw,72px);top:clamp(24px,4vw,46px);width:min(35vw,430px);height:min(48vw,560px);opacity:.17;pointer-events:none;z-index:0;filter:drop-shadow(0 0 16px rgba(156,20,39,.26)) drop-shadow(0 0 42px rgba(156,20,39,.18));background:linear-gradient(180deg,rgba(150,20,38,0) 0%,rgba(150,20,38,.62) 10%,rgba(196,28,50,.94) 51%,rgba(150,20,38,.62) 89%,rgba(150,20,38,0) 100%);clip-path:polygon(44% 0,56% 0,56% 16%,77% 16%,77% 28%,56% 28%,56% 100%,44% 100%,44% 28%,23% 28%,23% 16%,44% 16%);transform:scaleY(-1) rotate(-7deg);}
.dashboard-cross-mark{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.dashboard-cross-mark span{position:absolute;display:block;background:linear-gradient(180deg,rgba(121,13,27,0),rgba(172,27,45,.28) 18%,rgba(226,52,73,.62) 50%,rgba(172,27,45,.28) 82%,rgba(121,13,27,0));box-shadow:0 0 28px rgba(165,22,42,.22),0 0 70px rgba(165,22,42,.12);opacity:.8;border-radius:999px;}
.dashboard-cross-mark span:first-child{right:min(11vw,130px);top:min(5vw,42px);width:18px;height:min(48vw,560px);transform:scaleY(-1) rotate(-7deg);}
.dashboard-cross-mark span:last-child{right:min(3vw,42px);top:min(11vw,150px);width:min(34vw,410px);height:18px;transform:scaleY(-1) rotate(-7deg);}
.home-dashboard-head,.home-stat-grid,.home-dashboard-grid{position:relative;z-index:1;}
@media(max-width:1120px){.home-dashboard:after{width:min(44vw,320px);height:min(60vw,430px);right:8px;top:22px;opacity:.13}.dashboard-cross-mark span:first-child{right:26px;height:min(60vw,430px)}.dashboard-cross-mark span:last-child{right:-2px;top:114px;width:min(42vw,290px)}}
@media(max-width:720px){.home-dashboard:after{width:56vw;height:78vw;right:-10px;top:66px;opacity:.12}.dashboard-cross-mark span:first-child{right:16px;top:84px;width:14px;height:72vw}.dashboard-cross-mark span:last-child{right:-8px;top:180px;width:52vw;height:14px}}
.health-stat.imdb-link span::after{content:" IMDb";opacity:.56;font-size:.72em;letter-spacing:.08em;}
.imdb-match-shell{max-width:760px;}
.imdb-match-body{display:grid;gap:14px;}
.imdb-match-preview{padding:14px 16px;border:1px solid rgba(183,45,61,.24);background:linear-gradient(180deg,rgba(34,8,12,.96),rgba(12,8,9,.96));display:grid;gap:4px;color:#d8cfc4;}
.imdb-match-preview strong{font:700 1rem Cinzel,serif;color:#f0e7dc;letter-spacing:.04em;}
.imdb-match-preview span{color:#948a81;font-size:.88rem;line-height:1.55;}
.imdb-match-form{display:grid;gap:12px;}
.imdb-match-form label{display:grid;gap:6px;}
.imdb-match-form label>span{font:700 .62rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase;color:#b6aa9d;}
.imdb-match-form input[type="text"],.imdb-match-form input[type="search"],.imdb-match-form input:not([type]),.imdb-match-form input[type="url"]{width:100%;min-height:46px;padding:12px 13px;border:1px solid rgba(226,216,203,.14);background:#0c0c0d;color:#f0e7db;font:500 .95rem Inter,sans-serif;}
.imdb-match-form input[readonly]{color:#c6bcaf;background:#101011;}
.imdb-match-check{display:flex !important;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(226,216,203,.09);background:rgba(12,12,13,.78);}
.imdb-match-check input{margin-top:3px;}
.imdb-match-check span{font:500 .88rem/1.5 Inter,sans-serif !important;letter-spacing:0 !important;text-transform:none !important;color:#d0c6ba !important;}
.imdb-search-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.health-issue-actions .health-imdb-linker{border-color:rgba(181,43,59,.35);color:#f0e5da;background:linear-gradient(180deg,rgba(53,16,22,.96),rgba(17,8,10,.98));}
.health-issue-actions .health-imdb-linker:hover{border-color:rgba(211,70,88,.55);}


/* IMDb candidate matcher */
.imdb-candidate-query{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:9px;align-items:end;padding:12px;border:1px solid rgba(226,216,203,.09);background:rgba(8,8,9,.72)}
.imdb-candidate-query label{min-width:0}
.imdb-candidate-query button{min-height:46px;white-space:nowrap}
.imdb-candidate-results{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:3px}
.imdb-candidate-empty{min-height:120px;border:1px dashed rgba(226,216,203,.12);display:grid;place-content:center;text-align:center;gap:5px;padding:18px;color:#837a72;background:rgba(8,8,9,.5)}
.imdb-candidate-empty i{font:700 .65rem Cinzel,serif;letter-spacing:.13em;color:#8d2633;font-style:normal}
.imdb-candidate-empty strong{color:#cfc5ba;font:700 .84rem Cinzel,serif}
.imdb-candidate-empty span{font-size:.8rem;line-height:1.5}
.imdb-candidate-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(226,216,203,.1);background:linear-gradient(180deg,rgba(15,15,16,.98),rgba(8,8,9,.98));padding:11px;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.imdb-candidate-card:hover{border-color:rgba(174,43,59,.35);background:linear-gradient(180deg,rgba(28,12,15,.98),rgba(9,8,9,.98));transform:translateY(-1px)}
.imdb-candidate-score{width:58px;height:58px;border:1px solid rgba(174,43,59,.28);display:grid;place-content:center;text-align:center;background:#0b090a;color:#c54655}
.imdb-candidate-score strong{font:800 1rem Cinzel,serif;line-height:1}
.imdb-candidate-score span{margin-top:3px;font:700 .43rem Cinzel,serif;letter-spacing:.08em;color:#756c65}
.imdb-candidate-main{min-width:0;display:grid;gap:4px}
.imdb-candidate-main h4{margin:0;color:#eee5db;font:700 .88rem Cinzel,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imdb-candidate-main h4 small{font:600 .69rem Inter,sans-serif;color:#8d837a;margin-left:6px}
.imdb-candidate-main p{margin:0;color:#817870;font-size:.72rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imdb-candidate-main small{color:#665f59;font-size:.66rem;letter-spacing:.03em}
.imdb-candidate-card button{min-height:38px;padding:8px 11px;border:1px solid rgba(177,34,50,.38);background:linear-gradient(180deg,#351016,#16090b);color:#f0dfd7;font:700 .54rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.imdb-candidate-card button:hover{border-color:rgba(217,66,83,.62);box-shadow:0 0 18px rgba(154,28,45,.15)}
.imdb-candidate-card.is-selected{border-color:rgba(205,57,74,.58);box-shadow:inset 0 0 0 1px rgba(205,57,74,.12),0 0 24px rgba(148,25,42,.11)}
.imdb-candidate-card.is-selected button{background:linear-gradient(180deg,#64202a,#260d11)}
.imdb-match-divider{display:flex;align-items:center;gap:10px;color:#655e58;font:700 .48rem Cinzel,serif;letter-spacing:.12em;margin:2px 0}
.imdb-match-divider:before,.imdb-match-divider:after{content:"";height:1px;background:rgba(226,216,203,.08);flex:1}
@media(max-width:720px){.imdb-candidate-query{grid-template-columns:1fr 92px}.imdb-candidate-query button{grid-column:1/-1}.imdb-candidate-card{grid-template-columns:50px minmax(0,1fr);gap:9px}.imdb-candidate-score{width:48px;height:48px}.imdb-candidate-card>button{grid-column:1/-1;width:100%}.imdb-candidate-results{max-height:52vh}}


/* ============================================================
   Consolidated archive rail
   ============================================================ */
.rail-actions-consolidated{display:grid;gap:8px;margin-top:22px}
.rail-actions-consolidated>.rail-button{margin:0}
.rail-primary-link{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:42px;padding:10px 11px!important}
.rail-primary-link>span{width:18px;color:#bc3545;font-size:.86rem;text-align:center}
.rail-menu{border:1px solid rgba(226,216,203,.1);background:rgba(255,255,255,.014);overflow:hidden}
.rail-menu>summary{list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:54px;padding:10px 10px;cursor:pointer;user-select:none;color:#c8beb4;transition:border-color .18s ease,background .18s ease,color .18s ease}
.rail-menu>summary::-webkit-details-marker{display:none}
.rail-menu>summary:hover{background:rgba(135,18,32,.07);color:#f0e6dc}
.rail-menu[open]{border-color:rgba(171,45,59,.28);background:rgba(118,13,25,.035)}
.rail-menu[open]>summary{border-bottom:1px solid rgba(226,216,203,.08);background:rgba(108,12,23,.07)}
.rail-menu-icon{display:grid;place-items:center;width:25px;height:25px;color:#a52a38;font:700 .85rem Cinzel,serif}
.rail-menu-copy{min-width:0;display:grid;gap:3px;text-align:left}
.rail-menu-copy strong{color:inherit;font:700 .59rem Cinzel,serif;letter-spacing:.095em;text-transform:uppercase}
.rail-menu-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#706963;font:.49rem/1.2 Special Elite,monospace;letter-spacing:.02em;text-transform:none}
.rail-menu-chevron{color:#756d67;font-size:.72rem;text-align:center;transition:transform .18s ease,color .18s ease}
.rail-menu[open] .rail-menu-chevron{transform:rotate(180deg);color:#c64151}
.rail-menu-items{display:grid;gap:6px;padding:7px}
.rail-menu-items .rail-button{margin:0!important;min-height:38px;padding:8px 9px;font-size:.51rem;display:flex;align-items:center;text-align:left}
.rail-menu-items .rail-button>span{width:17px;margin-right:5px;text-align:center}
.rail-menu-items .rail-button b{margin-left:auto}
.rail-menu-vault>summary .rail-menu-icon{color:#bc9a58}
.rail-menu-discover>summary .rail-menu-icon{color:#be9c55}
.rail-menu-tools>summary .rail-menu-icon{color:#a73a48}
@media(max-width:1024px){
  .archive-rail .rail-actions-consolidated{display:grid}
  .archive-rail .rail-menu{display:block}
  .archive-rail .rail-menu .rail-button{display:flex}
}
@media(max-width:760px){
  .rail-actions-consolidated{grid-template-columns:1fr 1fr;margin:0;gap:7px}
  .rail-actions-consolidated>.rail-primary-link{min-height:46px}
  .rail-menu{grid-column:1/-1}
  .rail-menu>summary{min-height:50px;padding:9px 10px}
  .rail-menu-copy small{white-space:normal;line-height:1.25}
  .rail-menu-items{grid-template-columns:1fr 1fr;gap:6px}
  .rail-menu-items .rail-button{min-height:44px;font-size:.5rem}
}
@media(max-width:430px){
  .rail-actions-consolidated{grid-template-columns:1fr}
  .rail-menu{grid-column:auto}
  .rail-menu-items{grid-template-columns:1fr}
}


/* Phase 2–5: profiles, viewing history/stats, smarter picker, richer collections */
.profile-switch-button{border-color:rgba(147,105,154,.2)!important}.profile-switch-button>span:first-child{color:#a986ad}.profile-dialog-shell{max-width:820px}.profile-current-card{display:grid;gap:3px;padding:15px 17px;margin-bottom:12px;border:1px solid rgba(158,111,167,.22);background:linear-gradient(135deg,rgba(33,18,37,.9),rgba(10,9,11,.96));}.profile-current-card span,.profile-admin-panel .eyebrow{color:#9c7aa4;font:700 .54rem Cinzel,serif;letter-spacing:.12em}.profile-current-card strong{color:#eee3ed;font:700 1.05rem Cinzel,serif}.profile-current-card small{color:#8e858e}.profile-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.profile-card{display:flex;gap:11px;align-items:center;text-align:left;padding:14px;border:1px solid rgba(226,216,203,.1);background:#0b0b0c;color:#d2c8bd;cursor:pointer}.profile-card i{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(158,111,167,.25);background:#151017;color:#ad88b5;font-style:normal;font-size:1.2rem}.profile-card span{display:grid;gap:3px}.profile-card strong{font:700 .74rem Cinzel,serif}.profile-card small{color:#756d74;font-size:.62rem}.profile-card:hover,.profile-card.is-active{border-color:rgba(166,116,177,.45);background:#121013}.profile-login-form,.profile-create-form{display:grid;gap:10px;padding:14px;border:1px solid rgba(226,216,203,.09);background:rgba(9,9,10,.75)}.profile-login-form label,.profile-create-form label{display:grid;gap:6px}.profile-login-form input,.profile-create-form input{min-height:44px;padding:10px 12px;background:#09090a;border:1px solid rgba(226,216,203,.12);color:#eee3d8}.profile-admin-panel{margin-top:14px;padding-top:14px;border-top:1px solid rgba(226,216,203,.08)}.profile-admin-panel h3{margin:4px 0 6px;color:#ddd1c8;font:700 .95rem Cinzel,serif}.profile-admin-panel p{color:#817980}.profile-migrate{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:9px}.profile-create-form{grid-template-columns:1fr 90px 1fr auto}.profile-create-form button{min-width:150px}
.vault-dashboard-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.vault-history-list{display:grid;gap:8px}.vault-history-entry{display:grid;grid-template-columns:110px 54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(226,216,203,.09);background:#0b0b0c}.vault-history-entry time{color:#8e7a70;font:700 .62rem Cinzel,serif}.vault-history-entry .vault-film-poster{width:54px;height:72px}.vault-history-entry span{color:#8e2934;font:700 .52rem Cinzel,serif;letter-spacing:.1em}.vault-history-entry h4{margin:3px 0;color:#ddd3c8;font:700 .82rem Cinzel,serif}.vault-history-entry p{margin:0;color:#756d66;font-size:.68rem}.vault-history-entry button{padding:8px 10px;border:1px solid rgba(226,216,203,.12);background:#0e0e0f;color:#b8aea3;cursor:pointer}.vault-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.vault-stats-grid article{padding:15px;border:1px solid rgba(226,216,203,.09);background:linear-gradient(180deg,#0e0e0f,#09090a)}.vault-stats-grid span{display:block;color:#8e2934;font:700 .5rem Cinzel,serif;letter-spacing:.1em}.vault-stats-grid strong{display:block;margin:7px 0 2px;color:#eee3d7;font:700 1.65rem Cinzel,serif}.vault-stats-grid small{color:#746c64}.vault-stat-rankings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vault-stat-ranking{padding:14px;border:1px solid rgba(226,216,203,.09);background:#09090a}.vault-stat-ranking h4{margin:0 0 10px;color:#d5c9bd;font:700 .75rem Cinzel,serif}.vault-stat-ranking>div{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 0;border-bottom:1px solid rgba(226,216,203,.05);overflow:hidden}.vault-stat-ranking>div i{position:absolute;left:0;bottom:0;height:2px;width:var(--w);background:#84202d;box-shadow:0 0 8px rgba(132,32,45,.35)}.vault-stat-ranking span{color:#9c9187;font-size:.7rem}.vault-stat-ranking b{color:#d8cec4}.hc-watched-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:10px 14px!important;margin:0 8px 0 0!important;border:1px solid rgba(107,139,104,.34)!important;background:#101310!important;color:#b8c7b4!important;font:700 .59rem/1 Cinzel,Georgia,serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;cursor:pointer!important}.hc-watched-button:before{content:"✓";margin-right:8px;color:#829d7d}.hc-watched-button:hover{border-color:rgba(130,169,124,.58)!important;transform:translateY(-1px)}
.picker-preset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.picker-preset-row .secondary-action{min-height:44px}.smart-collection-rules{padding:13px;border:1px solid rgba(133,94,141,.2);background:linear-gradient(180deg,rgba(25,15,28,.6),rgba(8,8,9,.85));}.smart-collection-rules[hidden]{display:none}.smart-collection-rules header{margin-bottom:10px}.smart-collection-rules h3{margin:4px 0;color:#ddd2dc;font:700 .84rem Cinzel,serif}.collection-policy-grid select,.collection-create-form select{min-height:44px;padding:9px 10px;background:#0a0a0b;border:1px solid rgba(226,216,203,.12);color:#d8cec3}.collection-order-item[draggable="true"]{cursor:grab}.collection-order-item.is-dragging{opacity:.35;border-color:rgba(157,103,168,.55)}
@media(max-width:900px){.profile-list{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-create-form{grid-template-columns:1fr 80px}.profile-create-form button,.profile-migrate{grid-column:1/-1}.vault-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.vault-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vault-stat-rankings{grid-template-columns:1fr}.vault-history-entry{grid-template-columns:92px 46px minmax(0,1fr)}.vault-history-entry button{grid-column:1/-1}}
@media(max-width:600px){.profile-list{grid-template-columns:1fr}.profile-create-form{grid-template-columns:1fr}.vault-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-history-entry{grid-template-columns:1fr 52px}.vault-history-entry>div{grid-column:1/-1}.vault-history-entry button{grid-column:1/-1}.picker-preset-row{grid-template-columns:1fr}.hc-watched-button{width:100%!important;margin:7px 0 0!important;min-height:48px!important}}

.profile-use-legacy{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(226,216,203,.1);background:#0b0b0c;color:#8f858c;font:700 .58rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.profile-use-legacy:hover{color:#e0d6dd;border-color:rgba(157,103,168,.4)}.shared-by{display:block;margin:3px 0 7px;color:#8f718f;font:700 .5rem Cinzel,serif;letter-spacing:.08em}.vault-shared-section{margin-top:24px;padding-top:18px;border-top:1px solid rgba(226,216,203,.08)}.vault-shared-section>header span{color:#8f718f;font:700 .52rem Cinzel,serif;letter-spacing:.1em}.vault-shared-section>header h3{margin:4px 0 12px;color:#ddd2da;font:700 .95rem Cinzel,serif}

/* Phase 6–9: picker fit, metadata editor, media scanner, poster manager II */
.picker-shell{max-height:min(92dvh,900px);display:flex;flex-direction:column;overflow:hidden}.picker-shell>.collection-dialog-header{flex:0 0 auto}.picker-shell>.utility-body{min-height:0;overflow:hidden;align-items:stretch}.picker-shell #watchPickerForm{min-height:0;max-height:calc(92dvh - 132px);overflow:auto;padding-right:5px;align-content:start}.picker-shell .tool-primary{position:sticky;bottom:0;z-index:6;width:100%;min-height:50px;margin-top:6px;box-shadow:0 -12px 28px #09090b;background:linear-gradient(180deg,#63121e,#2a090e);border-color:rgba(217,58,78,.58)}.picker-shell .tool-primary:before{content:"✦ ";color:#f2c8cd}.picker-shell .picker-result{min-height:0;overflow:auto}.picker-shell .picker-card{min-height:100%;height:auto}

.rail-button-metadata span,.rail-button-media span{color:#a52f40}.metadata-editor-shell,.media-scanner-shell{max-width:1180px}.metadata-editor-body{display:grid;grid-template-columns:minmax(250px,.35fr) minmax(0,.65fr);gap:16px}.metadata-search-panel{display:grid;align-content:start;gap:10px}.metadata-search-panel>label,.poster-manager-search>label{display:grid;gap:7px}.metadata-search-panel>label>span,.poster-manager-search>label>span{font:700 .58rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase;color:#a69b90}.metadata-search-panel input,.metadata-form input,.metadata-form textarea,.metadata-form select{width:100%;border:1px solid rgba(226,216,203,.12);background:#0a0a0b;color:#e7ddd1;padding:10px 11px}.metadata-form textarea{min-height:92px;resize:vertical}.metadata-form-area{min-width:0}.metadata-editor-card{display:grid;gap:13px}.metadata-editor-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(226,216,203,.08)}.metadata-editor-head h3{margin:3px 0;color:#ece2d6;font:700 1.2rem Cinzel,serif}.metadata-editor-head p{margin:5px 0 0;color:#80776f;font-size:.78rem}.metadata-editor-head .metadata-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metadata-field{display:grid;gap:5px;padding:10px;border:1px solid rgba(226,216,203,.08);background:rgba(255,255,255,.012)}.metadata-field.is-wide{grid-column:1/-1}.metadata-field>span{font:700 .55rem Cinzel,serif;letter-spacing:.09em;color:#b4a99e;text-transform:uppercase}.metadata-field small{color:#665f59;font-size:.65rem;line-height:1.45}.metadata-field small b{color:#8c8176;font-weight:600}.metadata-field .field-restore{justify-self:start;border:0;background:none;color:#9d5360;font:600 .54rem Cinzel,serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:0}.metadata-history{border-top:1px solid rgba(226,216,203,.08);padding-top:12px}.metadata-history h4{margin:0 0 8px;color:#b6aa9f;font:700 .65rem Cinzel,serif;letter-spacing:.09em}.metadata-history-list{display:grid;gap:6px;max-height:160px;overflow:auto}.metadata-history-list article{padding:8px 10px;border:1px solid rgba(226,216,203,.07);background:#0b0b0c;display:flex;justify-content:space-between;gap:10px;color:#847b73;font-size:.68rem}.metadata-history-list strong{color:#c5baae;font-weight:600}.metadata-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 11px;text-align:left;border:1px solid rgba(226,216,203,.08);background:#0b0b0c;color:#d9cfc4;cursor:pointer}.metadata-result small{color:#69615b}.metadata-result:hover{border-color:rgba(176,49,65,.35);background:#100b0c}

.media-scanner-body{display:grid;gap:14px}.media-scan-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid rgba(226,216,203,.09);background:#0b0b0c}.media-scan-intro h3{margin:3px 0 8px;color:#d9cfc4;font:700 .82rem Cinzel,serif}.media-scan-intro code{display:block;color:#9b9086;font-size:.72rem;white-space:normal;word-break:break-all}.media-manifest-drop{min-height:130px;border:1px dashed rgba(178,51,68,.42);background:radial-gradient(circle at 50% 45%,rgba(119,18,32,.12),transparent 50%),#09090a;display:grid;place-items:center;align-content:center;gap:5px;cursor:pointer;text-align:center}.media-manifest-drop.is-dragover{border-color:#c14355;background:rgba(70,11,20,.36)}.media-manifest-drop input{position:absolute;opacity:0;pointer-events:none}.media-manifest-drop span{font:700 .72rem Cinzel,serif;letter-spacing:.12em;color:#d8c7c3}.media-manifest-drop small{color:#746b65}.media-scan-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(226,216,203,.08);background:#0b0b0c}.media-scan-toolbar>div:last-child{display:flex;gap:7px}.media-scan-statline{display:flex;gap:12px;flex-wrap:wrap;color:#867d74;font-size:.72rem}.media-scan-statline b{color:#d9cec2}.media-scan-results{display:grid;gap:7px;max-height:54vh;overflow:auto}.media-scan-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid rgba(226,216,203,.075);background:#0a0a0b}.media-scan-row.is-exact{border-left:3px solid rgba(71,140,98,.6)}.media-scan-row.is-ambiguous{border-left:3px solid rgba(183,129,51,.65)}.media-scan-row.is-new{border-left:3px solid rgba(161,42,58,.72)}.media-scan-row strong{display:block;color:#d9cfc4;font-size:.79rem}.media-scan-row small{display:block;color:#6e665f;font-size:.65rem;margin-top:3px;word-break:break-all}.media-scan-match{color:#9b9188;font-size:.7rem}.media-scan-row button{white-space:nowrap}.media-scan-row .is-linked{color:#7ea58a;font:700 .57rem Cinzel,serif;letter-spacing:.07em}

.poster-manager-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.poster-drop-zone{margin-top:9px;min-height:92px;border:1px dashed rgba(172,46,63,.38);display:grid;place-items:center;align-content:center;gap:4px;background:#09090a;cursor:pointer;text-align:center}.poster-drop-zone.is-dragover{border-color:#cf5363;background:#170b0d}.poster-drop-zone strong{color:#d6cbc0;font:700 .62rem Cinzel,serif;letter-spacing:.08em}.poster-drop-zone span{color:#756c65;font-size:.65rem}.poster-dimension-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(226,216,203,.1);color:#817870;font-size:.6rem}.poster-dimension-badge.is-low{border-color:rgba(189,53,69,.42);color:#c76d78}.poster-history-panel{margin-top:10px;border-top:1px solid rgba(226,216,203,.08);padding-top:10px}.poster-history-panel h4{margin:0 0 7px;color:#9d9288;font:700 .58rem Cinzel,serif;letter-spacing:.08em}.poster-history-list{display:grid;gap:5px;max-height:150px;overflow:auto}.poster-history-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid rgba(226,216,203,.07);background:#0a0a0b}.poster-history-item span{color:#817871;font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-crop-shell{max-width:980px}.poster-crop-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}.poster-crop-body canvas{width:min(100%,520px);aspect-ratio:2/3;max-height:68vh;background:#050506;border:1px solid rgba(226,216,203,.1);justify-self:center}.poster-crop-controls{display:grid;align-content:start;gap:12px}.poster-crop-controls label{display:grid;gap:7px}.poster-crop-controls label span{font:700 .57rem Cinzel,serif;letter-spacing:.09em;color:#a99d92;text-transform:uppercase}.poster-crop-controls input{width:100%}

.health-issue-type+.health-badge{display:inline-block}.health-issue.is-warning{border-color:rgba(176,50,66,.23)}

@media(max-width:980px){.metadata-editor-body{grid-template-columns:1fr}.metadata-search-panel .poster-manager-results{max-height:210px}.media-scan-row{grid-template-columns:1fr auto}.media-scan-match{grid-column:1/-1}.poster-crop-body{grid-template-columns:1fr}.poster-crop-controls{grid-template-columns:repeat(3,1fr)}.poster-crop-controls button{grid-column:1/-1}}
@media(max-width:680px){.picker-shell{max-height:96dvh}.picker-shell>.utility-body{display:block;overflow:auto}.picker-shell #watchPickerForm{max-height:none;overflow:visible}.picker-shell .tool-primary{bottom:6px}.metadata-grid{grid-template-columns:1fr}.metadata-field.is-wide{grid-column:auto}.metadata-editor-head{display:grid}.metadata-editor-head .metadata-actions{justify-content:stretch}.metadata-editor-head .metadata-actions button{flex:1}.media-scan-intro,.media-scan-toolbar{display:grid}.media-scan-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.media-scan-row{grid-template-columns:1fr}.poster-manager-shortcuts{grid-template-columns:1fr}.poster-crop-controls{grid-template-columns:1fr}}
.hc-admin-tool-button{border:1px solid rgba(196,157,98,.28)!important;background:linear-gradient(180deg,#211b12,#0d0c0a)!important;color:#d4bd8d!important;box-shadow:0 8px 20px rgba(0,0,0,.22)!important}.hc-admin-tool-button:hover{border-color:rgba(210,174,112,.5)!important;color:#f0dba7!important}


/* Phase 10–13: Letterboxd sync, review journal, dashboard II, movie dossier */
.review-publish-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.vault-spoiler-toggle{min-height:46px}.review-revisions{border:1px solid rgba(226,216,203,.1);background:#0b0b0c;padding:10px 12px}.review-revisions summary{cursor:pointer;color:#c8bdb2;font:700 .66rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase}.review-revisions summary b{color:#a72a39}.review-revisions>div{display:grid;gap:7px;margin-top:10px}.review-revisions article{display:grid;gap:3px;padding:9px;border-left:2px solid rgba(157,29,45,.48);background:rgba(255,255,255,.02)}.review-revisions article strong{font-size:.7rem;color:#d7ccc1}.review-revisions article span{font-size:.78rem;line-height:1.5;color:#817970}.letterboxd-sync-summary{margin-top:10px;padding:11px 13px;border:1px solid rgba(121,157,111,.18);background:rgba(17,35,21,.3)}.letterboxd-sync-summary span{font:700 .55rem Cinzel,serif;color:#9eaf94;letter-spacing:.12em}.letterboxd-sync-summary p{margin:5px 0 0!important;color:#8d887f!important}.letterboxd-import-history>div{display:grid;gap:7px;padding-top:9px}.letterboxd-import-history article{display:grid;gap:2px;padding:8px 10px;background:#0b0b0c;border:1px solid rgba(226,216,203,.07)}.letterboxd-import-history article strong{font-size:.7rem;color:#d9cec2}.letterboxd-import-history article span{font-size:.74rem;color:#7d756e}.vault-journal-kicker b{margin-left:5px}.vault-spoiler-review,.hc-spoiler-review{border:1px solid rgba(172,36,54,.22);background:rgba(52,10,16,.2);padding:8px 10px}.vault-spoiler-review summary,.hc-spoiler-review summary{cursor:pointer;color:#c96370;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.vault-spoiler-review p,.hc-spoiler-review p{margin-top:10px!important}.hc-personal-review-card.is-draft{opacity:.82;border-style:dashed}.home-panel-continue,.home-panel-watched,.home-panel-recommendation,.home-panel-night{grid-column:span 6}.home-feature-film{min-height:140px}.home-feature-film-card{width:100%;min-height:140px;border:1px solid rgba(226,216,203,.09);background:linear-gradient(135deg,rgba(21,10,12,.92),rgba(8,8,9,.98));display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;color:#ddd3c8;text-align:left;cursor:pointer}.home-feature-poster{width:76px;aspect-ratio:2/3;background:#111;display:grid;place-items:center;overflow:hidden}.home-feature-poster img{width:100%;height:100%;object-fit:cover}.home-feature-copy{display:grid;gap:4px;min-width:0}.home-feature-copy small{font:700 .5rem Cinzel,serif;color:#9d2b39;letter-spacing:.12em}.home-feature-copy strong{font:700 1rem Cinzel,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-feature-copy em{font-style:normal;color:#817971;font-size:.72rem}.home-feature-film-card>b{color:#9f303e;font:700 .6rem Cinzel,serif}.hc-personal-action-cluster{display:flex!important;flex-wrap:wrap;gap:7px!important}.hc-personal-dossier,.hc-related-films{margin:18px 0;padding:15px;border:1px solid rgba(165,42,57,.2);background:linear-gradient(180deg,rgba(35,9,13,.55),rgba(8,8,9,.92));color:#d9cec3}.hc-personal-dossier>header,.hc-related-films>header{display:flex;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(226,216,203,.08)}.hc-personal-dossier>header span,.hc-related-films>header span{font:700 .55rem Cinzel,serif;color:#a93242;letter-spacing:.12em}.hc-personal-dossier>header strong,.hc-related-films>header strong{font:700 .68rem Cinzel,serif;color:#eee2d7}.hc-dossier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.hc-dossier-grid p{margin:0;padding:8px;background:rgba(255,255,255,.025);display:grid;gap:3px}.hc-dossier-grid b,.hc-dossier-history>b{font-size:.56rem;color:#847970;letter-spacing:.07em}.hc-dossier-grid span{font-weight:700;color:#ddd0c4}.hc-dossier-collections{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.hc-dossier-collections i{font-style:normal;padding:5px 7px;border:1px solid rgba(226,216,203,.1);font-size:.64rem;color:#afa49a}.hc-dossier-history{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px}.hc-dossier-history span{font-size:.65rem;color:#91877e}.hc-related-films>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.hc-related-films button{border:1px solid rgba(226,216,203,.08);background:#0a0a0b;color:#d5c9bd;padding:9px;text-align:left;display:grid;gap:3px;cursor:pointer}.hc-related-films button:hover{border-color:rgba(168,45,60,.4)}.hc-related-films button b{font-family:Cinzel,serif}.hc-related-films button span{font-size:.66rem;color:#746d67}
@media(max-width:1120px){.home-panel-continue,.home-panel-watched,.home-panel-recommendation,.home-panel-night{grid-column:span 12}}
@media(max-width:720px){.review-publish-row{grid-template-columns:1fr}.home-feature-film-card{grid-template-columns:70px minmax(0,1fr);}.home-feature-film-card>b{grid-column:2}.hc-dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hc-related-films>div{grid-template-columns:1fr}}


/* Phase 14-16: recommendations, command palette, backups */
.command-palette-trigger kbd{margin-left:6px;padding:2px 5px;border:1px solid rgba(226,216,203,.15);border-radius:4px;color:#817870;background:#080809;font:600 .52rem Inter,sans-serif}.command-palette{width:min(720px,calc(100vw - 24px));max-width:none;padding:0;border:0;background:transparent;color:#e8ded2}.command-palette::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.command-palette-shell{border:1px solid rgba(184,41,58,.36);background:linear-gradient(180deg,rgba(18,17,18,.99),rgba(6,6,7,.995));box-shadow:0 28px 90px rgba(0,0,0,.68),0 0 50px rgba(136,15,31,.12)}.command-palette-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:15px 16px;border-bottom:1px solid rgba(226,216,203,.1)}.command-palette-head .search-glyph{color:#a42c3b;font-size:1.25rem}.command-palette-head input{width:100%;border:0;outline:0;background:transparent;color:#f0e6da;font:600 1rem Inter,sans-serif}.command-palette-head kbd{padding:4px 7px;border:1px solid rgba(226,216,203,.13);color:#857b72;background:#09090a;font-size:.6rem}.command-palette-hint{display:flex;justify-content:space-between;gap:10px;padding:8px 16px;color:#706861;font:600 .55rem Cinzel,serif;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid rgba(226,216,203,.06)}.command-palette-results{max-height:min(62vh,560px);overflow:auto;padding:8px}.command-result-group{padding:6px 8px 3px;color:#82222e;font:700 .52rem Cinzel,serif;letter-spacing:.12em;text-transform:uppercase}.command-result{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid transparent;background:transparent;color:#cfc5ba;text-align:left;cursor:pointer}.command-result:hover,.command-result.is-selected{background:linear-gradient(90deg,rgba(112,18,30,.22),rgba(12,12,13,.82));border-color:rgba(170,38,54,.26)}.command-result>i{font-style:normal;color:#a12d3a;text-align:center;font-size:1rem}.command-result strong{display:block;color:#e7ddd1;font:700 .74rem Cinzel,serif;letter-spacing:.04em}.command-result span{display:block;margin-top:2px;color:#817870;font-size:.72rem}.command-result small{color:#675f58;font:600 .54rem Inter,sans-serif;text-transform:uppercase}.command-empty{padding:28px 18px;text-align:center;color:#7b726a}.backup-restore-shell{max-width:980px}.backup-restore-body{display:grid;grid-template-columns:1fr 1fr;gap:14px}.backup-panel{padding:17px;border:1px solid rgba(226,216,203,.1);background:#09090a}.backup-panel h3{margin:5px 0 8px;color:#e6ddd2;font:700 1.05rem Cinzel,serif}.backup-panel p{margin:0 0 15px;color:#817970;font-size:.82rem;line-height:1.6}.backup-summary{display:flex;gap:12px;align-items:center;padding:12px;margin:0 0 13px;border:1px solid rgba(154,33,49,.18);background:rgba(45,9,14,.3)}.backup-summary>i{font-style:normal;color:#a52b39;font-size:1.35rem}.backup-summary strong,.backup-summary span{display:block}.backup-summary strong{color:#ded4c9;font-size:.78rem}.backup-summary span{margin-top:3px;color:#756d65;font-size:.7rem;line-height:1.45}.backup-dropzone{display:grid;place-items:center;gap:5px;padding:22px 14px;border:1px dashed rgba(177,49,64,.36);background:rgba(43,9,14,.16);cursor:pointer;text-align:center}.backup-dropzone input{position:absolute;opacity:0;pointer-events:none}.backup-dropzone i{font-style:normal;color:#ad2f3e;font-size:1.4rem}.backup-dropzone strong{font:700 .7rem Cinzel,serif;color:#e2d8cc}.backup-dropzone span{color:#7d746c;font-size:.7rem}.backup-confirm{display:grid;gap:6px;margin:12px 0}.backup-confirm span{color:#8c837a;font-size:.7rem}.backup-confirm input{min-height:42px;padding:10px;border:1px solid rgba(226,216,203,.12);background:#080809;color:#f0e5d8;font:700 .8rem Cinzel,serif;letter-spacing:.12em}.danger-action{min-height:44px;padding:10px 14px;border:1px solid rgba(188,45,61,.48);background:linear-gradient(180deg,#431019,#18090b);color:#f0d7d9;font:700 .65rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.danger-action:disabled{opacity:.38;cursor:not-allowed}.hc-related-films>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}.hc-related-films button{position:relative;min-height:82px!important;padding:12px 13px!important;text-align:left!important}.hc-related-films button em{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;font-style:normal}.hc-related-films button em i{padding:3px 5px;border:1px solid rgba(175,47,62,.18);background:rgba(79,15,23,.14);color:#a78f8f;font:600 .46rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em}.hc-related-films .related-score{position:absolute;right:8px;top:8px;color:#6e6660;font:700 .5rem Inter,sans-serif}.hc-related-films .related-vault{color:#c6a76f!important;border-color:rgba(198,167,111,.22)!important}.rail-button-backup span{color:#a52d3b}@media(max-width:780px){.command-palette{width:calc(100vw - 12px)}.command-palette-hint small{display:none}.backup-restore-body{grid-template-columns:1fr}.hc-related-films>div{grid-template-columns:1fr}.command-palette-trigger kbd{display:none}}


/* Mobile dashboard refinement */
@media (max-width:720px){
  .home-dashboard{
    width:calc(100% - 12px);
    margin:8px auto 18px;
    padding:15px 11px 13px;
    border-radius:2px;
    overflow:hidden;
  }
  .home-dashboard-head{gap:16px;align-items:start;}
  .home-dashboard-copy{padding-right:0;}
  .home-dashboard-copy .eyebrow{font-size:.48rem;letter-spacing:.11em;}
  .home-dashboard-copy h1{
    margin:7px 0 9px;
    max-width:88%;
    font-size:clamp(2rem,12vw,3rem);
    line-height:.9;
    letter-spacing:-.04em;
  }
  .home-dashboard-copy p{
    max-width:94%;
    font-size:.78rem;
    line-height:1.52;
  }
  .home-dashboard-actions{
    grid-template-columns:1fr;
    gap:6px;
  }
  .home-dashboard-actions button{
    min-height:42px;
    padding:10px 11px;
    font-size:.56rem;
  }
  .home-stat-grid{
    display:flex;
    gap:6px;
    margin:15px -11px 0;
    padding:0 11px 3px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .home-stat-grid::-webkit-scrollbar{display:none;}
  .home-stat-grid button{
    flex:0 0 116px;
    min-height:74px;
    padding:10px 9px;
    scroll-snap-align:start;
  }
  .home-stat-grid strong{
    margin:4px 0 2px;
    font-size:1.25rem;
  }
  .home-stat-grid span,.home-stat-grid small{font-size:.44rem;letter-spacing:.08em;}
  .home-dashboard-grid{
    display:block;
    margin-top:9px;
  }
  .home-panel{
    width:100%;
    margin-top:8px;
    padding:12px 10px;
  }
  .home-panel:first-child{margin-top:0;}
  .home-panel>header{
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    padding-bottom:9px;
  }
  .home-panel>header h2{font-size:.9rem;}
  .home-panel>header span{font-size:.45rem;}
  .home-panel>header button{
    flex:0 0 auto;
    max-width:44%;
    padding:6px 7px;
    font-size:.44rem;
    white-space:normal;
    text-align:center;
  }
  .home-film-strip{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .home-film-strip::-webkit-scrollbar{display:none;}
  .home-film-card{
    flex:0 0 112px;
    scroll-snap-align:start;
  }
  .home-film-copy strong{font-size:.64rem;}
  .home-film-copy small{font-size:.48rem;}
  .home-review-card{padding:9px;gap:6px;}
  .home-collection-list{gap:6px;}
  .home-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .home-tools-grid button{min-height:82px;padding:10px;}
  .home-tools-grid button strong{font-size:.62rem;}
  .home-tools-grid button span{font-size:.6rem;line-height:1.35;}
  .home-feature-film{min-height:0;}
  .home-feature-film-card{
    min-height:0;
    grid-template-columns:62px minmax(0,1fr) auto;
    gap:9px;
    padding:8px;
  }
  .home-feature-poster{width:58px;}
  .home-feature-copy strong{font-size:.82rem;}
  .home-feature-copy small{font-size:.44rem;}
  .home-feature-copy em{font-size:.64rem;}
  .home-feature-film-card>b{
    grid-column:auto;
    align-self:start;
    padding-top:3px;
    font-size:.5rem;
  }
  .home-health-seal{align-items:flex-start;}
  .home-dashboard:after{
    width:42vw;
    height:62vw;
    right:-13vw;
    top:30px;
    opacity:.075;
    filter:drop-shadow(0 0 11px rgba(156,20,39,.19));
  }
  .dashboard-cross-mark{opacity:.44;}
  .dashboard-cross-mark span:first-child{
    right:-1vw;
    top:41px;
    width:10px;
    height:58vw;
  }
  .dashboard-cross-mark span:last-child{
    right:-19vw;
    top:116px;
    width:55vw;
    height:10px;
  }
}

@media (max-width:390px){
  .home-dashboard-copy h1{font-size:2.15rem;max-width:92%;}
  .home-dashboard-copy p{font-size:.74rem;}
  .home-stat-grid button{flex-basis:108px;}
  .home-film-card{flex-basis:104px;}
  .home-tools-grid{grid-template-columns:1fr;}
  .home-panel>header button{max-width:48%;}
}

/* Phase 1 / 17 / 18: Jellyfin streaming, security, Horror Cult projection room */
.rail-button-streaming span{color:#bd3345}.streaming-shell{max-width:1180px}.streaming-body{display:grid;gap:15px}.streaming-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.streaming-status-card{min-height:108px;padding:15px;border:1px solid rgba(226,216,203,.1);background:linear-gradient(145deg,#0d0d0f,#09090a);display:grid;align-content:center;gap:5px}.streaming-status-card>span{color:#8b252f;font:700 .53rem Cinzel,serif;letter-spacing:.12em}.streaming-status-card>strong{color:#ded4c8;font:700 .94rem Cinzel,serif;letter-spacing:.06em}.streaming-status-card>small{color:#756d66;font-size:.7rem;line-height:1.45}.streaming-status-card.is-ready{border-color:rgba(70,142,95,.32);box-shadow:inset 3px 0 0 rgba(70,142,95,.45)}.streaming-status-card.is-ready>strong{color:#b8d7c1}.streaming-status-card.has-error{border-color:rgba(183,48,65,.36);box-shadow:inset 3px 0 0 rgba(183,48,65,.5)}.streaming-status-card.security{background:radial-gradient(circle at 80% 10%,rgba(132,27,41,.11),transparent 42%),#0a0a0b}.streaming-command-row{display:flex;align-items:center;gap:13px;padding:11px;border:1px solid rgba(226,216,203,.08);background:#09090a}.streaming-command-row>span{color:#80776f;font-size:.72rem;line-height:1.5}.streaming-command-row code,.streaming-config-note code{color:#bd9a8e}.streaming-match-panel{padding:14px;border:1px solid rgba(226,216,203,.09);background:rgba(255,255,255,.009)}.streaming-match-panel>header h3{margin:3px 0 11px;color:#ddd3c7;font:700 .96rem Cinzel,serif}.streaming-search-label{display:grid;gap:6px}.streaming-search-label>span{color:#9b9187;font:700 .55rem Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.streaming-search-label input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(226,216,203,.12);background:#080809;color:#eee4d8}.streaming-match-grid{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);gap:12px;margin-top:11px}.streaming-film-results,.streaming-candidate-results{min-height:330px;max-height:57vh;overflow:auto;border:1px solid rgba(226,216,203,.07);background:#070708;padding:7px}.streaming-film-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid transparent;background:#0a0a0b;color:#d8cec3;text-align:left;cursor:pointer}.streaming-film-result+ .streaming-film-result{margin-top:5px}.streaming-film-result:hover,.streaming-film-result.is-selected{border-color:rgba(181,43,59,.35);background:linear-gradient(90deg,rgba(89,13,25,.25),#0b0b0c)}.streaming-film-result strong{display:block;color:#ddd3c8;font:700 .7rem Cinzel,serif}.streaming-film-result small{display:block;margin-top:3px;color:#706861;font-size:.62rem}.streaming-film-result b{color:#9b303e;font:700 .52rem Cinzel,serif;letter-spacing:.06em}.streaming-selected-film{padding:12px;border:1px solid rgba(174,42,57,.22);background:linear-gradient(135deg,rgba(65,11,20,.25),#0b0b0c);margin-bottom:8px}.streaming-selected-film>span{color:#8c2633;font:700 .5rem Cinzel,serif;letter-spacing:.11em}.streaming-selected-film>strong{display:block;margin:4px 0;color:#e2d7cb;font:700 .9rem Cinzel,serif}.streaming-selected-film>small{color:#776e67;font-size:.68rem}.streaming-selected-film>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.streaming-candidate-stack{display:grid;gap:7px}.streaming-candidate{display:grid;gap:5px;padding:11px;border:1px solid rgba(226,216,203,.075);background:#0a0a0b}.streaming-candidate header{display:flex;justify-content:space-between;gap:8px}.streaming-candidate header span{color:#a93240;font:700 .5rem Cinzel,serif;letter-spacing:.08em}.streaming-candidate header small{color:#625b56;font-size:.55rem}.streaming-candidate>strong{color:#ddd3c7;font:700 .76rem Cinzel,serif}.streaming-candidate>p{margin:0;color:#837a72;font-size:.66rem}.streaming-candidate>small{color:#6c655e;font-size:.61rem}.streaming-candidate>button{justify-self:start;margin-top:4px;padding:8px 10px;border:1px solid rgba(178,43,59,.36);background:#160b0e;color:#dec9cb;font:700 .54rem Cinzel,serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.streaming-reasons{display:flex;flex-wrap:wrap;gap:4px}.streaming-reasons i{font-style:normal;padding:3px 5px;border:1px solid rgba(177,47,62,.17);background:rgba(75,13,21,.18);color:#9e8185;font:600 .46rem Inter,sans-serif;text-transform:uppercase}.streaming-config-note{display:grid;gap:4px;padding:11px 13px;border-left:2px solid rgba(168,40,55,.42);background:#09090a}.streaming-config-note strong{color:#bdb1a6;font:700 .62rem Cinzel,serif}.streaming-config-note span{color:#746b64;font-size:.7rem;line-height:1.55}.danger-lite{border:1px solid rgba(174,43,59,.3);background:#14090b;color:#bd7780;padding:8px 10px;font:700 .54rem Cinzel,serif;text-transform:uppercase;cursor:pointer}

.horror-player-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#020203;color:#eee4d8}.horror-player-dialog::backdrop{background:#000}.horror-player-shell{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:radial-gradient(circle at 50% 38%,rgba(93,10,22,.13),transparent 34%),#020203}.horror-player-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px clamp(14px,2.5vw,30px);border-bottom:1px solid rgba(226,216,203,.08);background:linear-gradient(180deg,#0a0a0c,#050506)}.horror-player-header h2{margin:3px 0 0;color:#e7ddd1;font:700 clamp(.85rem,1.8vw,1.25rem) Cinzel,serif;letter-spacing:.05em}.horror-player-header p{margin:3px 0 0;color:#756d66;font-size:.67rem}.horror-player-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;background:#000}.horror-player-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(0,0,0,.64)}.horror-player-stage video{display:block;width:100%;height:100%;max-height:calc(100dvh - 180px);object-fit:contain;background:#000;position:relative;z-index:1}.horror-player-wait{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;gap:7px;padding:30px;text-align:center;background:radial-gradient(circle,rgba(33,6,11,.86),rgba(0,0,0,.94) 60%)}.horror-player-wait[hidden]{display:none}.horror-player-wait i{font-style:normal;color:#a82335;font-size:2rem;animation:hc-player-pulse 1.3s ease-in-out infinite}.horror-player-wait strong{color:#d8ccd0;font:700 .75rem Cinzel,serif;letter-spacing:.13em}.horror-player-wait span{max-width:520px;color:#736a65;font-size:.7rem;line-height:1.55}@keyframes hc-player-pulse{50%{opacity:.38;transform:scale(.88);text-shadow:0 0 30px rgba(172,34,52,.6)}}.horror-player-controls{display:grid;grid-template-columns:minmax(190px,1fr) repeat(3,minmax(130px,190px));gap:9px;align-items:end;padding:10px clamp(13px,2.5vw,28px);border-top:1px solid rgba(226,216,203,.08);background:#080809}.horror-player-progress-copy{align-self:center}.horror-player-progress-copy strong{display:block;color:#d1c7bb;font:700 .7rem Cinzel,serif}.horror-player-progress-copy span{display:block;margin-top:3px;color:#7d252f;font:700 .5rem Cinzel,serif;letter-spacing:.09em}.horror-player-controls label{display:grid;gap:4px}.horror-player-controls label>span{color:#776f68;font:700 .48rem Cinzel,serif;letter-spacing:.08em;text-transform:uppercase}.horror-player-controls select{width:100%;min-height:38px;padding:7px 8px;border:1px solid rgba(226,216,203,.11);background:#0c0c0e;color:#d5cbc0;font-size:.68rem}.horror-player-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px clamp(13px,2.5vw,28px) 11px;background:#060607;color:#665f59;font-size:.62rem}.horror-player-footer button{padding:7px 9px;border:1px solid rgba(170,41,56,.28);background:#11090b;color:#a98c90;font:700 .5rem Cinzel,serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.home-playback-card .home-playback-track{display:block;width:100%;height:3px;margin-top:7px;overflow:hidden;background:#171719}.home-playback-card .home-playback-track i{display:block;height:100%;background:linear-gradient(90deg,#6e101d,#c43145);box-shadow:0 0 8px rgba(190,39,57,.35)}.home-playback-card .home-film-copy em{display:block;margin-top:4px;color:#746b64;font:500 .5rem Inter,sans-serif;font-style:normal}.home-playback-card .home-film-poster>b{background:rgba(38,6,12,.9);color:#edcdd1}.hc-stream-button{border-color:rgba(183,43,61,.5)!important;background:linear-gradient(180deg,#361018,#14090c)!important;color:#efcbd0!important}

@media(max-width:900px){.streaming-match-grid{grid-template-columns:1fr}.streaming-film-results{min-height:180px;max-height:240px}.streaming-candidate-results{min-height:260px}.horror-player-controls{grid-template-columns:1fr repeat(3,minmax(0,1fr))}.horror-player-progress-copy{grid-column:1/-1}.horror-player-stage video{max-height:calc(100dvh - 245px)}}
@media(max-width:620px){.streaming-status-grid{grid-template-columns:1fr}.streaming-command-row{display:grid}.streaming-selected-film>div{display:grid}.streaming-selected-film>div>*{width:100%}.horror-player-header{padding:10px 11px}.horror-player-header p{display:none}.horror-player-controls{grid-template-columns:1fr 1fr;padding:8px 9px;gap:7px}.horror-player-progress-copy{grid-column:1/-1}.horror-player-controls label:last-child{grid-column:1/-1}.horror-player-stage video{max-height:calc(100dvh - 264px)}.horror-player-footer{padding:7px 9px 9px}.horror-player-footer>span{max-width:65%;font-size:.54rem}.home-playback-card .home-film-copy em{font-size:.46rem}}
@media(prefers-reduced-motion:reduce){.horror-player-wait i{animation:none}}

/* Compact Personal Dossier fallback */
.hc-personal-dossier{margin-top:9px;padding:0;overflow:hidden}.hc-dossier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.hc-dossier-grid p{margin:0;background:transparent}@media(max-width:720px){.hc-dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
