/* ===========================================================
   50% FILM — MOCKUP ADDITIONS (not live)
   Loaded after site.css (+ home.css on the homepage).
   1. Shared fixed header   2. Search overlay
   3. Film carousel         4. Roundup (home band + page)
   =========================================================== */

/* readability floor used by all new components */
:root { --mk-small:10px; --mk-body:13px; --mk-header-h:76px; }

.skip { position:absolute; left:-9999px; top:0; z-index:200; background:var(--red); color:var(--white); padding:10px 16px; font-size:11px; }
.skip:focus { left:10px; top:10px; }

/* ---------- 1. shared header ---------- */
.mk-header { position:fixed !important; top:0; left:0; right:0; z-index:103 !important; }
.mk-header .release-ticker { position:relative; }
.mk-nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap; gap:16px; padding:18px 40px; transition:background .35s, padding .35s, border-color .35s, backdrop-filter .35s; border-bottom:1px solid transparent; background:#0a0a0a; }
.mk-header.scrolled .mk-nav, .mk-header.menu-open .mk-nav { background:#0a0a0a; border-bottom-color:rgba(240,236,228,.08); padding:14px 40px; }
.mk-nav .nav-inline { flex-wrap:nowrap; }
.mk-nav .nav-inline a { font-size:10px; letter-spacing:.2em; }
.mk-nav .nav-inline a.here { border-color:var(--red); }
.nav-right { display:flex; align-items:center; gap:4px; flex:none; }
.mk-search-btn, .cm-toggle, .menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:36px; padding:0 12px; background:transparent; border:1px solid rgba(240,236,228,.22); border-radius:999px; color:var(--white); cursor:pointer; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.cm-toggle { width:36px; padding:0; }
.mk-search-btn svg, .cm-toggle .cm-ico { width:16px; height:16px; flex:none; }
.mk-search-label { line-height:1; }
.mk-search-btn:hover, .cm-toggle:hover, .menu-toggle:hover { border-color:rgba(240,236,228,.55); }
.mk-search-btn:focus-visible, .cm-toggle:focus-visible, .menu-toggle:focus-visible { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(200,52,26,.35); }
.menu-toggle-label { font-size:10px; letter-spacing:.2em; }
@media (max-width:1180px){
  .mk-search-label, .mk-search-btn .mk-search-kbd { display:none; }
  .mk-search-btn { width:36px; padding:0; }
}
@media (max-width:900px){ .mk-header .nav-inline, .nav-inline { display:none; } }
@media (max-width:720px){
  .mk-nav, .mk-header.scrolled .mk-nav, .mk-header.menu-open .mk-nav { padding:14px 22px; }
  .mk-search-label, .mk-search-btn .mk-search-kbd { display:none; }
  .mk-search-btn { width:36px; padding:0; }
  .nav-right { gap:8px; }
}
/* menu panel is styled with the three-column block further down */

/* one footer everywhere (no newsletter) */
footer.mk-footer { border-top:1px solid var(--line); padding:44px 0 52px; margin-top:40px; }
.mk-footer .footer-inner { font-size:9px; letter-spacing:.2em; color:#a8a29a; align-items:center; }
.mk-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.mk-footer .nav-logo { color:var(--white); }

/* ---------- 2. search overlay ---------- */
.mk-search { position:fixed; inset:0; z-index:104; background:rgba(8,8,7,.9); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); opacity:0; pointer-events:none; transition:opacity .25s; overflow-y:auto; }
.mk-search.open { opacity:1; pointer-events:auto; }
.mk-search-inner { max-width:1240px; margin:0 auto; padding:calc(var(--ticker-h) + 34px) 40px 60px; }
.mk-search-top { display:flex; align-items:center; gap:12px; }
.mk-search-field { flex:1; display:flex; align-items:center; gap:12px; min-width:0; height:52px; padding:0 8px 0 18px; background:rgba(240,236,228,.04); border:1px solid rgba(240,236,228,.22); border-radius:999px; transition:border-color .2s, background .2s, box-shadow .2s; }
.mk-search-field:focus-within { border-color:var(--red); background:rgba(200,52,26,.06); box-shadow:0 0 0 3px rgba(200,52,26,.28); }
.mk-search-field svg { width:18px; height:18px; color:var(--red); flex:none; }
.mk-search-field input { flex:1; background:none; border:0; color:var(--white); font-family:'Space Mono',monospace; font-size:15px; font-weight:400; letter-spacing:normal; line-height:1.4; min-width:0; }
.mk-search-field input::placeholder { color:#8a847c; }
.mk-search-field input:focus { outline:none; }
.mk-search-field input:not(:placeholder-shown) + .mk-search-kbd { visibility:hidden; }
.mk-search-kbd { font-family:'Space Mono',monospace; font-size:10px; font-weight:400; letter-spacing:.04em; line-height:1; color:#cfc8bd; border:1px solid rgba(240,236,228,.28); border-radius:999px; padding:5px 8px; background:rgba(10,10,10,.35); }
.mk-search-close { display:inline-flex; align-items:center; gap:8px; background:none; border:1px solid rgba(240,236,228,.22); border-radius:999px; color:var(--white); font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:0 8px 0 16px; height:52px; cursor:pointer; }
.mk-search-close kbd { font-family:inherit; font-size:10px; letter-spacing:.04em; border:1px solid rgba(240,236,228,.28); border-radius:999px; padding:5px 8px; color:#cfc8bd; }
.mk-search-close:hover { border-color:rgba(240,236,228,.55); }
.mk-search-close:focus-visible { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(200,52,26,.28); }
.mk-search-meta { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin:18px 0 34px; font-size:var(--mk-small); letter-spacing:.14em; text-transform:uppercase; color:#a8a29a; }
.mk-chips { display:flex; gap:8px; flex-wrap:wrap; }
.mk-chip { background:none; border:1px solid rgba(240,236,228,.18); border-radius:999px; color:var(--cream); font-family:'Space Mono',monospace; font-size:var(--mk-small); letter-spacing:.12em; text-transform:uppercase; padding:8px 14px; cursor:pointer; }
.mk-chip:hover { border-color:rgba(240,236,228,.5); color:var(--white); }
.mk-chip:focus-visible { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(200,52,26,.28); }
.mk-chip.on { background:var(--red); border-color:var(--red); color:var(--white); }
.mk-chip b { font-weight:400; opacity:.7; margin-left:6px; }
.mk-results { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px; }
.mk-results.only-films { grid-template-columns:1fr; }
.mk-results.only-articles { grid-template-columns:1fr; }
.mk-results h3 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:30px; letter-spacing:.02em; display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:6px; }
.mk-results h3 small { font-family:'Space Mono',monospace; font-size:var(--mk-small); letter-spacing:.14em; color:#a8a29a; }
.mk-films { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-top:14px; }
.mk-film-hit { display:grid; grid-template-columns:84px 1fr; gap:14px; align-items:start; padding:10px; border:1px solid var(--line); background:rgba(240,236,228,.02); transition:border-color .2s, background .2s; }
.mk-film-hit:hover, .mk-film-hit.kb { border-color:var(--red); background:rgba(200,52,26,.06); }
.mk-film-hit .pst { aspect-ratio:2/3; background:#141414; overflow:hidden; }
.mk-film-hit .tt { font-family:'DM Serif Display',serif; font-style:italic; font-size:21px; line-height:1.15; margin:4px 0 6px; }
.mk-film-hit .dd { font-size:12px; line-height:1.7; color:#b9b2a7; }
.mk-tag { display:inline-block; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--red); border:1px solid rgba(200,52,26,.6); border-radius:999px; padding:4px 9px; }
.mk-tag.solid { background:var(--red); color:var(--white); border-color:var(--red); }
.mk-art-list { list-style:none; }
.mk-art-hit { display:grid; grid-template-columns:132px 1fr; gap:18px; align-items:center; padding:14px 8px; border-bottom:1px solid var(--line); transition:background .2s; }
.mk-art-hit:hover, .mk-art-hit.kb { background:rgba(240,236,228,.04); }
.mk-art-hit .th { aspect-ratio:16/10; overflow:hidden; background:#141414; }
.mk-art-hit .tt { font-family:'DM Serif Display',serif; font-size:19px; line-height:1.3; margin:7px 0 6px; }
.mk-art-hit .dd { font-size:12px; letter-spacing:.04em; color:#b9b2a7; }
.mk-art-hit .card-rating { margin:0; display:inline-flex; vertical-align:middle; margin-left:10px; }
.mk-art-hit .card-rating .st { font-size:12px; }
mark { background:none; color:var(--red); font-style:inherit; }
.mk-empty { font-size:13px; color:#b9b2a7; line-height:2; padding:20px 0; }
.mk-search-foot { margin-top:34px; font-size:10px; color:#8f897f; letter-spacing:.06em; }
.mk-search-foot kbd { font-family:inherit; border:1px solid rgba(240,236,228,.28); border-radius:999px; padding:3px 7px; margin:0 2px; color:#cfc8bd; }
@media (max-width:900px){ .mk-results{grid-template-columns:1fr; gap:34px} }
@media (max-width:720px){
  .mk-search-inner { padding:calc(var(--ticker-h) + 18px) 18px 40px; }
  .mk-search-field { height:48px; padding-left:14px; }
  .mk-search-field input { font-size:14px; }
  .mk-search-close { height:48px; padding-left:14px; }
  .mk-search-meta { margin:14px 0 22px; }
  .mk-films { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; }
  .mk-film-hit { scroll-snap-align:start; }
  .mk-art-hit { grid-template-columns:92px 1fr; gap:14px; padding:12px 0; }
  .mk-art-hit .tt { font-size:17px; }
  .mk-search-foot { display:none; }
}

/* ---------- 3. film carousel ---------- */
.mk-car { position:relative; margin-top:6px; }
.mk-car-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; gap:0; }
.mk-car-track::-webkit-scrollbar { display:none; }
.mk-slide { position:relative; flex:0 0 100%; scroll-snap-align:start; height:560px; overflow:hidden; background:#111; display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:end; padding:48px; }
.mk-slide .bg { position:absolute; inset:0; z-index:0; }
.mk-slide .bg img { filter:saturate(.85) contrast(1.05); transform:scale(1.06); transition:transform 7s ease-out; }
.mk-slide.active .bg img { transform:scale(1); }
.mk-slide .bg::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,10,.94) 0%, rgba(10,10,10,.72) 42%, rgba(10,10,10,.18) 100%), linear-gradient(0deg, rgba(10,10,10,.9) 0%, transparent 55%); }
.mk-slide .pst { position:relative; z-index:1; aspect-ratio:2/3; box-shadow:0 30px 60px rgba(0,0,0,.6); outline:1px solid rgba(240,236,228,.12); background:#000; }
.mk-slide .info { position:relative; z-index:1; max-width:640px; padding-bottom:6px; }
.mk-slide .kick { display:flex; gap:12px; align-items:center; margin-bottom:18px; font-size:var(--mk-small); letter-spacing:.2em; text-transform:uppercase; color:#cfc8bd; }
.mk-slide h3 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(48px,6.4vw,92px); line-height:.88; margin-bottom:16px; }
.mk-slide .log { font-family:'DM Serif Display',serif; font-style:italic; font-size:22px; line-height:1.45; color:var(--cream); margin-bottom:24px; }
.mk-slide dl { display:flex; gap:34px; flex-wrap:wrap; margin-bottom:28px; }
.mk-slide dt { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:6px; }
.mk-slide dd { font-size:14px; color:var(--white); }
.mk-cta { display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.2em; text-transform:uppercase; background:var(--red); color:var(--white); padding:15px 24px; border-radius:999px; transition:background .2s,color .2s; }
.mk-cta:hover { background:var(--white); color:var(--black); }
.mk-cta.ghost { background:none; border:1px solid rgba(240,236,228,.3); margin-left:10px; }
.mk-car-ui { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; }
.mk-dots { display:flex; gap:8px; flex:1; max-width:640px; }
.mk-dot { position:relative; flex:1; height:22px; background:none; border:0; cursor:pointer; padding:0; }
.mk-dot::before { content:''; position:absolute; left:0; right:0; top:10px; height:2px; background:#2e2b28; }
.mk-dot i { position:absolute; left:0; top:10px; height:2px; width:0; background:var(--red); }
.mk-dot.done i { width:100%; background:#6d675f; }
.mk-dot.active i { width:100%; background:var(--red); animation:mkfill var(--mk-dur,6s) linear; }
.mk-car.paused .mk-dot.active i { animation-play-state:paused; }
@keyframes mkfill { from{width:0} to{width:100%} }
.mk-count { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.06em; min-width:84px; }
.mk-count span { color:#6d675f; }
.mk-arrows { display:flex; gap:10px; }
.mk-arrow { width:52px; height:52px; border:1px solid rgba(240,236,228,.25); border-radius:999px; background:rgba(10,10,10,.5); color:var(--white); font-size:20px; cursor:pointer; display:grid; place-items:center; transition:border-color .2s, background .2s; }
.mk-arrow:hover, .mk-arrow:focus-visible { border-color:var(--red); background:var(--red); outline:none; }
.mk-car-hint { display:none; }
@media (prefers-reduced-motion:reduce){ .mk-dot.active i{animation:none} .mk-slide .bg img{transition:none;transform:none} }
@media (max-width:900px){
  .mk-car-track { gap:12px; scroll-padding:0 22px; margin:0 -22px; padding:0 22px; }
  .mk-slide { flex:0 0 84%; height:auto; min-height:0; grid-template-columns:1fr; gap:0; padding:0; align-items:start; background:#0f0e0d; border:1px solid var(--line); }
  .mk-slide .bg { position:relative; aspect-ratio:4/3; }
  .mk-slide .bg::after { background:linear-gradient(0deg, #0f0e0d 0%, rgba(15,14,13,.2) 55%, transparent 100%); }
  .mk-slide .pst { position:absolute; z-index:2; top:14px; left:14px; width:78px; box-shadow:0 10px 24px rgba(0,0,0,.6); }
  .mk-slide .info { padding:0 18px 20px; margin-top:-34px; }
  .mk-slide .kick { font-size:10px; letter-spacing:.16em; margin-bottom:10px; flex-wrap:wrap; }
  .mk-slide h3 { font-size:44px; margin-bottom:10px; }
  .mk-slide .log { font-size:17px; margin-bottom:16px; }
  .mk-slide dl { gap:18px; margin-bottom:18px; }
  .mk-slide dd { font-size:13px; }
  .mk-cta { padding:13px 18px; font-size:11px; }
  .mk-cta.ghost { display:none; }
  .mk-arrows { display:none; }
  .mk-car-ui { margin-top:16px; }
  .mk-car-hint { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#8f897f; }
}

/* ---------- 4. roundup ---------- */
.mk-rband { position:relative; padding:80px 0 70px; border-bottom:1px solid var(--line); }
.mk-rband-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; align-items:start; }
.mk-eyebrow { font-size:var(--mk-small); letter-spacing:.28em; text-transform:uppercase; color:var(--red); margin-bottom:18px; }
.mk-rband h2 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(52px,7vw,104px); line-height:.86; }
.mk-rband h2 em { font-family:'DM Serif Display',serif; font-style:italic; color:var(--red); font-size:.62em; display:block; line-height:1.1; }
.mk-rband .lede { font-family:'Space Mono',monospace; font-size:13px; font-weight:400; line-height:2; letter-spacing:normal; color:var(--mid); max-width:44ch; margin:22px 0 28px; }
.mk-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:28px; }
.mk-stats div { padding:16px 0; }
.mk-stats div + div { padding-left:16px; border-left:1px solid var(--line); }
.mk-stats b { display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:40px; line-height:1; }
.mk-stats span { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#a8a29a; }
.mk-rlist { list-style:none; border-top:1px solid var(--line); }
.mk-ritem { display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.mk-ritem .th { aspect-ratio:16/10; overflow:hidden; background:#141414; }
.mk-ritem .tt { font-family:'DM Serif Display',serif; font-size:19px; line-height:1.3; margin:6px 0 5px; }
.mk-ritem .dd { font-size:12px; color:#b9b2a7; }
.mk-ritem .card-rating { margin:0; }
.mk-ritem:hover .tt { color:var(--red); }
.mk-next { margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mk-next a { display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; border:1px solid var(--line); padding:10px; }
.mk-next a:hover { border-color:var(--red); }
.mk-next .pst { aspect-ratio:2/3; overflow:hidden; background:#141414; }
.mk-next .tt { font-family:'DM Serif Display',serif; font-style:italic; font-size:18px; margin:4px 0; }
.mk-next .dd { font-size:11px; color:#a8a29a; letter-spacing:.06em; }
@media (max-width:900px){
  .mk-rband { padding:56px 0 48px; }
  .mk-rband-grid { grid-template-columns:1fr; gap:34px; }
  .mk-stats b { font-size:32px; }
  .mk-stats div + div { padding-left:10px; }
  .mk-stats span { font-size:9.5px; letter-spacing:.1em; }
  .mk-ritem { grid-template-columns:96px 1fr; gap:14px; }
  .mk-ritem .card-rating { grid-column:2; }
  .mk-ritem .tt { font-size:17px; }
  .mk-next { grid-template-columns:1fr; }
}

/* roundup page */
.mk-rhead { padding-top:calc(var(--ticker-h) + 150px); padding-bottom:30px; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:60px; align-items:end; border-bottom:1px solid var(--line); }
.mk-rhead .page-title { font-size:clamp(70px,12vw,170px); }
.mk-rhead .page-title em { font-family:'DM Serif Display',serif; font-style:italic; color:var(--red); font-size:.5em; display:block; line-height:1.05; }
.mk-rhead .lede { font-family:'DM Serif Display',serif; font-size:19px; line-height:1.65; color:var(--cream); margin-bottom:24px; }
.mk-rnav { display:flex; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); font-size:var(--mk-small); letter-spacing:.16em; text-transform:uppercase; color:#a8a29a; flex-wrap:wrap; }
.mk-rnav a:hover { color:var(--white); }
.mk-rnav .jump { display:flex; gap:22px; flex-wrap:wrap; }
.mk-rnav .jump a { color:var(--cream); }
.mk-pick { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:center; padding:60px 0; border-bottom:1px solid var(--line); }
.mk-pick .art { aspect-ratio:16/10; overflow:hidden; position:relative; }
.mk-pick .art .mk-tag { position:absolute; top:16px; left:16px; z-index:1; }
.mk-pick h2 { font-family:'DM Serif Display',serif; font-weight:400; font-size:clamp(30px,3.4vw,46px); line-height:1.12; margin:14px 0 16px; }
.mk-pick h2 em { color:var(--red); }
.mk-pick p { font-size:var(--mk-body); line-height:1.8; color:#c9c2b7; font-family:'DM Serif Display',serif; margin-bottom:20px; }
.mk-pick .card-rating .st { font-size:20px; }
.mk-pick .card-rating .rating-num { font-size:12px; }
.mk-sec { padding:56px 0; border-bottom:1px solid var(--line); }
.mk-sec-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
.mk-sec-head h2 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(40px,5vw,64px); line-height:.9; }
.mk-sec-head h2 span { color:var(--red); }
.mk-sec-head p { font-size:var(--mk-small); letter-spacing:.16em; text-transform:uppercase; color:#a8a29a; }
.mk-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.mk-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mk-card .th { aspect-ratio:3/2; overflow:hidden; background:#141414; margin-bottom:14px; }
.pc-art img, .card-art img, .idx-thumb img, .feed-thumb img, .mk-card .th img, .mk-ritem .th img, .idx-bg img, .hero-bg img, .preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mk-card .th img { transition:transform .6s; }
.mk-card:hover .th img { transform:scale(1.04); }
.mk-card .kk { display:flex; justify-content:space-between; gap:10px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
.mk-card .kk span { color:#a8a29a; }
.mk-card .tt { font-family:'DM Serif Display',serif; font-weight:400; font-size:20px; line-height:1.3; letter-spacing:normal; margin-bottom:10px; }
.mk-card .tt em { color:var(--red); }
.mk-card .dd { font-family:'Space Mono',monospace; font-size:10.5px; font-weight:400; line-height:2; letter-spacing:normal; color:var(--mid); }
.mk-card .card-rating { margin:0 0 10px; }
.mk-label { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.mk-lcard { position:relative; display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:end; padding:24px; min-height:300px; overflow:hidden; border:1px solid var(--line); }
.mk-lcard .bg { position:absolute; inset:0; }
.mk-lcard .bg::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,10,.92), rgba(10,10,10,.45)); }
.mk-lcard .pst { position:relative; aspect-ratio:2/3; outline:1px solid rgba(240,236,228,.15); }
.mk-lcard .info { position:relative; }
.mk-lcard h3 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:50px; line-height:.9; margin:12px 0 8px; }
.mk-lcard .log { font-family:'DM Serif Display',serif; font-style:italic; font-size:17px; color:var(--cream); margin-bottom:12px; }
.mk-lcard .dd { font-size:12px; color:#cfc8bd; margin-bottom:16px; }
.mk-coming { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.mk-cnext { border:1px solid var(--line); padding:22px; display:flex; flex-direction:column; gap:10px; }
.mk-cnext .when { font-family:'Bebas Neue',sans-serif; font-size:30px; line-height:1; }
.mk-cnext .tt { font-family:'DM Serif Display',serif; font-style:italic; font-size:22px; }
.mk-cnext .dd { font-size:12px; line-height:1.8; color:#b9b2a7; }
.mk-cnext a.more { margin-top:auto; font-size:10.5px; }
.mk-prev { display:flex; justify-content:space-between; gap:20px; padding:34px 0; font-size:var(--mk-small); letter-spacing:.16em; text-transform:uppercase; color:#a8a29a; flex-wrap:wrap; }
.mk-prev .list { display:flex; gap:22px; flex-wrap:wrap; }
.mk-prev .list a { color:var(--cream); border-bottom:1px solid #3a3733; padding-bottom:3px; }
@media (max-width:1100px){ .mk-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){
  .mk-rhead { grid-template-columns:1fr; gap:24px; padding-top:calc(var(--ticker-h) + 110px); }
  .mk-rhead .lede { font-size:17px; }
  .mk-pick { grid-template-columns:1fr; gap:22px; padding:40px 0; }
  .mk-sec { padding:42px 0; }
  .mk-grid, .mk-grid.three { grid-template-columns:1fr; gap:26px; }
  .mk-label, .mk-coming { grid-template-columns:1fr; gap:18px; }
  .mk-lcard { grid-template-columns:96px 1fr; gap:16px; padding:16px; min-height:0; }
  .mk-lcard h3 { font-size:38px; }
  .mk-rnav .jump { gap:14px; }
}

/* ---------- fixes after first render pass ---------- */
html { background:var(--black); }
.mk-search-top input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.mk-films { grid-template-columns:1fr; }
.mk-results.only-films .mk-films { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mk-slide .bg { overflow:hidden; }
/* desktop: slides cross-fade in place (cinematic, no sideways scroll) */
@media (min-width:901px){
  .mk-car-track { display:grid; overflow:hidden; }
  .mk-slide { grid-area:1/1; opacity:0; visibility:hidden; transition:opacity .9s ease, visibility 0s linear .9s; }
  .mk-slide.active { opacity:1; visibility:visible; transition:opacity .9s ease, visibility 0s; z-index:1; }
  .mk-slide .info > * { transition:transform .9s cubic-bezier(.2,.7,.3,1), opacity .9s; }
  .mk-slide:not(.active) .info > * { transform:translateY(14px); opacity:0; }
}
@media (max-width:900px){
  .mk-slide .info { margin-top:-18px; }
}
.home .screening{overflow:visible}
/* closed menu is out of the tab order and can't widen the page */
.nav-dropdown { visibility:hidden; pointer-events:none; transition:transform .45s cubic-bezier(.65,0,.35,1), opacity .45s ease, visibility 0s linear .45s; }
.nav-dropdown.open { visibility:visible; pointer-events:auto; transition:transform .45s cubic-bezier(.65,0,.35,1), opacity .45s ease, visibility 0s; }
/* homepage after the newsletter column was removed: writers use the full row */
.home .shopband { overflow:hidden; }
.home .writer-grid { grid-template-columns:repeat(10,minmax(0,1fr)); }
@media (max-width:900px){ .home .writer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* ---------- chrome that must work on pages which do not load site.css ---------- */
.mk-header { --black:#0a0a0a; --white:#f0ece4; --cream:#e8e2d6; --red:#c8341a; --mid:#888; --line:#1a1a1a; --gray:#2a2a2a; }
.mk-header .release-ticker { position:relative; top:auto; left:auto; right:auto; height:auto; min-height:0; z-index:2; background:var(--red); color:var(--white); text-align:center; font-family:'Space Mono',monospace; font-size:10px; font-weight:400; letter-spacing:.3em; line-height:normal; text-transform:uppercase; display:flex; align-items:center; justify-content:center; padding:8px 16px; }
.mk-header .release-ticker a { color:inherit; }
.mk-header .release-ticker-dot { display:inline-block; width:6px; height:6px; background:var(--white); border-radius:50%; margin:0 10px 1px 0; vertical-align:middle; }
.mk-header .nav-logo { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.15em; color:var(--white); }
.mk-header .nav-left { display:flex; align-items:center; }
.mk-header .nav-inline { display:flex; gap:22px; align-items:center; margin-left:36px; }
.mk-header .nav-inline a, .mk-header .nav-inline a:visited, .mk-header .nav-listen { font-family:'Space Mono',monospace; font-size:10px; font-weight:400; letter-spacing:.2em; line-height:normal; text-transform:uppercase; color:var(--white); text-decoration:none; padding-bottom:4px; border-bottom:1px solid transparent; background:none; border-radius:0; cursor:pointer; }
.mk-header .nav-inline a:hover, .mk-header .nav-inline a:focus-visible, .mk-header .nav-inline a.here, .mk-header .nav-listen:hover, .mk-header .nav-listen:focus-visible, .mk-header .nav-listen[aria-expanded="true"] { border-bottom-color:var(--red); outline:none; }
.nav-listen { display:inline-flex; align-items:center; gap:8px; border:0; border-bottom:1px solid transparent; border-radius:0; padding:0 0 4px; appearance:none; }
.nav-listen-dot { width:6px; height:6px; border-radius:50%; background:var(--red); flex:none; }
.nav-listen-soon { color:var(--red); font-size:9px; letter-spacing:.14em; }
.mk-header .menu-toggle { display:flex; align-items:center; gap:12px; background:none; border:0; color:var(--white); padding:0; cursor:pointer; position:relative; z-index:120; }
.mk-header .menu-toggle-label { font-family:'Space Mono',monospace; font-size:10px; font-weight:400; letter-spacing:.2em; line-height:normal; text-transform:uppercase; }
.mk-header .menu-toggle-bars { display:flex; flex-direction:column; justify-content:center; gap:5px; width:26px; height:18px; }
.mk-header .menu-toggle-bars span { display:block; width:100%; height:2px; background:var(--white); transition:transform .3s, opacity .3s; }
.mk-header .menu-toggle.open .menu-toggle-bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mk-header .menu-toggle.open .menu-toggle-bars span:nth-child(2){opacity:0}
.mk-header .menu-toggle.open .menu-toggle-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-dropdown { position:fixed; top:0; right:0; left:auto; width:min(420px,100%); height:100vh; height:100dvh; background:#0a0a0a; border-left:1px solid #1a1a1a; z-index:102; display:flex; flex-direction:column; justify-content:flex-start; padding:120px 48px 60px; transform:translateX(100%); opacity:1; overflow-x:hidden; overflow-y:auto; }
.nav-dropdown.open { transform:translateX(0); opacity:1; }
.nav-dropdown-sep { padding:26px 0 10px; font-family:'Space Mono',monospace; font-size:9px; font-weight:400; letter-spacing:.3em; line-height:normal; text-transform:uppercase; color:#888; }
.nav-soon { margin:0; padding:17px 0; border-top:1px solid #1a1a1a; border-bottom:1px solid #1a1a1a; font-family:'DM Serif Display',serif; font-weight:400; font-style:italic; font-size:24px; letter-spacing:normal; line-height:normal; color:#f0ece4; }
.nav-dropdown-list { list-style:none; margin:0; padding:0; border-top:1px solid #1a1a1a; display:block; }
.nav-dropdown-list li { border-bottom:1px solid #1a1a1a; }
.nav-dropdown-list a, .nav-dropdown-list button { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:17px 0; font-family:'DM Serif Display',serif; font-style:italic; font-weight:400; font-size:24px; letter-spacing:normal; line-height:normal; color:#f0ece4; text-decoration:none; text-align:left; background:none; border:0; cursor:pointer; transition:padding-left .3s, color .3s; }
.nav-dropdown-list a:hover, .nav-dropdown-list a:focus-visible, .nav-dropdown-list a.current, .nav-dropdown-list button:hover, .nav-dropdown-list button:focus-visible { color:var(--red); padding-left:12px; outline:none; }
#pfDrawerAccount[hidden] { display:none !important; }
.nav-dropdown-num { font-family:'Space Mono',monospace; font-style:normal; font-weight:400; font-size:10px; letter-spacing:.2em; line-height:normal; color:#888; flex:none; transition:color .3s; }
.nav-dropdown-list a:hover .nav-dropdown-num, .nav-dropdown-list a:focus-visible .nav-dropdown-num { color:var(--red); }
.nav-dropdown-footer { margin-top:40px; display:flex; gap:26px; flex-wrap:wrap; align-items:center; padding:0; background:transparent; border:0; }
.nav-dropdown-footer a, .nav-dropdown-footer button { font-family:'Space Mono',monospace; font-size:9px; font-weight:400; letter-spacing:.2em; line-height:normal; text-transform:uppercase; color:#888; text-decoration:none; background:none; border:0; padding:0; cursor:pointer; }
.nav-dropdown-footer a:hover, .nav-dropdown-footer a:focus-visible, .nav-dropdown-footer button:hover, .nav-dropdown-footer button:focus-visible { color:#f0ece4; outline:none; }
.nav-backdrop { position:fixed; inset:0; background:rgba(10,10,10,.6); backdrop-filter:blur(2px); z-index:101; opacity:0; pointer-events:none; transition:opacity .4s; }
.nav-backdrop.open { opacity:1; pointer-events:auto; }
html.nav-locked, body.nav-locked { overflow:hidden !important; }
.shell { max-width:1240px; margin:0 auto; padding-left:40px; padding-right:40px; }
.shell.page-head, header.page-head { padding-top: calc(var(--ticker-h) + 156px); }
@media (max-width:900px){
  .mk-header .nav-inline { display:none; }
  .shell.page-head, header.page-head { padding-top: calc(var(--ticker-h) + 128px); }
}
@media (max-width:600px){
  .nav-dropdown { padding:116px 28px 48px; width:100%; }
  .nav-dropdown-list a, .nav-dropdown-list button, .nav-soon { font-size:21px; }
}
/* phones: the original film page, including its own top bar. Desktop stays Frames. */
.classic-film { display:none; }
@media (max-width:768px){
  body.film-frames > main { display:none !important; }
  body.film-frames .classic-film { display:block; padding-top:calc(var(--ticker-h, 38px) + 72px); background:#0a0a0a; }
  body.film-frames.pf-dock-on .classic-film { padding-top:calc(var(--ticker-h, 38px) + 168px); }
  body.film-frames .classic-film nav { display:none !important; }
  body.film-frames .classic-film img { width:100%; height:auto; object-fit:unset; }
  body.film-frames > footer.mk-footer { display:none !important; }
}
@media (max-width:720px){ .shell { padding:0 22px; } .mk-header .menu-toggle-label { display:none; } }

/* film-page and article styles target a bare nav — don't let that restyle the shared chrome */
.mk-header nav, .mk-footer nav, nav.mk-nav, nav.mk-rnav { position:static !important; top:auto !important; left:auto !important; right:auto !important; background:none; mix-blend-mode:normal; }
.mk-footer nav { display:flex !important; }
footer.mk-footer { display:block; }
.mk-footer .footer-inner { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; }
.mk-footer a, .mk-footer a:visited { color:#a8a29a; text-decoration:none; }
.mk-footer a:hover, .mk-footer a:focus-visible, .mk-footer .nav-logo { color:var(--white); }
.mk-search a, .mk-search a:visited, .mk-film-hit, .mk-art-hit { color:var(--white); text-decoration:none; }

/* long URLs (bare tweet links) must not widen the page */
.article-body, .article-body a, .synopsis-body, .synopsis-body a { overflow-wrap:anywhere; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Small boxed controls are pills. Stills, posters, and article cards stay square. */
.tabs a,
.filters button,
.mk-chip,
.mk-tag,
.mk-cta,
.mk-arrow,
.mk-search-btn,
.cm-toggle,
.menu-toggle,
.mk-search-close,
.mk-search-field,
.mk-search-kbd,
.mk-search-foot kbd,
.mk-search-close kbd,
.pk-box button,
.cm-leader button,
.film-badge,
.hero-eyebrow .tag,
.pill,
.status,
.filter-btn,
.skip,
.pc-no,
.card-no,
.signup-form button,
.notify-form button {
  border-radius: 999px;
}
/* the archive keeps the square filters it has on the live site */
.filter-section .filter-btn { border-radius: 0; }
.tabs a:focus-visible,
.filters button:focus-visible,
.mk-chip:focus-visible,
.mk-cta:focus-visible,
.mk-arrow:focus-visible,
.filter-btn:focus-visible,
.pk-box button:focus-visible,
.cm-leader button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(200,52,26,.35);
}

/* content is visible with no JS; motion only starts once the js class is set */
html:not(.js) .rv, html:not(.js) .reveal { opacity:1 !important; transform:none !important; }
html:not(.js) .mk-car-track { display:flex; flex-direction:column; overflow:visible; }
html:not(.js) .mk-slide { opacity:1 !important; visibility:visible !important; position:relative; height:auto; min-height:420px; }
html:not(.js) .mk-slide .info > * { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce) {
  html.js .rv, html.js .reveal, .mk-slide .bg img { transition:none !important; }
}

/* Floating podcast player. Hidden until an episode is actually playing. */
.pod-mini { position:fixed; left:50%; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); z-index:120; width:min(760px, calc(100% - 28px)); display:flex; align-items:center; gap:14px; padding:8px 16px 8px 8px; border-radius:999px; background:rgba(14,14,14,.94); border:1px solid rgba(200,52,26,.55); box-shadow:0 18px 50px rgba(0,0,0,.45); color:var(--white); }
.pod-mini[hidden] { display:none !important; }
.pod-mini-play { width:44px; height:44px; border:0; border-radius:50%; background:var(--red); color:var(--white); display:grid; place-items:center; cursor:pointer; flex:none; }
.pod-mini-play svg { width:14px; height:14px; }
.pod-mini-play .ico-pause { display:none; }
.pod-mini-play.pod-playing .ico-play { display:none; }
.pod-mini-play.pod-playing .ico-pause { display:block; }
.pod-mini-play:focus-visible, .pod-mini-x:focus-visible, .pod-mini-bar:focus-visible { outline:none; box-shadow:0 0 0 3px rgba(200,52,26,.45); }
.pod-mini-meta { min-width:0; flex:1; color:inherit; }
.pod-mini-meta b { display:block; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:20px; letter-spacing:.04em; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pod-mini-meta small { display:block; margin-top:3px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:rgba(240,236,228,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pod-mini-x { border:0; background:transparent; color:var(--white); font-size:20px; line-height:1; padding:0 4px; cursor:pointer; opacity:.7; }
.pod-mini-bar { position:absolute; left:28px; right:28px; bottom:0; height:2px; background:rgba(240,236,228,.16); border-radius:2px; cursor:pointer; }
.pod-mini-bar i { display:block; height:100%; width:0; background:var(--red); }
body.pod-on { padding-bottom:96px; }
body.nav-locked .pod-mini { opacity:0; pointer-events:none; }
@media (max-width:720px){
  .pod-mini { gap:10px; padding-right:12px; }
  .pod-mini-meta b { font-size:17px; }
}

/* Sign-in. Hidden until auth.js confirms the project is configured. */
.pf-signin, .pf-pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:0 14px; border-radius:999px; border:1px solid rgba(240,236,228,.35); background:transparent; color:var(--white); font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; text-decoration:none; }
.pf-signin svg { width:16px; height:16px; }
.pf-signin:hover, .pf-pill:hover, .pf-signin:focus-visible, .pf-pill:focus-visible { border-color:var(--white); outline:none; }
.pf-solid { background:var(--red); border-color:var(--red); color:var(--white); }
.pf-light { background:var(--white); color:#111; border-color:var(--white); width:100%; }
.pf-modal form .pf-pill { width:100%; }
.pf-sm { min-height:34px; }
.pf-danger { border-color:var(--red); color:var(--red); }
.pf-scrim { position:fixed; inset:0; z-index:150; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(5,5,5,.72); backdrop-filter:blur(8px); }
.pf-scrim[hidden], .pf-pill[hidden], .pf-ask[hidden], .pf-sent[hidden], #pfDeleteForm[hidden], .pf-save-piece[hidden] { display:none !important; }
.pf-modal { position:relative; width:min(480px,100%); max-height:min(92vh,760px); overflow:auto; padding:34px 34px 26px; border-radius:22px; background:#0f0f0f; border:1px solid #1a1a1a; color:var(--white); box-shadow:0 40px 120px rgba(0,0,0,.7); }
.pf-x { position:absolute; top:16px; right:16px; width:36px; height:36px; border:1px solid #1a1a1a; border-radius:50%; background:transparent; color:var(--white); font-size:18px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.pf-x:focus-visible, .pf-modal .pf-pill:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.pf-kicker { margin:0 0 8px; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--red); }
.pf-modal h2 { margin:6px 0 12px; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:72px; line-height:.85; }
.pf-acc-head h1 { margin:0 0 10px; font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:64px; line-height:.9; }
.pf-modal h2 span, .pf-acc-head h1 b { color:var(--red); }
.pf-modal .pf-why { font-size:12.5px; line-height:1.65; color:rgba(240,236,228,.78); margin:0 0 22px; }
.pf-why, .pf-fine, .pf-note, .pf-empty { font-size:13px; line-height:1.6; color:rgba(240,236,228,.78); }
.pf-modal .pf-fine { font-size:10.5px; line-height:1.6; opacity:.85; border-top:1px solid #1a1a1a; padding-top:14px; margin-top:4px; }
.pf-modal .pf-fine a { text-decoration:underline; text-underline-offset:3px; }
.pf-or { margin:14px 0; text-align:center; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#888; }
.pf-modal .pf-field { display:block; width:100%; margin:0 0 10px; }
.pf-modal .pf-pill { width:100%; min-height:48px; height:48px; }
.pf-modal .pf-pill svg { width:16px; height:16px; flex:none; }
.pf-modal .pf-row { margin-top:4px; }
.pf-modal .pf-row .pf-pill { width:auto; min-height:34px; height:auto; }
.pf-field input, .pf-set input[type="text"], .pf-set input[type="password"], #pfDeleteForm input { width:100%; height:48px; margin:0; padding:0 14px; border-radius:4px; border:1px solid #2a2a2a; background:transparent; color:var(--white); font:inherit; font-size:14px; line-height:1.3; }
.pf-pass { position:relative; }
.pf-pass input { padding-right:78px; }
.pf-eye { position:absolute; right:16px; top:50%; transform:translateY(-50%); border:0; background:none; color:#888; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.pf-eye:hover, .pf-eye:focus-visible { color:var(--white); outline:none; }
.pf-text { border:0; background:none; padding:0; color:#f0ece4; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.04em; text-transform:none; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.pf-text:hover, .pf-text:focus-visible { color:var(--red); outline:none; }
.pf-switch { margin:10px 0 0; }
#pfConsent[hidden], #pfPassBlock[hidden], #pfLinkBlock[hidden], #pfForgotBlock[hidden], #pfForgotLink[hidden] { display:none !important; }
.pf-field input::placeholder { color:rgba(240,236,228,.4); }
.pf-field input:focus, .pf-field input:focus-visible, .pf-set input:focus, #pfDeleteForm input:focus { outline:none; border-color:rgba(240,236,228,.55); }
.pf-env { width:64px; height:64px; border-radius:50%; background:rgba(200,52,26,.15); border:1px solid var(--red); display:grid; place-items:center; margin:8px 0 16px; }
.pf-env svg { width:26px; height:26px; }
.pf-modal .pf-err { margin:0 0 10px; min-height:0; }
.pf-g { width:18px; height:18px; }
.pf-consent { display:flex; gap:12px; align-items:flex-start; margin:18px 0 14px; font-size:12px; line-height:1.55; cursor:pointer; }
.pf-consent input { appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border:1px solid rgba(240,236,228,.45); border-radius:6px; background:transparent; display:grid; place-items:center; }
.pf-consent input:checked { background:var(--red); border-color:var(--red); }
.pf-consent input:checked::after { content:'✓'; font-size:12px; color:#fff; }
.pf-consent input:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.pf-consent small, .pf-who small, .pf-who-line small { display:block; color:#888; }
.pf-err:empty { display:none; }
.pf-err { color:var(--red); font-size:12px; }
.pf-row { display:flex; flex-wrap:wrap; gap:8px; }
.pf-acct { position:relative; }
.pf-avatar { display:inline-grid; place-items:center; width:36px; height:36px; padding:0; border-radius:50%; border:1px solid var(--red); background:#1a1a1a; color:var(--white); font-family:'Bebas Neue',sans-serif; font-size:18px; line-height:1; letter-spacing:.04em; cursor:pointer; flex:none; overflow:hidden; appearance:none; }
.pf-avatar .pf-initial { display:block; transform:translateY(1px); }
.pf-avatar img { width:100%; height:100%; max-width:none; object-fit:cover; border-radius:inherit; }
.pf-avatar img.pf-grey { filter:grayscale(1) contrast(1.15); }
.pf-menu { position:fixed; z-index:130; width:min(240px, calc(100vw - 16px)); max-height:min(70vh, 420px); overflow:auto; padding:8px 0; border-radius:12px; background:#141414; border:1px solid rgba(240,236,228,.14); box-shadow:0 16px 40px rgba(0,0,0,.45); }
.pf-menu[hidden] { display:none !important; }
.pf-menu-label { margin:0; padding:8px 14px 6px; font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--red); }
.pf-menu a, .pf-menu button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:44px; padding:10px 14px; border:0; background:none; color:var(--white); font:inherit; font-size:14px; text-align:left; text-decoration:none; cursor:pointer; }
.pf-menu a:hover, .pf-menu button:hover, .pf-menu a:focus-visible, .pf-menu button:focus-visible { color:var(--red); outline:none; background:rgba(240,236,228,.04); }
.pf-avatar:focus-visible { outline:2px solid var(--white); outline-offset:2px; }
.pf-bell { width:42px; height:42px; border-radius:50%; border:1px solid rgba(240,236,228,.35); background:transparent; color:var(--white); display:grid; place-items:center; cursor:pointer; flex:none; }
.pf-bell.on { border-color:var(--red); color:var(--red); }
.pf-bell svg { width:18px; height:18px; }
.pf-bell:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.pf-who { display:block; padding:8px 14px 10px; border-bottom:1px solid #242220; }
.pf-cat-save { display:inline-flex; margin-top:8px; padding:4px 8px; border-radius:999px; border:1px solid rgba(240,236,228,.35); font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.pf-cat-save.on, .pf-save.on { border-color:var(--red); color:var(--red); }
.ledger-row { position:relative; }
.pf-film { position:fixed; z-index:100; left:12px; right:12px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin:0; padding:10px 14px; border:1px solid rgba(240,236,228,.16); border-radius:16px; background:rgba(10,10,10,.92); box-shadow:0 16px 40px rgba(0,0,0,.45); }
.pf-film[hidden] { display:none !important; }
.pf-dock-rate { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; }
.pf-dock-rate .pf-kicker, .pf-dock-rate .pf-note { margin:0; }
.pf-dock-avg { margin-left:auto; font-family:'Bebas Neue',sans-serif; font-size:28px; line-height:1; }
.pf-dock-avg small { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.08em; color:#888; margin-left:6px; }
.pf-stars { display:flex; gap:6px; }
.pf-stars button { width:36px; height:36px; border-radius:50%; border:1px solid #2a2a2a; background:transparent; color:rgba(240,236,228,.35); font-size:16px; cursor:pointer; }
.pf-save-piece { margin:0 0 28px; }
.pf-saved { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #1a1a1a; }
.pf-saved a { display:contents; }
.pf-saved img { width:72px; height:48px; object-fit:cover; border-radius:4px; }
.pf-saved b { display:block; font-family:'DM Serif Display',serif; font-weight:400; font-size:20px; line-height:1.25; }
.pf-saved small { display:block; margin-top:4px; color:#888; font-size:11px; }
.pf-stars button.on { color:var(--red); border-color:rgba(200,52,26,.55); background:rgba(200,52,26,.12); }
.pf-bars div { display:grid; grid-template-columns:28px 1fr 36px; gap:8px; align-items:center; font-size:11px; }
.pf-bars i { display:block; height:6px; border-radius:99px; background:#222; }
.pf-bars b { display:block; height:100%; border-radius:99px; background:var(--red); }
.pf-avg { display:flex; gap:16px; align-items:flex-end; }
.pf-avg b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:64px; line-height:.8; }
.pf-avg small { font-size:22px; color:#888; }
@media (max-width:720px){
  .pf-scrim { align-items:flex-end; padding:0; }
  .pf-modal { width:100%; border-radius:22px 22px 0 0; padding:26px 20px calc(22px + env(safe-area-inset-bottom, 0px)); }
  .pf-modal h2 { font-size:58px; }
  .pf-dock-avg { margin-left:0; }
  .pf-signin { padding:0 10px; letter-spacing:.1em; }
}
@media (prefers-reduced-motion:reduce){ .pf-scrim, .pf-modal, .pf-stars button, .pf-pill { transition:none; } }

.name-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; }
.name-row h1 { min-width:0; }
.counts { display:flex; flex-wrap:wrap; gap:6px 16px; margin:10px 0 0; }
.counts a { color:#888; font-size:12px; text-decoration:none; }
.counts b { color:var(--white); font-weight:400; }
.who-acts { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:14px; }
.who .who-acts .pf-pill { margin-top:0; }
.pf-follow[aria-pressed="true"] { border-color:var(--red); color:var(--red); }
a.name { color:inherit; text-decoration:none; }
a.name:hover b, a.name:hover .sug-name, a.name:focus-visible b { color:var(--red); }
.strip { display:inline-flex; flex-direction:column; justify-content:center; min-height:26px; padding:5px 8px 4px; position:relative; font-family:'Space Mono',monospace; font-size:8px; letter-spacing:.16em; text-transform:uppercase; line-height:1.15; white-space:nowrap; vertical-align:middle; }
.strip::before, .strip::after { content:""; position:absolute; left:3px; right:3px; height:4px; background:radial-gradient(circle, #0a0a0a 1.15px, transparent 1.4px) left center / 7px 4px repeat-x; }
.strip::before { top:1px; }
.strip::after { bottom:1px; }
.strip.founder { background:#c8341a; color:#f6e7b2; box-shadow:inset 0 0 0 1px rgba(246,231,178,.4); }
.strip.founder small { display:block; font-size:6px; letter-spacing:.22em; color:#f3efe6; }
.strip.writer { background:#141414; color:#e8e2d6; box-shadow:inset 0 0 0 1px #2e2e2e; }
.strip.writer small { display:block; font-size:6px; letter-spacing:.22em; color:#8a847c; }
.person { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid #1a1a1a; min-width:0; }
.person .pf-avatar { width:48px; height:48px; font-size:22px; }
.person .who-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; min-width:0; }
.person b { font-family:'DM Serif Display',serif; font-weight:400; font-size:20px; }
.person .handle { margin:2px 0 0; }
.act { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; padding:16px 0; border-top:1px solid #1a1a1a; min-width:0; }
.act .pf-avatar { width:44px; height:44px; font-size:20px; }
.act p { margin:0; overflow-wrap:anywhere; }
.act .stars { margin-top:4px; }
.sug-label { margin:22px 0 10px; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--red); }
.sug-row { display:flex; gap:10px; overflow-x:auto; padding-bottom:6px; }
.sug { flex:0 0 176px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; padding:14px 12px; border:1px solid #1a1a1a; background:#101010; }
.sug .name { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; max-width:100%; color:inherit; text-decoration:none; }
.sug .pf-avatar { width:52px; height:52px; font-size:24px; }
.sug-name { font-family:'DM Serif Display',serif; font-size:18px; line-height:1.1; overflow-wrap:anywhere; }
.sug .handle { margin:0; }
.sug-marks { display:flex; flex-wrap:wrap; gap:4px; }
.sug-same { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#888; }
.ticket-btn { display:block; width:100%; margin:0; padding:0; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.ticket-btn:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.badge-sheet { position:fixed; inset:0; z-index:200; display:flex; align-items:flex-end; justify-content:center; background:rgba(5,5,5,.72); }
.badge-sheet[hidden] { display:none !important; }
.badge-sheet-card { width:100%; max-height:min(92vh, 760px); overflow:auto; background:#0f0f0f; color:var(--white); border:1px solid #1a1a1a; border-radius:22px 22px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom)); }
.badge-sheet-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.badge-x { width:36px; height:36px; border:1px solid #1a1a1a; border-radius:50%; background:transparent; color:var(--white); font-size:18px; cursor:pointer; }
.badge-sheet .ticket { min-height:168px; grid-template-columns:minmax(0,1fr) 96px; }
.badge-sheet .ticket strong { font-size:clamp(36px, 8vw, 52px); }
.badge-sheet .ticket .stub b { font-size:48px; }
.badge-mean { margin:16px 0 8px; max-width:42ch; font-family:'DM Serif Display',serif; font-style:italic; font-size:20px; line-height:1.4; color:var(--cream, #e8e2d6); }
.badge-meta { margin:0; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#888; }
.badge-acts { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.mk-people { max-width:720px; }
.mk-results.only-people { display:block; }
#shareStatus:empty { display:none; }
@media (min-width:800px) {
  .badge-sheet { align-items:center; padding:24px; }
  .badge-sheet-card { width:min(520px, 100%); border-radius:22px; padding:28px; }
  .share-phone { display:none !important; }
}
@media (max-width:799px) {
  .share-desk { display:none !important; }
  .person { grid-template-columns:44px minmax(0,1fr); }
  .person .pf-follow { grid-column:2; justify-self:start; }
}
/* The custom cursor was a fixed red dot with the system pointer hidden.
   Pages that still set cursor:none keep a real pointer, and any leftover dot stays hidden. */
.cursor, .cursor-dot { display:none !important; }
body, body * { cursor:auto !important; }
a, button, label, summary, select, [role="button"] { cursor:pointer !important; }
input, textarea, [contenteditable="true"] { cursor:text !important; }
button:disabled, input:disabled { cursor:default !important; }

/* Verified tick: a red seal with a cream check, sized to the text it follows. */
.pf-tick { display:inline-flex; width:.95em; height:.95em; min-width:14px; min-height:14px; margin-left:.28em; vertical-align:-.12em; flex:none; }
.pf-tick svg { width:100%; height:100%; display:block; overflow:visible; }
.pf-tick .seal { fill:#c8341a; stroke:#c8341a; stroke-width:1.2; stroke-linejoin:round; }
.pf-tick .chk { fill:none; stroke:#f3efe6; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.name-row .pf-tick { width:32px; height:32px; margin-left:-4px; }
.pf-id-name .pf-tick { width:14px; height:14px; }
a.name .pf-tick { width:15px; height:15px; vertical-align:-2px; }

/* ---------- Community: reviews, watch parties, lists, month stub, writer follows ---------- */
.pf-c-stars { color:#c8341a; letter-spacing:.08em; font-size:13px; }
.pf-c-stars .dim { color:#3a3632; }
.pf-reviews { padding:56px 20px 24px; border-top:1px solid #1d1b19; }
.pf-c-wrap { max-width:760px; margin:0 auto; }
.pf-c-wrap h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(44px,7vw,72px); line-height:.9; margin:6px 0 22px; color:#f2ede4; letter-spacing:.01em; }
.pf-c-wrap h2 b { color:#c8341a; }
.pf-c-reviews { display:grid; gap:14px; }
.pf-c-review { border:1px solid #23201d; border-left:2px solid #c8341a; padding:16px 18px; background:#0f0e0d; border-radius:4px; }
.pf-c-review header { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-bottom:8px; }
.pf-c-review header a { color:#f2ede4; text-decoration:none; }
.pf-c-review .pf-c-meta { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; letter-spacing:.06em; }
.pf-c-review p { margin:0; font-family:'DM Serif Display',Georgia,serif; font-size:19px; line-height:1.45; color:#e8e2d6; }
.pf-c-write { display:grid; gap:10px; margin:0 0 26px; }
.pf-c-write textarea, .pf-c-editbody textarea, .pf-c-editbody input[type=text], .pf-c-editbody input[type=search], .pf-c-new input { width:100%; box-sizing:border-box; background:#0f0e0d; color:#f2ede4; border:1px solid #2e2b27; border-radius:4px; padding:12px 14px; font:16px/1.45 'Space Mono',monospace; }
.pf-c-write textarea { font-family:'DM Serif Display',Georgia,serif; font-size:19px; }
.pf-c-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.pf-c-small { font-size:11px !important; }
.pf-link { background:none; border:0; padding:0; color:#f2ede4; text-decoration:underline; font:inherit; cursor:pointer; }

.pf-party { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:0 0 18px; padding:12px 16px; border:1px solid #2a2622; border-radius:999px; background:#0f0e0d; font-family:'Space Mono',monospace; font-size:12px; color:#cfc8bb; letter-spacing:.04em; width:fit-content; max-width:100%; }
.pf-party .pf-kicker { margin:0; }
.pf-c-count { font-family:'Bebas Neue',sans-serif; font-size:30px; line-height:1; color:#f2ede4; letter-spacing:.04em; font-weight:400; }
.pf-c-dot { width:9px; height:9px; border-radius:50%; background:#8a8580; flex:none; }
.pf-c-dot.live { background:#c8341a; box-shadow:0 0 0 0 rgba(200,52,26,.6); animation:pfPulse 1.8s infinite; }
@keyframes pfPulse { 0% { box-shadow:0 0 0 0 rgba(200,52,26,.55); } 70% { box-shadow:0 0 0 10px rgba(200,52,26,0); } 100% { box-shadow:0 0 0 0 rgba(200,52,26,0); } }
@media (prefers-reduced-motion: reduce) { .pf-c-dot.live { animation:none; } }

.pf-c-lists { display:grid; gap:12px; }
.pf-c-list, .pf-c-edit { border:1px solid #23201d; border-radius:6px; background:#0f0e0d; }
.pf-c-list > summary, .pf-c-edit > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:16px; padding:14px 16px; }
.pf-c-list > summary::-webkit-details-marker, .pf-c-edit > summary::-webkit-details-marker { display:none; }
.pf-c-list summary b, .pf-c-edit summary b { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:.02em; font-weight:400; color:#f2ede4; display:block; line-height:1; }
.pf-c-list summary small, .pf-c-edit summary small { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; letter-spacing:.08em; text-transform:uppercase; }
.pf-c-edit summary small { margin-left:auto; }
.pf-c-list summary p { margin:6px 0 0; color:#cfc8bb; font-size:13px; }
.pf-c-strip { display:flex; flex:none; }
.pf-c-strip .pf-c-thumb { margin-right:-14px; box-shadow:0 0 0 2px #0f0e0d; }
.pf-c-thumb { width:46px; height:68px; flex:none; border-radius:3px; overflow:hidden; background:#1d1b19; display:inline-flex; align-items:center; justify-content:center; }
.pf-c-thumb img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:filter .5s; }
.pf-c-list:hover .pf-c-thumb img, .pf-c-items li:hover .pf-c-thumb img { filter:none; }
.pf-c-thumb i { font-style:normal; font-family:'Bebas Neue',sans-serif; color:#5a554e; font-size:24px; }
.pf-c-items { list-style:none; margin:0; padding:0 16px 16px; display:grid; gap:10px; }
.pf-c-items li, .pf-c-editlist li { display:flex; align-items:center; gap:12px; }
.pf-c-items li b a { color:#f2ede4; }
.pf-c-items li p { margin:4px 0 0; color:#cfc8bb; font-size:13px; }
.pf-c-items small, .pf-c-editlist small { color:#8a8580; font-family:'Space Mono',monospace; font-size:11px; }
.pf-c-rank { font-family:'Bebas Neue',sans-serif; font-size:28px; color:#c8341a; width:30px; text-align:right; flex:none; }
.pf-c-tag { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#c8341a; border:1px solid #c8341a; border-radius:999px; padding:1px 6px; margin-left:6px; vertical-align:2px; }
.pf-c-film { color:#f2ede4; text-decoration:none; }

.pf-c-listhead { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:14px 24px; margin-bottom:18px; }
.pf-c-listhead h2 { font-family:'Bebas Neue',sans-serif; font-size:44px; margin:0; color:#f2ede4; font-weight:400; }
.pf-c-new { display:flex; gap:8px; flex:1 1 320px; max-width:520px; }
.pf-c-editbody { padding:0 16px 18px; display:grid; gap:12px; }
.pf-c-editbody .field span { display:block; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#8a8580; margin-bottom:6px; }
.pf-c-editlist { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.pf-c-editlist li { border:1px solid #23201d; border-radius:4px; padding:8px 10px; }
.pf-c-grow { flex:1; min-width:0; display:grid; gap:6px; }
.pf-c-grow input { padding:8px 10px !important; font-size:13px !important; }
.pf-c-moves { display:flex; gap:4px; }
.pf-c-moves button { width:34px; height:34px; border-radius:50%; border:1px solid #3a3632; background:none; color:#f2ede4; cursor:pointer; font-size:14px; }
.pf-c-moves button:disabled { opacity:.3; cursor:default; }
.pf-c-moves button:hover:not(:disabled) { border-color:#c8341a; color:#c8341a; }
.pf-c-results { display:grid; gap:6px; margin-top:8px; }
.pf-c-results button { display:flex; gap:12px; align-items:center; text-align:left; background:#141210; border:1px solid #23201d; border-radius:4px; padding:6px 10px; color:#f2ede4; cursor:pointer; }
.pf-c-results button:hover { border-color:#c8341a; }
.pf-c-results small { display:block; color:#8a8580; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.08em; }

.pf-c-month { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin:0 0 24px; padding:16px 18px; border:1px dashed #3a3632; border-radius:6px; }
.pf-c-month > div { flex:1 1 240px; }
.pf-c-month .pf-kicker { margin:0 0 4px; }
.pf-c-month .pf-note { margin:0; }
.pf-c-month select { background:#0f0e0d; color:#f2ede4; border:1px solid #2e2b27; border-radius:999px; padding:10px 14px; font:13px 'Space Mono',monospace; }

.pf-writer-follow { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:14px 0 6px; }
.pf-writer-follow .pf-note { margin:0; }
@media (max-width:600px) {
  .pf-c-list > summary { align-items:flex-start; }
  .pf-c-strip .pf-c-thumb:nth-child(n+4) { display:none; }
  .pf-c-new { flex-direction:column; }
}

/* Badge guide and "Badges to earn" */
.pf-c-guide { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.pf-c-goal { display:grid; gap:10px; align-content:start; }
.pf-c-goal > p, .pf-c-goal div > p { margin:0; font-size:13px; line-height:1.55; color:#cfc8bb; }
.pf-c-goal a { color:#f2ede4; }
.pf-c-goal .pf-c-how { color:#8a8580; font-size:12px; margin-top:4px; }
.pf-c-goal.closed { opacity:.6; }
.pf-c-goals .ticket.locked { opacity:.55; }
.pf-c-bar { height:6px; border-radius:999px; background:#23201d; overflow:hidden; margin:2px 0 6px; }
.pf-c-bar i { display:block; height:100%; background:#c8341a; border-radius:999px; }
.pf-c-frac { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; letter-spacing:.08em; }
.pf-c-more { margin:16px 0 0; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.06em; }
.pf-c-more a { color:#f2ede4; }
.pf-badge-guide h1 b { color:#c8341a; }
.pf-badge-guide .pf-c-row { margin:8px 0 8px; }
.pf-badge-guide h1 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(72px,13vw,150px); line-height:.86; letter-spacing:.005em; margin:6px 0 14px; }
.pf-badge-guide h2 { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:clamp(40px,6vw,64px); line-height:.9; margin:4px 0 16px; }
.pf-c-guide .ticket { min-height:88px; }

/* Profile: spine shelf, taste card, recent activity */
.pf-c-shelfhead { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; }
.pf-c-shelfhead h2 { margin:0; }
.pf-c-shelf { display:flex; align-items:flex-end; gap:4px; padding:18px 4px 0; overflow-x:auto; border-bottom:6px solid #2a2622; scrollbar-width:thin; }
.pf-c-spine { flex:none; width:46px; height:230px; border-radius:2px 2px 0 0; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:10px 0 8px; text-decoration:none; box-shadow:inset -3px 0 0 rgba(0,0,0,.18), inset 2px 0 0 rgba(255,255,255,.08); transition:transform .25s ease; }
.pf-c-spine:nth-child(3n) { height:212px; width:42px; }
.pf-c-spine:nth-child(4n+1) { height:244px; }
.pf-c-spine:hover, .pf-c-spine:focus-visible { transform:translateY(-10px); }
.pf-c-spine .t { writing-mode:vertical-rl; transform:rotate(180deg); font-family:'Bebas Neue',sans-serif; font-size:21px; letter-spacing:.04em; white-space:nowrap; overflow:hidden; max-height:150px; }
.pf-c-spine .n { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.06em; opacity:.85; }
.pf-c-spine .s { font-size:8px; letter-spacing:-.5px; writing-mode:vertical-rl; opacity:.9; }
.pf-c-spine.empty { background:transparent; border:1px dashed #3a3632; color:#5a554e; box-shadow:none; }
.pf-c-shelfblock .pf-c-bar { margin-top:12px; }
.pf-c-taste { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1px; background:#23201d; border:1px solid #23201d; border-radius:6px; overflow:hidden; }
.pf-c-tone, .pf-c-tcell { background:#0f0e0d; padding:16px 18px; display:grid; gap:4px; align-content:start; }
.pf-c-tone { grid-column:1 / -1; }
.pf-c-taste .pf-kicker { margin:0; }
.pf-c-tone b { font-family:'DM Serif Display',Georgia,serif; font-style:italic; font-weight:400; font-size:36px; color:#c8341a; line-height:1.05; }
.pf-c-tcell b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:34px; line-height:1; color:#f2ede4; overflow-wrap:anywhere; }
.pf-c-tcell b i { font-style:normal; font-size:18px; color:#8a8580; }
.pf-c-taste small { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; letter-spacing:.04em; }
.pf-c-activity { list-style:none; margin:0; padding:0; display:grid; }
.pf-c-activity li { display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:baseline; padding:12px 0; border-bottom:1px solid #1d1b19; }
.pf-c-activity p { margin:0; color:#e8e2d6; font-size:14px; line-height:1.5; }
.pf-c-activity a { color:#f2ede4; }
.pf-c-activity .q { display:block; font-family:'DM Serif Display',Georgia,serif; font-style:italic; color:#cfc8bb; font-size:16px; margin-top:4px; }
.pf-c-kind { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:#c8341a; }
.pf-c-activity time { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; white-space:nowrap; }
@media (max-width:640px) {
  .pf-c-taste { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pf-c-activity li { grid-template-columns:1fr auto; }
  .pf-c-kind { grid-column:1 / -1; }
  .pf-c-spine { width:40px; height:200px; }
}
@media (min-width:641px) { .pf-c-taste { grid-template-columns:repeat(6, minmax(0,1fr)); } .pf-c-tcell { grid-column:span 2; } .pf-c-tcell:nth-last-child(-n+3) { grid-column:span 2; } }

/* Comments */
.pf-comments { padding:56px 0 24px; margin-top:48px; border-top:1px solid #1d1b19; }
.pf-comments .pf-c-wrap { max-width:none; }
.pf-c-num { font-family:'Space Mono',monospace; font-size:.32em; vertical-align:.9em; color:#8a8580; letter-spacing:.08em; }
.pf-c-compose { display:grid; gap:10px; margin:0 0 22px; }
.pf-c-compose textarea { width:100%; box-sizing:border-box; background:#0f0e0d; color:#f2ede4; border:1px solid #2e2b27; border-radius:4px; padding:12px 14px; font:16px/1.5 'DM Serif Display',Georgia,serif; resize:vertical; }
.pf-c-compose textarea:focus { outline:none; border-color:#c8341a; }
.pf-c-compose.reply { margin:10px 0 6px 28px; }
.pf-c-join { margin:0 0 22px; }
.pf-c-join a { color:#f2ede4; }
.pf-c-thread { border-top:1px solid #1d1b19; padding:14px 0; }
.pf-c-comment header { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-bottom:6px; }
.pf-c-comment header .name, .pf-c-comment header b { color:#f2ede4; text-decoration:none; font-family:'Space Mono',monospace; font-size:13px; }
.pf-c-comment time { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; }
.pf-c-comment > p { margin:0; font-family:'DM Serif Display',Georgia,serif; font-size:18px; line-height:1.5; color:#e8e2d6; overflow-wrap:anywhere; }
.pf-c-comment.reply { margin:12px 0 0 28px; padding-left:16px; border-left:2px solid #2a2622; }
.pf-c-comment.gone > p { font-family:'Space Mono',monospace; font-size:12px; color:#5a554e; font-style:italic; }
.pf-c-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin-top:8px; }
.pf-c-actions button { background:none; border:0; padding:4px 0; color:#8a8580; font:11px 'Space Mono',monospace; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.pf-c-actions button:hover { color:#f2ede4; }
.pf-c-actions .pf-c-heart.on, .pf-c-liked { color:#c8341a; }
.pf-c-actions .pf-c-mod { color:#a0533f; }
.pf-c-liked { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; border:1px solid rgba(200,52,26,.5); border-radius:999px; padding:2px 8px; }
.pf-c-flash { margin:0; font-size:11px; }
.pf-c-target { background:rgba(200,52,26,.08); outline:1px solid rgba(200,52,26,.4); outline-offset:6px; }

/* Writer page: account link + email alerts; profile: their writing */
.pf-writer-follow { display:grid; gap:10px; margin:18px 0 6px; }
.pf-c-wrow { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.pf-c-wrow .pf-kicker { margin:0; }
.pf-c-wrow .name { color:#f2ede4; text-decoration:none; font-family:'Space Mono',monospace; font-size:14px; }
.pf-c-wrow .pf-note { margin:0; }
.pf-c-wlink { font-family:'Space Mono',monospace; font-size:12px; color:#cfc8bb; letter-spacing:.04em; }
.pf-c-wlink:hover { color:#f2ede4; }
.pf-c-bell { display:inline-flex; align-items:center; gap:8px; }
.pf-c-bell svg { width:16px; height:16px; }
.pf-c-bell.on { border-color:#c8341a; color:#c8341a; }
.pf-c-profile ~ .pf-c-writing, .pf-c-writing { margin-top:40px; }
.pf-c-pieces { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:16px; margin-top:16px; }
.pf-c-piece { display:grid; grid-template-rows:auto 1fr; background:#0f0e0d; border:1px solid #23201d; border-radius:6px; overflow:hidden; text-decoration:none; color:#e8e2d6; transition:border-color .2s; }
.pf-c-piece:hover { border-color:#c8341a; }
.pf-c-pimg { display:block; aspect-ratio:16/9; background:#1d1b19; overflow:hidden; }
.pf-c-pimg img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:filter .5s; }
.pf-c-piece:hover .pf-c-pimg img { filter:none; }
.pf-c-pmeta { display:grid; gap:6px; padding:12px 14px 16px; }
.pf-c-pmeta .pf-kicker { margin:0; }
.pf-c-pmeta b { font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:24px; line-height:1; color:#f2ede4; }
.pf-c-pmeta small { font-size:12px; line-height:1.5; color:#8a8580; }

/* Notifications bell */
.pf-bellwrap { position:relative; display:inline-flex; }
.pf-bellbtn { position:relative; width:40px; height:40px; border-radius:50%; border:1px solid rgba(242,237,228,.28); background:transparent; color:#f2ede4; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; margin-right:6px; }
.pf-bellbtn:hover, .pf-bellbtn[aria-expanded="true"] { border-color:#c8341a; }
.pf-bellbtn svg { width:18px; height:18px; }
.pf-bellcount { position:absolute; top:-4px; right:-2px; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#c8341a; color:#f2ede4; font:700 10px/18px 'Space Mono',monospace; text-align:center; }
.pf-bellpanel { position:absolute; top:calc(100% + 10px); right:0; width:min(380px, calc(100vw - 24px)); max-height:min(520px, 70vh); overflow:auto; background:#0f0e0d; border:1px solid #2a2622; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.6); z-index:1000; }
.pf-bellhead { padding:14px 16px; border-bottom:1px solid #1d1b19; font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:.02em; color:#f2ede4; }
.pf-bellhead b { font-weight:400; }
.pf-belllist ul { list-style:none; margin:0; padding:0; }
.pf-belllist li { display:grid; grid-template-columns:1fr auto; gap:4px 10px; padding:12px 16px; border-bottom:1px solid #1d1b19; }
.pf-belllist li.new { background:rgba(200,52,26,.07); box-shadow:inset 2px 0 0 #c8341a; }
.pf-belllist .pf-c-kind { grid-column:1 / -1; }
.pf-belllist p { margin:0; font-size:13px; line-height:1.5; color:#e8e2d6; }
.pf-belllist a { color:#f2ede4; }
.pf-belllist time { font-family:'Space Mono',monospace; font-size:10px; color:#8a8580; white-space:nowrap; }
.pf-belllist .pf-follow { grid-column:1 / -1; justify-self:start; padding:6px 14px; font-size:10px; }
.pf-belllist > .pf-note { padding:16px; margin:0; }
@media (max-width:640px) { .pf-bellbtn { width:36px; height:36px; margin-right:2px; } .pf-bellpanel { position:fixed; top:70px; right:12px; } }
.pf-solid.pf-follow[aria-pressed="true"] { background:transparent; border-color:var(--red); color:var(--red); }

/* Profile progress bar (Your 50%) */
.pf-c-progress { margin:0 0 24px; padding:16px 18px; border:1px solid #23201d; border-radius:6px; background:#0f0e0d; }
.pf-c-phead { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.pf-c-phead .pf-kicker { margin:0; }
.pf-c-phead b { font-family:'DM Serif Display',Georgia,serif; font-size:30px; line-height:1; color:#f2ede4; font-weight:400; }
.pf-c-phead b i { font-style:normal; color:#c8341a; }
.pf-c-phead .pf-note { margin:0 0 0 auto; }
.pf-c-bar { height:6px; border-radius:3px; background:#23201d; margin:12px 0 14px; overflow:hidden; }
.pf-c-bar i { display:block; height:100%; background:#c8341a; border-radius:3px; transition:width .6s ease; }
.pf-c-next { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pf-c-next .pf-kicker { margin:0 4px 0 0; }
.pf-c-next .pf-pill { text-decoration:none; }

/* @mentions */
#pfComments { position:relative; }
.pf-c-mention { color:#c8341a; text-decoration:none; font-family:'Space Mono',monospace; font-size:.8em; }
.pf-c-mention:hover { text-decoration:underline; }
.pf-c-mentionpop { position:absolute; z-index:30; min-width:220px; max-width:calc(100% - 16px); background:#141210; border:1px solid #3a3632; border-radius:6px; padding:4px; box-shadow:0 10px 30px rgba(0,0,0,.5); }
.pf-c-mentionpop button { display:block; width:100%; text-align:left; background:none; border:0; border-radius:4px; padding:8px 10px; color:#f2ede4; font:inherit; cursor:pointer; }
.pf-c-mentionpop button b { font-weight:400; font-family:'DM Serif Display',Georgia,serif; font-size:16px; }
.pf-c-mentionpop button span { font-family:'Space Mono',monospace; font-size:11px; color:#8a8580; }
.pf-c-mentionpop button[aria-selected="true"], .pf-c-mentionpop button:hover { background:#23201d; }

.pf-spam { display:block; margin-top:14px; padding:12px 14px; border:1px dashed rgba(240,236,228,.25); border-radius:6px; font-size:12.5px; line-height:1.6; color:rgba(240,236,228,.78); }
.pf-spam b { color:#f2ede4; font-weight:600; }
.pf-agree a { color:#f2ede4; text-decoration:underline; text-underline-offset:3px; }
.pf-agree a:hover { color:#c8341a; }
@keyframes pf-shake { 0%,100% { transform:none; } 20%,60% { transform:translateX(-5px); } 40%,80% { transform:translateX(5px); } }
.pf-shake { animation:pf-shake .35s ease; }
.pf-shake input { outline:2px solid #c8341a; outline-offset:2px; }
.pf-agree-top { margin:0 0 16px; }
.pf-comments.pf-film-comments { padding:40px 20px 56px; margin-top:0; }
.pf-film-comments .pf-c-wrap { max-width:760px; margin:0 auto; }

/* Minimise the film page rating bar (signed in) */
.pf-dock-min { flex:none; width:36px; height:36px; border-radius:50%; border:1px solid rgba(240,236,228,.25); background:transparent; color:var(--white); display:inline-flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; padding:0; }
.pf-dock-min svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pf-dock-min:hover, .pf-dock-min:focus-visible { border-color:var(--red); color:var(--red); outline:none; }
.pf-film.pf-film-min { left:auto; right:12px; padding:6px; border-radius:999px; gap:0; }
.pf-film.pf-film-min .pf-dock-min { width:auto; height:36px; padding:0 14px 0 16px; border:0; border-radius:999px; }
.pf-dock-mini { font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
@media (max-width:768px){
  body.film-frames.pf-dock-on.pf-dock-small .classic-film { padding-top:calc(var(--ticker-h, 38px) + 120px); }
}
