:root{color-scheme:dark;--paper:#0a0f13;--panel:#111a20;--ink:#e8eff2;--muted:#a2b2bb;--border:#293941;--accent:#ec9276;font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#1a2b304d,transparent 50%),var(--paper);color:var(--ink);line-height:1.6}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(2.4rem,5.5vw,4.8rem);line-height:1.06;letter-spacing:-.055em;max-width:950px;margin-bottom:24px}h1 span{color:var(--accent)}h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.025em}h3{font-size:1.28rem;line-height:1.3;margin-bottom:10px}p{color:#c1cdd3}.muted,.facts{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;color:var(--accent);margin-bottom:12px}.discovery-header,main,footer{max-width:1180px;margin:auto;padding-left:36px;padding-right:36px}.discovery-header{display:flex;justify-content:space-between;gap:20px;align-items:center;width:calc(100% - 12vw);max-width:1400px;height:96px;padding:0;border-bottom:1px solid #ffffff12}.studio-brand{display:flex;gap:12px;align-items:center;color:#f0efea;font-size:17px;font-weight:700;letter-spacing:.09em;text-decoration:none}.studio-brand svg{width:34px;height:34px;stroke:var(--accent);fill:none;stroke-width:1}.studio-brand svg circle{fill:var(--accent)}.discovery-header nav{display:contents}.discovery-header nav a{color:#c4c9cc;font-size:12px;text-decoration:none}.discovery-header nav a:hover{color:var(--ink)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--muted);padding-top:32px}.hero{padding:64px 0 48px}.lead{max-width:690px;font-size:1.15rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 18px;border:1px solid var(--border);border-radius:999px;text-decoration:none;font-size:.9rem;transition:background .18s,border-color .18s}.button:hover{background:#203139;border-color:#92b3c1}.primary{background:var(--accent);color:#171416;border-color:var(--accent);font-weight:650}.primary:hover{background:#f6b19a;color:#171416}.anchor-film{display:grid;grid-template-columns:3fr 1fr;gap:44px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:30px;margin-bottom:64px}.anchor-film p:last-child{margin-bottom:0}.credits{font-size:.9rem;align-self:center}.credits span{display:block}.facts{font-size:.8rem}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.recommendation-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0;margin:24px 0}.movie-card{display:flex;gap:18px;padding:26px;height:100%;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#14212799,#10181e44)}.movie-card>div{min-width:0}.movie-card p{font-size:.9rem}.movie-card h3 a{text-decoration:none}.movie-card h3 a:hover,.text-link:hover{color:var(--accent)}.rank{font-size:.8rem;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px}.connection{border-top:1px solid var(--border);padding-top:16px;margin-top:20px}.connection h4{color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}.connection ul{padding-left:17px;color:#c1cdd3;font-size:.85rem;margin:0 0 20px}.text-link{font-size:.8rem}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0}.directory-grid a{display:flex;justify-content:space-between;gap:14px;align-items:center;height:100%;padding:18px;border:1px solid var(--border);border-radius:12px;text-decoration:none;background:var(--panel)}.directory-grid a:hover{border-color:var(--accent)}.directory-grid small{white-space:nowrap;color:var(--muted);font-size:.7rem}.method{border-top:1px solid var(--border);padding:42px 0;margin-top:56px;max-width:780px}.pagination{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:32px}.empty-state{padding:28px;border:1px solid var(--border);border-radius:14px}footer{padding-top:30px;padding-bottom:40px;border-top:1px solid var(--border);font-size:.8rem}footer>a{margin-right:20px}footer small{display:block;margin-top:24px;color:var(--muted)}.skip-link{position:absolute;left:16px;top:-100px;background:var(--panel);padding:12px;z-index:2}.skip-link:focus{top:10px}
.genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0}.genre-grid a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--panel);text-decoration:none}.genre-grid a:hover{border-color:var(--accent)}.genre-grid span{color:var(--muted);font-size:.75rem;white-space:nowrap}.facts a{color:inherit}.facts a:hover{color:var(--accent)}
@media(max-width:700px){.discovery-header,main,footer{padding-left:20px;padding-right:20px}.discovery-header{width:auto;height:76px;margin:0 20px;padding:0;gap:10px}.studio-brand{gap:8px;font-size:13px}.studio-brand svg{width:27px;height:27px}.discovery-header nav a{font-size:11px}.hero{padding-top:38px}.recommendation-grid,.anchor-film{grid-template-columns:1fr}.anchor-film{gap:16px;padding:22px;margin-bottom:40px}.movie-card{padding:22px 18px;gap:12px}.directory-grid,.genre-grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.actions .button{width:100%}.pagination{gap:12px;font-size:.8rem}}
@media(max-width:520px){.discovery-header{display:grid;grid-template-columns:auto repeat(3,auto)}.studio-brand{font-size:0;gap:0}.studio-brand svg{width:27px;height:27px}.discovery-header nav a{font-size:10px}.directory-grid,.genre-grid{grid-template-columns:1fr}h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Poster-led Studio preview; descriptions remain server-rendered inside details. */
:root { --paper:#0d1216; --accent:#e5a085; }
.hero { padding:54px 0 42px; }.hero h1 { font-weight:450; }.hero h1 span { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400; }
.anchor-film:has(.anchor-poster) { grid-template-columns:150px minmax(0,1fr); align-items:center; gap:28px; }
.anchor-poster { width:150px; height:auto; border-radius:8px; grid-row:span 2; }.anchor-film .credits { grid-column:2; }.anchor-film .credits .eyebrow { margin-bottom:5px; }.anchor-film .credits { margin:0; }
.movie-card { gap:18px; padding:22px; align-items:start; }.recommendation-poster { width:105px; flex:0 0 105px; }.recommendation-poster img { width:100%; height:auto; border-radius:6px; }.movie-card h3 { margin-top:8px; }.movie-card .rank { font-size:10px; letter-spacing:.12em; }.connection { margin-top:14px; padding-top:12px; }.film-synopsis { color:var(--muted); font-size:12px; }.film-synopsis summary { cursor:pointer; padding:8px 0; }.film-synopsis p { font-size:13px; line-height:1.7; margin:8px 0; }.connection ul { font-size:12px; }.text-link { font-size:11px; }
@media(max-width:900px) { .recommendation-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .anchor-film:has(.anchor-poster) { grid-template-columns:85px minmax(0,1fr); gap:18px; padding:18px; align-items:start; }.anchor-poster { width:85px; }.anchor-film p { font-size:12px; }.anchor-film h2 { font-size:21px; }.anchor-film .credits { font-size:12px; }.movie-card { padding:17px; gap:14px; }.recommendation-poster { width:76px; flex-basis:76px; }.movie-card h3 { font-size:18px; } }
/* Keep missing artwork from squeezing useful text into the poster column. */
.movie-card:not(:has(.recommendation-poster)),.anchor-film:not(:has(.anchor-poster)) { grid-template-columns:1fr; }
.anchor-film:not(:has(.anchor-poster)) .credits { grid-column:1; }
.match-chip { display:inline-flex; width:max-content; max-width:100%; margin:0 0 10px; padding:3px 9px; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border)); border-radius:999px; color:#efb29b !important; font-size:10px !important; font-weight:650; letter-spacing:.025em; }

/* Public title profiles use the same transparent-map language as the live list view. */
html { background:var(--paper); }
body.title-profile-page { position:relative; isolation:isolate; min-height:100vh; background:transparent; }
.title-profile-page .discovery-header,.title-profile-page main,.title-profile-page footer { position:relative; z-index:2; }
.title-profile-page .discovery-header { border-color:color-mix(in srgb,var(--border) 58%,transparent); background:color-mix(in srgb,var(--paper) 18%,transparent); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.title-profile-page .breadcrumbs { padding-top:20px; }
.title-profile-page footer { background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--paper) 88%,transparent) 35%); }
.profile-stage { position:relative; margin:0 calc(50% - 50vw) 34px; padding:18px max(36px,calc((100vw - 1180px)/2 + 36px)) 30px; }
.profile-stage-content { position:relative; z-index:2; width:min(1080px,100%); margin:0 auto; }
.title-profile-hero { min-height:0; padding:12px 0 24px; }
.profile-intro { position:relative; }.profile-intro h1 { margin-bottom:22px; }.profile-intro .lead { max-width:650px; }
.profile-map-backdrop { position:fixed; z-index:0; inset:0; opacity:0; overflow:hidden; pointer-events:none; transition:opacity .8s ease; animation:profile-map-drift 22s ease-in-out infinite alternate; will-change:transform; }
.profile-map-backdrop.is-ready { opacity:.3; }
.profile-map-backdrop::before { content:""; position:absolute; inset:0; background:radial-gradient(circle 360px at 50% 44%,color-mix(in srgb,var(--ink) 18%,transparent),transparent 72%),linear-gradient(180deg,color-mix(in srgb,var(--paper) 25%,transparent),color-mix(in srgb,var(--paper) 58%,transparent)); }
.profile-map-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 42%,transparent),transparent 24%,transparent 76%,color-mix(in srgb,var(--paper) 34%,transparent)); }
.profile-map-backdrop::before,.profile-map-backdrop::after { z-index:2; pointer-events:none; }
.profile-map-lines,.profile-map-nodes { position:absolute; z-index:1; inset:1% -3% -2%; width:106%; height:101%; overflow:visible; }
.profile-map-lines line { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-dasharray:2 7; animation:profile-line-flow 28s linear infinite; }
.profile-map-lines .is-center-link { stroke:#65808c; stroke-width:1; opacity:.72; }
.profile-map-lines .is-context-link { stroke:#48616d; stroke-width:.85; opacity:.58; animation-duration:36s; animation-direction:reverse; }
.profile-map-node { --map-node:#78b3ff; position:absolute; display:flex; align-items:center; gap:7px; max-width:180px; color:color-mix(in srgb,var(--map-node) 82%,#e8eff2); font-size:clamp(10px,1.05vw,13px); line-height:1.2; text-shadow:0 1px 8px #0a0f13,0 0 16px #0a0f13; white-space:nowrap; animation:profile-node-breathe 6s ease-in-out infinite; }
.profile-map-node span { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--map-node); box-shadow:0 0 12px var(--map-node); }
.profile-map-node strong { overflow:hidden; text-overflow:ellipsis; }.profile-map-center { --map-node:var(--accent); translate:-50% -50%; z-index:1; padding:8px 13px; border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,transparent); font-size:14px; }
.profile-map-node:nth-child(3n) { animation-delay:-2s; }.profile-map-node:nth-child(4n) { animation-delay:-4s; }
@keyframes profile-map-drift { from { transform:translate3d(-1.1%,.3%,0) scale(1.015); } to { transform:translate3d(1.1%,-.8%,0) scale(1.035); } }
@keyframes profile-line-flow { to { stroke-dashoffset:-90; } }
@keyframes profile-node-breathe { 0%,100% { opacity:.68; transform:translate3d(0,0,0); } 50% { opacity:1; transform:translate3d(3px,-4px,0); } }

.profile-summary { position:relative; overflow:hidden; border-color:color-mix(in srgb,var(--border) 76%,#fff); background:radial-gradient(circle at 15% 18%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 32%),color-mix(in srgb,var(--panel) 82%,transparent); box-shadow:0 28px 80px #0006; backdrop-filter:blur(18px) saturate(1.12); -webkit-backdrop-filter:blur(18px) saturate(1.12); }
.profile-summary::after { content:""; position:absolute; right:-90px; bottom:-135px; width:280px; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--accent) 14%,transparent); border-radius:50%; pointer-events:none; }
.profile-summary>* { position:relative; z-index:1; }.profile-summary .anchor-poster { box-shadow:0 18px 34px #0007; }
.profile-summary-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }.profile-summary-heading .eyebrow { margin-bottom:8px; }
.profile-media-chip { flex:none; padding:4px 9px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border)); border-radius:999px; color:color-mix(in srgb,var(--accent) 78%,var(--ink)); font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.profile-facts { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:0 0 18px; }.profile-facts li { padding:4px 9px; border:1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius:999px; color:var(--muted); background:#ffffff05; font-size:10px; }.profile-facts a { color:inherit; }.profile-facts a:hover { color:var(--accent); }.profile-facts strong { color:#f1c25d; }
.movie-card { position:relative; overflow:hidden; transition:translate .22s ease,border-color .22s ease,box-shadow .22s ease; }.movie-card::after { content:""; position:absolute; width:150px; aspect-ratio:1; right:-100px; bottom:-105px; border:1px solid color-mix(in srgb,var(--accent) 12%,transparent); border-radius:50%; pointer-events:none; }.movie-card:hover { translate:0 -3px; border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); box-shadow:0 18px 44px #0003; }
.profile-list-view { position:relative; width:min(1080px,100%); margin:0 auto; padding:34px 0 0; }.profile-list-view::before { content:"List view"; display:inline-flex; margin-bottom:14px; padding:4px 9px; border:1px solid var(--border); border-radius:999px; color:var(--muted); background:color-mix(in srgb,var(--panel) 52%,transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.profile-list-view .recommendation-grid { gap:18px; }.profile-list-view .movie-card { grid-template-columns:112px minmax(0,1fr); gap:19px; padding:16px; background:color-mix(in srgb,var(--panel) 88%,transparent); backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); }.profile-list-view .recommendation-poster { width:112px; flex-basis:112px; }.profile-list-view .movie-card h3 { margin:8px 0; font-size:18px; font-weight:500; }.profile-list-view .movie-card p { font-size:13px; line-height:1.5; }.profile-list-view .connection { border-top:0; margin-top:10px; padding-top:0; }.profile-list-view .connection h4 { display:none; }.profile-list-view .connection ul { display:flex; flex-wrap:wrap; gap:0; padding:0; list-style:none; color:var(--body-copy,#c1cdd3); }.profile-list-view .connection li:not(:last-child)::after { content:" · "; white-space:pre; }
.profile-list-view .recommendation-grid>li.profile-recommendation-entering { opacity:.08; translate:0 22px; transition:opacity .64s cubic-bezier(.22,1,.36,1),translate .64s cubic-bezier(.22,1,.36,1); transition-delay:var(--profile-card-delay,0ms); }
.profile-list-view .recommendation-grid>li.profile-recommendation-entering.is-profile-recommendation-visible { opacity:1; translate:0 0; }
.title-profile-page .method { background:color-mix(in srgb,var(--paper) 52%,transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
@media(max-width:900px) { .profile-map-backdrop.is-ready { opacity:.26; }.profile-map-node-3,.profile-map-node-4,.profile-map-node-5,.profile-map-node-8,.profile-map-node-9 { display:none; } }
@media(max-width:700px) { .title-profile-page .breadcrumbs { padding-top:14px; }.profile-stage { margin-top:0; margin-bottom:26px; padding:16px 20px 24px; }.title-profile-hero { padding:8px 0 20px; }.profile-map-backdrop { inset:0 -34%; }.profile-map-backdrop.is-ready { opacity:.25; }.profile-summary { backdrop-filter:blur(13px); -webkit-backdrop-filter:blur(13px); }.profile-summary-heading { display:block; }.profile-media-chip { display:inline-flex; margin-bottom:10px; }.profile-facts { gap:5px; }.profile-facts li { font-size:9px; }.profile-list-view .movie-card { grid-template-columns:76px minmax(0,1fr); gap:14px; padding:14px; }.profile-list-view .recommendation-poster { width:76px; flex-basis:76px; }.movie-card:hover { translate:0; } }
@media(prefers-reduced-motion:reduce) { .profile-map-backdrop,.profile-map-node,.profile-map-lines line { animation:none; }.movie-card { transition:none; }.profile-list-view .recommendation-grid>li.profile-recommendation-entering { opacity:1; translate:none; transition:none; } }
html[data-motion="reduced"] .profile-list-view .recommendation-grid>li.profile-recommendation-entering { opacity:1; translate:none; transition:none; }
