/* Evidence-first official homepage modules — 2026-08-24 */
:root{
  --evidence-bg:#08110f;
  --evidence-panel:#0d1916;
  --evidence-panel-soft:#13211d;
  --evidence-ink:#f0ece2;
  --evidence-muted:#aab7b0;
  --evidence-line:rgba(221,194,143,.18);
  --evidence-gold:#d8b473;
  --evidence-rose:#c98376;
  --evidence-jade:#7fa397;
  --evidence-blue:#8aa5af;
}

#case-progress,
#reading-map,
#responsibility-map,
#full-copy,
#film-reel,
#source-guide,
#materials-guide,
#glossary,
#production-boundaries,
#original-scores,
#version-history{
  scroll-margin-top:6rem;
}

.case-dashboard{
  padding-top:clamp(5.5rem,10vw,9rem);
  padding-bottom:clamp(5rem,9vw,8rem);
}
.case-dashboard-heading{
  margin-bottom:clamp(2rem,5vw,4rem);
}
.case-check{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1rem;
  margin-top:1.2rem;
}
.case-check span,
.case-check time{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.45rem .8rem;
  border:1px solid rgba(216,180,115,.26);
  border-radius:999px;
  color:#e8d4ad;
  background:rgba(216,180,115,.07);
  font:700 .72rem/1.25 var(--sans,system-ui,sans-serif);
  letter-spacing:.06em;
}
.case-check a,
.case-dashboard-note a{
  color:#e6c58b;
  text-underline-offset:.22em;
}

.judicial-tracks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.8rem,1.6vw,1.35rem);
}
.judicial-track{
  position:relative;
  overflow:hidden;
  min-height:25rem;
  padding:clamp(1.2rem,2.4vw,2rem);
  border:1px solid var(--evidence-line);
  border-radius:1.5rem;
  background:
    linear-gradient(150deg,rgba(255,255,255,.035),transparent 43%),
    linear-gradient(180deg,rgba(16,31,27,.96),rgba(8,18,16,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.judicial-track::after{
  content:"";
  position:absolute;
  inset:auto -18% -31% 38%;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.05);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(255,255,255,.012),0 0 0 58px rgba(255,255,255,.008);
  pointer-events:none;
}
.judicial-track>header{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1.35rem;
}
.judicial-track>header>span{
  display:grid;
  flex:0 0 3.1rem;
  place-items:center;
  width:3.1rem;
  height:3.1rem;
  border:1px solid currentColor;
  border-radius:50%;
  color:var(--track-color,var(--evidence-gold));
  font:700 1rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.judicial-track small{
  color:var(--evidence-muted);
  font:700 .68rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.09em;
}
.judicial-track h3{
  margin:.18rem 0 0;
  color:var(--evidence-ink);
  font:600 clamp(1.35rem,2vw,1.85rem)/1.25 var(--serif,serif);
}
.judicial-track>p{
  position:relative;
  z-index:1;
  min-height:8.8rem;
  margin:0 0 1.35rem;
  color:rgba(240,236,226,.76);
  font:clamp(.91rem,1.1vw,1rem)/1.85 var(--serif,serif);
}
.judicial-track dl{
  position:relative;
  z-index:1;
  display:grid;
  gap:.1rem;
  margin:0 0 1.3rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.judicial-track dl div{
  display:grid;
  grid-template-columns:5.5rem 1fr;
  gap:.75rem;
  padding:.7rem 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.judicial-track dt{
  color:var(--evidence-muted);
  font:700 .68rem/1.45 var(--sans,system-ui,sans-serif);
  letter-spacing:.06em;
}
.judicial-track dd{
  margin:0;
  color:#e9e0cf;
  font:600 .78rem/1.45 var(--sans,system-ui,sans-serif);
}
.judicial-track>a{
  position:relative;
  z-index:1;
  display:inline-flex;
  color:var(--track-color,var(--evidence-gold));
  font:700 .75rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.04em;
  text-underline-offset:.25em;
}
.track-a{--track-color:var(--evidence-rose)}
.track-b{--track-color:var(--evidence-gold)}
.track-c{--track-color:var(--evidence-jade)}

.timeline-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(18rem,.75fr);
  gap:2rem;
  align-items:end;
  margin:clamp(5rem,9vw,8rem) 0 2.5rem;
}
.timeline-heading h3{
  margin:.35rem 0 0;
  color:var(--evidence-ink);
  font:600 clamp(1.9rem,4.2vw,3.5rem)/1.18 var(--serif,serif);
}
.timeline-heading>p{
  margin:0;
  color:var(--evidence-muted);
  font:clamp(.9rem,1.2vw,1.02rem)/1.85 var(--serif,serif);
}
.case-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.case-timeline::before{
  content:"";
  position:absolute;
  top:3.05rem;
  right:7%;
  left:7%;
  height:1px;
  background:linear-gradient(90deg,rgba(201,131,118,.62),rgba(216,180,115,.62),rgba(127,163,151,.64));
}
.case-timeline li{
  position:relative;
  display:grid;
  grid-template-rows:2rem 2rem auto;
  min-width:0;
  padding:0 clamp(.55rem,1.3vw,1rem);
}
.case-timeline time{
  color:#e5c993;
  font:700 clamp(.67rem,.85vw,.78rem)/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.06em;
  text-align:center;
}
.timeline-marker{
  position:relative;
  z-index:1;
  display:block;
  width:.82rem;
  height:.82rem;
  margin:.55rem auto 0;
  border:2px solid #0b1613;
  border-radius:50%;
  background:var(--evidence-gold);
  box-shadow:0 0 0 1px rgba(216,180,115,.6),0 0 0 7px rgba(216,180,115,.07);
}
.case-timeline li>div{
  min-height:17.5rem;
  margin-top:1.1rem;
  padding:1.15rem 1rem;
  border:1px solid rgba(255,255,255,.075);
  border-radius:1rem;
  background:rgba(255,255,255,.025);
}
.case-timeline small{
  color:var(--evidence-muted);
  font:700 .63rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.case-timeline h4{
  margin:.35rem 0 .7rem;
  color:var(--evidence-ink);
  font:600 clamp(1.02rem,1.35vw,1.25rem)/1.35 var(--serif,serif);
}
.case-timeline p{
  margin:0 0 .9rem;
  color:rgba(240,236,226,.72);
  font:.85rem/1.7 var(--serif,serif);
}
.case-timeline em{
  display:block;
  color:#b7c9c2;
  font:normal 700 .68rem/1.65 var(--sans,system-ui,sans-serif);
}
.case-dashboard-note{
  max-width:74rem;
  margin:2rem auto 0;
  padding:1rem 1.2rem;
  border-left:2px solid rgba(216,180,115,.55);
  color:var(--evidence-muted);
  background:linear-gradient(90deg,rgba(216,180,115,.055),transparent);
  font:.78rem/1.7 var(--sans,system-ui,sans-serif);
}

.responsibility-map{
  padding-top:clamp(5rem,9vw,8rem);
  padding-bottom:clamp(5rem,9vw,8rem);
}
.responsibility-heading{
  margin-bottom:clamp(2rem,5vw,4rem);
}
.six-door-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.8rem,1.5vw,1.25rem);
}
.six-door-flow article{
  position:relative;
  overflow:hidden;
  min-height:20rem;
  padding:clamp(1.25rem,2.2vw,1.9rem);
  border:1px solid rgba(216,180,115,.16);
  border-radius:1.25rem 1.25rem .3rem .3rem;
  background:
    linear-gradient(180deg,rgba(127,163,151,.075),transparent 46%),
    #0c1714;
}
.six-door-flow article::before{
  content:"";
  position:absolute;
  inset:.65rem .65rem 0;
  border:1px solid rgba(216,180,115,.1);
  border-bottom:0;
  border-radius:.8rem .8rem 0 0;
  pointer-events:none;
}
.six-door-flow article::after{
  content:"";
  position:absolute;
  right:.9rem;
  bottom:1rem;
  width:.36rem;
  height:.36rem;
  border-radius:50%;
  background:var(--evidence-gold);
  box-shadow:0 0 0 4px rgba(216,180,115,.08);
}
.door-number{
  position:relative;
  z-index:1;
  display:inline-block;
  color:var(--evidence-gold);
  font:700 .7rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.12em;
}
.six-door-flow h3{
  position:relative;
  z-index:1;
  margin:2.4rem 0 .75rem;
  color:var(--evidence-ink);
  font:600 clamp(1.35rem,2.1vw,1.8rem)/1.25 var(--serif,serif);
}
.six-door-flow p{
  position:relative;
  z-index:1;
  min-height:4.8rem;
  margin:0 0 1.2rem;
  color:rgba(240,236,226,.69);
  font:.9rem/1.75 var(--serif,serif);
}
.six-door-flow dl{
  position:relative;
  z-index:1;
  margin:0;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.075);
}
.six-door-flow dt{
  margin-bottom:.35rem;
  color:var(--evidence-jade);
  font:700 .66rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.six-door-flow dd{
  margin:0;
  color:#ced8d3;
  font:.76rem/1.65 var(--sans,system-ui,sans-serif);
}
.responsibility-note{
  max-width:62rem;
  margin:2rem auto 0;
  padding:1.25rem 1.45rem;
  border:1px solid rgba(127,163,151,.2);
  border-radius:1rem;
  color:#bdc9c4;
  background:rgba(127,163,151,.055);
  font:.82rem/1.75 var(--sans,system-ui,sans-serif);
}
.responsibility-note strong{
  color:#e8deca;
}

.production-boundaries{
  position:relative;
  overflow:hidden;
  padding:clamp(5.5rem,10vw,9rem) 0;
  border-block:1px solid rgba(216,180,115,.12);
  background:
    radial-gradient(circle at 86% 18%,rgba(201,131,118,.09),transparent 30%),
    radial-gradient(circle at 12% 86%,rgba(127,163,151,.1),transparent 34%),
    linear-gradient(160deg,#081210,#111d19 52%,#08110f);
}
.production-boundaries::after{
  content:"SOURCE ≠ STORY";
  position:absolute;
  right:-1rem;
  bottom:-.14em;
  color:rgba(255,255,255,.025);
  font:700 clamp(4rem,13vw,11rem)/.8 var(--serif,serif);
  letter-spacing:-.06em;
  pointer-events:none;
}
.production-boundaries-inner{
  position:relative;
  z-index:1;
}
.boundary-alerts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin:2rem 0;
}
.boundary-alerts span{
  display:grid;
  min-height:4.6rem;
  place-items:center;
  border:1px solid rgba(201,131,118,.25);
  border-radius:999px;
  color:#ecc8bf;
  background:rgba(201,131,118,.055);
  font:700 clamp(.8rem,1.25vw,1rem)/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.1em;
}
.ethics-accordion{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.ethics-accordion details{
  border:1px solid rgba(255,255,255,.09);
  border-radius:1.1rem;
  background:rgba(255,255,255,.025);
  overflow:hidden;
}
.ethics-accordion summary{
  display:grid;
  grid-template-columns:2.5rem 1fr auto;
  gap:.9rem;
  align-items:center;
  min-height:5.5rem;
  padding:1rem 1.1rem;
  color:var(--evidence-ink);
  cursor:pointer;
  list-style:none;
}
.ethics-accordion summary::-webkit-details-marker{
  display:none;
}
.ethics-accordion summary>span{
  color:var(--evidence-gold);
  font:700 .68rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.ethics-accordion summary>div{
  display:grid;
  gap:.2rem;
}
.ethics-accordion summary strong{
  font:600 1rem/1.35 var(--serif,serif);
}
.ethics-accordion summary small{
  color:var(--evidence-muted);
  font:.68rem/1.45 var(--sans,system-ui,sans-serif);
}
.ethics-accordion summary::after{
  content:"＋";
  color:var(--evidence-gold);
  font:300 1.4rem/1 var(--sans,system-ui,sans-serif);
}
.ethics-accordion details[open] summary::after{
  content:"−";
}
.ethics-accordion details>p{
  margin:0;
  padding:0 1.15rem 1.25rem 4.5rem;
  color:#bec9c4;
  font:.84rem/1.8 var(--sans,system-ui,sans-serif);
}

.version-history{
  padding-top:clamp(5rem,9vw,8rem);
  padding-bottom:clamp(5rem,9vw,8rem);
}
.version-list{
  display:grid;
  gap:0;
  margin:clamp(2rem,4vw,3rem) 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--evidence-line);
}
.version-list li{
  display:grid;
  grid-template-columns:8.5rem 4.8rem minmax(0,1fr);
  gap:clamp(1rem,3vw,2.5rem);
  align-items:start;
  padding:clamp(1.3rem,2.7vw,2.1rem) 0;
  border-bottom:1px solid var(--evidence-line);
}
.version-list time{
  color:#d8c299;
  font:700 .76rem/1.45 var(--sans,system-ui,sans-serif);
  letter-spacing:.06em;
}
.version-type{
  display:inline-grid;
  place-items:center;
  min-height:1.85rem;
  padding:.35rem .6rem;
  border:1px solid rgba(127,163,151,.24);
  border-radius:999px;
  color:#a9c5bc;
  background:rgba(127,163,151,.06);
  font:700 .64rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.version-list h3{
  margin:0 0 .45rem;
  color:var(--evidence-ink);
  font:600 clamp(1.15rem,1.8vw,1.45rem)/1.35 var(--serif,serif);
}
.version-list p{
  margin:0 0 .7rem;
  color:var(--evidence-muted);
  font:.86rem/1.75 var(--sans,system-ui,sans-serif);
}
.version-list a{
  color:#e3c183;
  font:700 .72rem/1.3 var(--sans,system-ui,sans-serif);
  text-underline-offset:.25em;
}

.score-library-details{
  margin-top:1.25rem;
  border:1px solid rgba(216,180,115,.17);
  border-radius:1.25rem;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.score-library-details>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  min-height:4.8rem;
  padding:1rem 1.35rem;
  color:#eadfc8;
  cursor:pointer;
  list-style:none;
}
.score-library-details>summary::-webkit-details-marker{
  display:none;
}
.score-library-details>summary span{
  font:600 1rem/1.35 var(--serif,serif);
}
.score-library-details>summary small{
  color:var(--evidence-muted);
  font:.7rem/1.5 var(--sans,system-ui,sans-serif);
  text-align:right;
}
.score-library-details>summary::after{
  content:"＋";
  grid-column:3;
  color:var(--evidence-gold);
  font:300 1.4rem/1 var(--sans,system-ui,sans-serif);
}
.score-library-details[open]>summary{
  border-bottom:1px solid rgba(216,180,115,.13);
}
.score-library-details[open]>summary::after{
  content:"−";
}
.score-library-details .score-player-card{
  margin:1rem;
}

/* Editorial homepage v3: compact film overview and maintainable evidence tools. */
.film-reel .reel-stage{
  display:none!important;
}
.film-reel .film-act-grid{
  margin-top:clamp(1.8rem,4vw,3.25rem);
}

.materials-guide,
.glossary{
  padding-top:clamp(5rem,9vw,8rem);
  padding-bottom:clamp(5rem,9vw,8rem);
}
.materials-guide{
  border-bottom:1px solid rgba(216,180,115,.1);
}
.source-label-key{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.65rem;
  margin:2rem 0 1rem;
  padding:0;
  list-style:none;
}
.source-label-key li{
  min-width:0;
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-top:2px solid var(--source-color,var(--evidence-gold));
  border-radius:.9rem;
  background:rgba(255,255,255,.022);
}
.source-label-key li[data-source="court"]{--source-color:#d8b473}
.source-label-key li[data-source="report"]{--source-color:#8aa5af}
.source-label-key li[data-source="notes"]{--source-color:#c98376}
.source-label-key li[data-source="letter"]{--source-color:#a88fbd}
.source-label-key li[data-source="reconstruction"]{--source-color:#7fa397}
.source-label-key strong,
.source-label-key span{
  display:block;
}
.source-label-key strong{
  color:var(--evidence-ink);
  font:700 .78rem/1.35 var(--sans,system-ui,sans-serif);
}
.source-label-key span{
  margin-top:.35rem;
  color:var(--evidence-muted);
  font:.68rem/1.55 var(--sans,system-ui,sans-serif);
}
.materials-accordion{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:1rem;
}
.materials-accordion details{
  min-width:0;
  border:1px solid rgba(216,180,115,.14);
  border-radius:1.1rem;
  background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.012));
  overflow:hidden;
}
.materials-accordion summary{
  display:grid;
  grid-template-columns:2.4rem minmax(0,1fr) auto;
  gap:.8rem;
  align-items:center;
  min-height:5.4rem;
  padding:1rem 1.1rem;
  color:var(--evidence-ink);
  cursor:pointer;
  list-style:none;
}
.materials-accordion summary::-webkit-details-marker{
  display:none;
}
.materials-accordion summary>span{
  display:grid;
  place-items:center;
  width:2.25rem;
  height:2.25rem;
  border:1px solid rgba(216,180,115,.3);
  border-radius:50%;
  color:var(--evidence-gold);
  font:700 .65rem/1 var(--sans,system-ui,sans-serif);
}
.materials-accordion summary>div{
  display:grid;
  gap:.2rem;
}
.materials-accordion summary strong{
  font:600 1rem/1.35 var(--serif,serif);
}
.materials-accordion summary small{
  color:var(--evidence-muted);
  font:.68rem/1.45 var(--sans,system-ui,sans-serif);
}
.materials-accordion summary::after{
  content:"＋";
  color:var(--evidence-gold);
  font:300 1.35rem/1 var(--sans,system-ui,sans-serif);
}
.materials-accordion details[open] summary{
  border-bottom:1px solid rgba(216,180,115,.11);
}
.materials-accordion details[open] summary::after{
  content:"−";
}
.material-body{
  display:grid;
  grid-template-columns:minmax(13rem,.85fr) minmax(0,1.15fr);
  gap:1rem;
  align-items:start;
  padding:1rem;
  color:#c2cdc7;
  font:.8rem/1.75 var(--sans,system-ui,sans-serif);
}
.material-body p{
  margin:0 0 .75rem;
}
.material-body a{
  color:#e5c587;
  text-underline-offset:.22em;
}
.material-links{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1rem;
}
.date-stamp-sample{
  display:grid;
  gap:.45rem;
  padding:1rem;
  border:1px dashed rgba(216,180,115,.36);
  color:#d8c49b;
  background:rgba(216,180,115,.035);
  text-transform:uppercase;
}
.date-stamp-sample b,
.date-stamp-sample small{
  font:700 .62rem/1.4 var(--sans,system-ui,sans-serif);
  letter-spacing:.1em;
}
.date-stamp-sample time{
  color:#f2e8d4;
  font:600 1.35rem/1 var(--serif,serif);
  letter-spacing:.08em;
}
.message-record{
  border:1px solid rgba(138,165,175,.2);
  border-radius:.8rem;
  background:#101c1a;
  overflow:hidden;
}
.message-record header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.4rem;
  padding:.7rem .8rem;
  color:#b9ced5;
  background:rgba(138,165,175,.08);
  font:700 .62rem/1.4 var(--sans,system-ui,sans-serif);
}
.message-record dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}
.message-record dl div{
  padding:.75rem;
  border-top:1px solid rgba(255,255,255,.06);
}
.message-record dt{
  color:#8da9b2;
  font:700 .6rem/1.3 var(--sans,system-ui,sans-serif);
}
.message-record dd{
  margin:.25rem 0 0;
  color:#d5ddd8;
  font:.7rem/1.55 var(--sans,system-ui,sans-serif);
}
.court-plan{
  display:grid;
  grid-template-columns:1fr .9fr 1fr;
  grid-template-areas:
    "bench bench bench"
    "prosecution center defense"
    "gallery gallery gallery";
  gap:.55rem;
  padding:.9rem;
  border:1px solid rgba(255,255,255,.09);
  border-radius:.75rem;
  background:#0b1513;
}
.court-plan span{
  display:grid;
  min-height:3rem;
  place-items:center;
  padding:.45rem;
  border:1px solid rgba(216,180,115,.14);
  color:#d8d9d2;
  background:rgba(255,255,255,.025);
  font:700 .63rem/1.4 var(--sans,system-ui,sans-serif);
  text-align:center;
}
.court-bench{grid-area:bench;color:#e6ca95!important}
.court-prosecution{grid-area:prosecution}
.court-center{grid-area:center;border-style:dashed!important}
.court-defense{grid-area:defense}
.court-gallery{grid-area:gallery;color:#9fb1aa!important}
.material-sound-body{
  grid-template-columns:1fr 1.25fr;
}
.sound-register{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.sound-register b,
.sound-register span{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.4rem .65rem;
  border:1px solid rgba(127,163,151,.17);
  border-radius:999px;
}
.sound-register b{
  color:#a7c9bc;
  background:rgba(127,163,151,.08);
}
.sound-register .sound-no{
  color:#e0ada4;
  border-color:rgba(201,131,118,.24);
  background:rgba(201,131,118,.07);
}

.glossary{
  border-bottom:1px solid rgba(127,163,151,.12);
}
.glossary-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin-top:2rem;
}
.glossary-item{
  border:1px solid rgba(127,163,151,.16);
  border-radius:1rem;
  background:rgba(127,163,151,.035);
  overflow:hidden;
}
.glossary-item summary{
  display:grid;
  grid-template-columns:2.25rem minmax(0,1fr) auto;
  gap:.75rem;
  align-items:center;
  min-height:4.8rem;
  padding:.9rem 1rem;
  color:var(--evidence-ink);
  cursor:pointer;
  list-style:none;
}
.glossary-item summary::-webkit-details-marker{
  display:none;
}
.glossary-number{
  color:var(--evidence-jade);
  font:700 .64rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.glossary-item summary strong{
  font:600 1.08rem/1.3 var(--serif,serif);
}
.glossary-item summary small{
  color:var(--evidence-muted);
  font:.65rem/1.35 var(--sans,system-ui,sans-serif);
}
.glossary-item summary::after{
  content:"＋";
  color:var(--evidence-jade);
  font:300 1.25rem/1 var(--sans,system-ui,sans-serif);
}
.glossary-item[open] summary::after{
  content:"−";
}
.glossary-body{
  padding:0 1rem 1rem 4rem;
  border-top:1px solid rgba(127,163,151,.1);
}
.glossary-body p{
  margin:.9rem 0 .6rem;
  color:#bdcac4;
  font:.8rem/1.75 var(--sans,system-ui,sans-serif);
}
.glossary-body a{
  color:#a9ccbf;
  font:700 .68rem/1.5 var(--sans,system-ui,sans-serif);
  text-underline-offset:.22em;
}
.data-loading{
  grid-column:1/-1;
  color:var(--evidence-muted);
  font:.8rem/1.7 var(--sans,system-ui,sans-serif);
}

.chapter-two-evidence-gate{
  margin:clamp(2.5rem,5vw,4rem) 0 1.5rem;
  padding:clamp(1.2rem,2.5vw,1.8rem);
  border:1px solid rgba(216,183,165,.2);
  border-radius:1.2rem;
  background:linear-gradient(145deg,rgba(216,183,165,.075),rgba(6,14,13,.45));
}
.chapter-two-evidence-gate header span{
  color:#d9af9a;
  font:700 .65rem/1.35 var(--sans,system-ui,sans-serif);
  letter-spacing:.1em;
}
.chapter-two-evidence-gate h3{
  margin:.45rem 0 .8rem;
  color:#f0e8d9;
  font:600 clamp(1.25rem,2.4vw,1.8rem)/1.35 var(--serif,serif);
}
.chapter-two-evidence-gate>p{
  margin:0 0 1rem;
  color:#c9c7bd;
  font:.85rem/1.8 var(--sans,system-ui,sans-serif);
}
.chapter-two-evidence-gate ol{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  margin:0 0 .9rem;
  padding:0;
  list-style:none;
}
.chapter-two-evidence-gate li{
  display:grid;
  gap:.3rem;
  padding:.85rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:.8rem;
  background:rgba(4,10,9,.34);
}
.chapter-two-evidence-gate li b{
  color:#c99984;
  font:700 .62rem/1 var(--sans,system-ui,sans-serif);
}
.chapter-two-evidence-gate li strong{
  color:#e9ded0;
  font:600 .85rem/1.4 var(--serif,serif);
}
.chapter-two-evidence-gate li span,
.chapter-two-evidence-gate>small{
  color:#aeb8b3;
  font:.68rem/1.55 var(--sans,system-ui,sans-serif);
}
.chapter-two-evidence-gate>small{
  display:block;
}

.visual-system-collapsed{
  padding:0;
  border-top:1px solid rgba(216,180,115,.12);
}
.visual-system-details>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:1rem;
  align-items:center;
  min-height:5.5rem;
  padding-top:1rem;
  padding-bottom:1rem;
  color:#e9dfcc;
  cursor:pointer;
  list-style:none;
}
.visual-system-details>summary::-webkit-details-marker{
  display:none;
}
.visual-system-details>summary span{
  display:grid;
  gap:.2rem;
}
.visual-system-details>summary b{
  color:var(--evidence-gold);
  font:700 .62rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.1em;
}
.visual-system-details>summary strong{
  font:600 1.05rem/1.35 var(--serif,serif);
}
.visual-system-details>summary small{
  color:var(--evidence-muted);
  font:.68rem/1.4 var(--sans,system-ui,sans-serif);
}
.visual-system-details>summary::after{
  content:"＋";
  color:var(--evidence-gold);
  font:300 1.35rem/1 var(--sans,system-ui,sans-serif);
}
.visual-system-details[open]>summary::after{
  content:"−";
}
.visual-system-details[open]>.visual-system-inner{
  border-top:1px solid rgba(216,180,115,.1);
}

.version-sources{
  margin-top:.65rem;
  color:#c7d1cc;
  font:.72rem/1.6 var(--sans,system-ui,sans-serif);
}
.version-sources summary{
  color:#e3c183;
  cursor:pointer;
}
.version-sources ul{
  margin:.45rem 0 0;
  padding-left:1.2rem;
}

.record-source-tags{
  display:flex!important;
  flex-wrap:wrap;
  gap:.4rem;
  margin:0!important;
  padding:.7rem 1rem 0!important;
  background:#f2eee4!important;
}
.record-source-tags span{
  display:inline-flex;
  align-items:center;
  min-height:1.75rem;
  padding:.3rem .6rem;
  border:1px solid rgba(64,77,70,.14);
  border-radius:999px;
  color:#4c6259;
  background:rgba(75,98,88,.055);
  font:700 .6rem/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.04em;
}
.record-source-tags span[data-source="report"],
.record-source-tags span[data-source="notes"]{color:#5b6f78;background:rgba(93,118,129,.07)}
.record-source-tags span[data-source="letter"],
.record-source-tags span[data-source="reconstruction"]{color:#855c55;background:rgba(157,96,85,.06)}

/* Eight documentary record cards, shared by the homepage and text reader. */
.record-card{
  position:relative;
  overflow:hidden;
  margin:1.25rem 0 2.25rem;
  border:1px solid rgba(86,91,82,.18);
  border-radius:1.1rem;
  color:#3f4641;
  background:#f2eee4;
  box-shadow:0 18px 44px rgba(59,47,36,.09);
}
.record-card>header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.5rem 1rem;
  align-items:center;
  padding:.85rem 1rem;
  color:#efe7d7;
  background:linear-gradient(90deg,#182822,#23352e);
}
.record-card>header span{
  color:#d9ba7d;
  font:700 .64rem/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.1em;
}
.record-card>header strong{
  color:#efe7d7!important;
  background:none!important;
  font:600 .82rem/1.35 var(--serif,serif);
}
.record-card dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
.record-card dl div{
  min-width:0;
  padding:1rem;
  border-right:1px solid rgba(70,80,73,.1);
  border-bottom:1px solid rgba(70,80,73,.1);
}
.record-card dl div:nth-child(3n){
  border-right:0;
}
.record-card dl div:nth-last-child(-n+3){
  border-bottom:0;
}
.record-card dt{
  margin-bottom:.4rem;
  color:#8d6c40;
  font:700 .63rem/1.35 var(--sans,system-ui,sans-serif);
  letter-spacing:.06em;
}
.record-card dd{
  margin:0;
  color:#424a45;
  font:600 .75rem/1.55 var(--sans,system-ui,sans-serif);
  overflow-wrap:anywhere;
}
.inline-story .record-card{
  width:min(100%,54rem);
}
.story-content .record-card{
  width:min(100%,64rem);
}

/* Chapter-end documentary empty shot: CSS-built reconstruction, no case image. */
.documentary-empty-shot{
  position:relative;
  overflow:hidden;
  margin:clamp(3.5rem,8vw,6rem) 0;
  border:1px solid rgba(225,216,195,.14);
  border-radius:1.4rem;
  color:#ece5d7;
  background:#080c0d;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.empty-shot-stage{
  position:relative;
  min-height:clamp(22rem,46vw,34rem);
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(4,7,8,.95),rgba(12,18,19,.56) 42%,rgba(4,7,8,.88)),
    linear-gradient(180deg,#20292a 0 18%,#12191a 18% 71%,#070a0b 71%);
}
.empty-shot-stage::before{
  content:"";
  position:absolute;
  inset:18% 9% 29%;
  border:1px solid rgba(201,205,198,.08);
  background:
    repeating-linear-gradient(90deg,transparent 0 24.5%,rgba(229,230,222,.035) 25% 25.3%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent);
}
.empty-shot-stage::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:29%;
  background:
    linear-gradient(90deg,transparent,rgba(186,207,208,.055),transparent),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 18%);
  transform:perspective(18rem) rotateX(54deg);
  transform-origin:bottom;
}
.empty-shot-light{
  position:absolute;
  z-index:1;
  top:-14%;
  left:52%;
  width:38%;
  height:82%;
  transform:translateX(-50%) skewX(-8deg);
  background:linear-gradient(180deg,rgba(211,232,232,.18),rgba(179,209,210,.02));
  filter:blur(8px);
}
.empty-shot-chair{
  position:absolute;
  z-index:3;
  left:27%;
  bottom:21%;
  width:14%;
  height:35%;
  border:clamp(5px,.7vw,9px) solid #252c2d;
  border-radius:.4rem .4rem 0 0;
  box-shadow:0 24px 32px rgba(0,0,0,.65);
}
.empty-shot-chair::before{
  content:"";
  position:absolute;
  right:-16%;
  bottom:-34%;
  left:-16%;
  height:36%;
  border:clamp(5px,.7vw,9px) solid #252c2d;
  background:#171d1e;
}
.empty-shot-chair::after{
  content:"";
  position:absolute;
  right:7%;
  bottom:-78%;
  left:7%;
  height:48%;
  border-inline:clamp(5px,.7vw,9px) solid #252c2d;
}
.empty-shot-desk{
  position:absolute;
  z-index:4;
  right:12%;
  bottom:24%;
  width:42%;
  height:8%;
  border-radius:.25rem;
  background:#262b2a;
  box-shadow:0 .6rem 0 #111615,0 2rem 3rem rgba(0,0,0,.7);
}
.empty-shot-desk::before{
  content:"";
  position:absolute;
  right:4%;
  bottom:-230%;
  width:4%;
  height:240%;
  background:#141817;
  box-shadow:calc(-38vw + 6rem) 0 0 #141817;
}
.empty-shot-microphone{
  position:absolute;
  z-index:5;
  right:31%;
  bottom:32%;
  width:1.1%;
  height:15%;
  border-radius:999px;
  background:#161b1b;
  transform:rotate(-19deg);
  transform-origin:bottom;
}
.empty-shot-microphone::before{
  content:"";
  position:absolute;
  top:-.55rem;
  left:50%;
  width:.7rem;
  height:1.25rem;
  border-radius:50%;
  background:#0b0e0f;
  transform:translateX(-50%);
}
.empty-shot-tissues{
  position:absolute;
  z-index:6;
  right:18%;
  bottom:33%;
  width:11%;
  height:4%;
  border-radius:.15rem;
  background:#b9b8ae;
  box-shadow:0 .25rem .4rem rgba(0,0,0,.35);
  opacity:.72;
}
.empty-shot-tissues i{
  position:absolute;
  top:-1.4rem;
  left:20%;
  width:52%;
  height:1.6rem;
  border-radius:60% 10% 40% 10%;
  background:#d5d2c7;
  transform:rotate(-7deg);
}
.empty-shot-tissues i:nth-child(2){
  left:43%;
  width:42%;
  transform:rotate(11deg);
  opacity:.8;
}
.empty-shot-tissues i:nth-child(3){
  top:-.7rem;
  left:12%;
  width:35%;
  height:1rem;
  transform:rotate(-22deg);
  opacity:.65;
}
.documentary-empty-shot figcaption{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1rem 2rem;
  align-items:center;
  padding:clamp(1.2rem,2.4vw,1.8rem);
  background:linear-gradient(90deg,#0b1212,#101918);
}
.documentary-empty-shot figcaption>small{
  color:#c5a66f;
  font:700 .64rem/1.55 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
}
.documentary-empty-shot figcaption blockquote{
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#c6cfca!important;
  background:none!important;
  box-shadow:none!important;
  font:clamp(.92rem,1.5vw,1.08rem)/1.75 var(--serif,serif);
}
.documentary-empty-shot figcaption strong{
  display:block;
  color:#f0e6d2!important;
  background:none!important;
  font-size:1.2em;
}
.inline-story .documentary-empty-shot{
  width:min(1120px,calc(100vw - 2rem));
  margin-inline:50%;
  transform:translateX(-50%);
}
.story-content .documentary-empty-shot{
  width:min(100%,72rem);
}

@media(max-width:1100px){
  .judicial-tracks{
    grid-template-columns:1fr;
  }
  .judicial-track{
    min-height:0;
  }
  .judicial-track>p{
    min-height:0;
  }
  .six-door-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .source-label-key{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .timeline-heading{
    grid-template-columns:1fr;
  }
  .case-timeline{
    grid-template-columns:1fr;
    gap:0;
    padding-left:1rem;
  }
  .case-timeline::before{
    top:0;
    right:auto;
    bottom:0;
    left:4.95rem;
    width:1px;
    height:auto;
  }
  .case-timeline li{
    grid-template-columns:3.25rem 1.35rem minmax(0,1fr);
    grid-template-rows:auto;
    gap:.35rem;
    align-items:start;
    padding:0 0 1rem;
  }
  .case-timeline time{
    padding-top:1.65rem;
    text-align:right;
  }
  .timeline-marker{
    margin:1.82rem auto 0;
  }
  .case-timeline li>div{
    min-height:0;
    margin:0;
  }
  .ethics-accordion{
    grid-template-columns:1fr;
  }
  .materials-accordion,
  .glossary-list{
    grid-template-columns:1fr;
  }
  .source-label-key{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .record-card dl{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .record-card dl div:nth-child(3n){
    border-right:1px solid rgba(70,80,73,.1);
  }
  .record-card dl div:nth-child(2n){
    border-right:0;
  }
  .record-card dl div:nth-last-child(-n+3){
    border-bottom:1px solid rgba(70,80,73,.1);
  }
  .record-card dl div:nth-last-child(-n+2){
    border-bottom:0;
  }
}

@media(max-width:680px){
  .case-dashboard,
  .responsibility-map,
  .materials-guide,
  .glossary,
  .version-history{
    padding-top:4.5rem;
    padding-bottom:4.5rem;
  }
  .judicial-track{
    padding:1.15rem;
    border-radius:1.15rem;
  }
  .judicial-track dl div{
    grid-template-columns:1fr;
    gap:.2rem;
  }
  .six-door-flow{
    grid-template-columns:1fr;
  }
  .six-door-flow article{
    min-height:0;
  }
  .six-door-flow p{
    min-height:0;
  }
  .boundary-alerts{
    grid-template-columns:1fr;
  }
  .source-label-key{
    grid-template-columns:1fr;
  }
  .material-body,
  .material-sound-body{
    grid-template-columns:1fr;
  }
  .message-record dl{
    grid-template-columns:1fr;
  }
  .court-plan{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "bench bench"
      "prosecution defense"
      "center center"
      "gallery gallery";
  }
  .glossary-item summary{
    grid-template-columns:1.8rem minmax(0,1fr) auto;
    gap:.5rem;
  }
  .glossary-item summary small{
    display:none;
  }
  .glossary-body{
    padding:0 .9rem 1rem 3.2rem;
  }
  .chapter-two-evidence-gate ol{
    grid-template-columns:1fr;
  }
  .visual-system-details>summary{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .visual-system-details>summary small{
    display:none;
  }
  .boundary-alerts span{
    min-height:3.4rem;
  }
  .ethics-accordion summary{
    grid-template-columns:2rem 1fr auto;
    gap:.65rem;
    min-height:4.9rem;
    padding:.85rem;
  }
  .ethics-accordion details>p{
    padding:0 .9rem 1rem 3.5rem;
  }
  .version-list li{
    grid-template-columns:1fr auto;
    gap:.7rem 1rem;
  }
  .version-list li>div{
    grid-column:1/-1;
  }
  .score-library-details>summary{
    grid-template-columns:1fr auto;
  }
  .score-library-details>summary small{
    display:none;
  }
  .score-library-details>summary::after{
    grid-column:2;
  }
  .score-library-details .score-player-card{
    margin:.55rem;
  }
  .record-card dl{
    grid-template-columns:1fr;
  }
  .record-card dl div,
  .record-card dl div:nth-child(2n),
  .record-card dl div:nth-child(3n),
  .record-card dl div:nth-last-child(-n+2),
  .record-card dl div:nth-last-child(-n+3){
    border-right:0;
    border-bottom:1px solid rgba(70,80,73,.1);
  }
  .record-card dl div:last-child{
    border-bottom:0;
  }
  .documentary-empty-shot{
    border-radius:.85rem;
  }
  .empty-shot-stage{
    min-height:20rem;
  }
  .empty-shot-chair{
    left:15%;
    width:20%;
  }
  .empty-shot-desk{
    right:5%;
    width:56%;
  }
  .empty-shot-tissues{
    right:12%;
    width:16%;
  }
  .documentary-empty-shot figcaption{
    grid-template-columns:1fr;
    gap:.65rem;
  }
  /* Mobile chapter doors stay editorial and compact: no 220–280vh scroll tracks. */
  .editorial-home-v3 .copy-scene-group{
    margin-top:2.5rem;
    margin-bottom:2.5rem;
    padding-top:.8rem;
    padding-bottom:.8rem;
  }
  .editorial-home-v3 .copy-scene-grid{
    grid-template-columns:1fr;
  }
  .editorial-home-v3 .copy-scene-card,
  .editorial-home-v3 .copy-scene-grid.is-single .copy-scene-card{
    min-height:min(112vw,440px);
  }
  .editorial-home-v3 .film-reel,
  .editorial-home-v3 .production-boundaries{
    padding-top:4.5rem;
    padding-bottom:4.5rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .judicial-track,
  .six-door-flow article,
  .documentary-empty-shot{
    scroll-behavior:auto;
  }
}

/* Director's cut — 2026-08-26: shorter homepage, evidence-separated speech audit,
   distinct theatre grammar and complete player controls. */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.entry-gate{transition:opacity .2s ease,visibility .2s ease}
.entry-gate[hidden]{display:none!important}
#chen-statements{scroll-margin-top:6rem}

.statement-audit{
  margin-top:clamp(4rem,7vw,6.5rem);
  padding-top:clamp(2.5rem,5vw,4.5rem);
  border-top:1px solid rgba(216,180,115,.2);
}
.statement-audit-heading{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:clamp(1.2rem,4vw,4rem);
  align-items:end;
}
.statement-audit-heading h3{
  max-width:16ch;
  margin:.55rem 0 0;
  color:var(--evidence-ink);
  font:600 clamp(2rem,4vw,4rem)/1.12 var(--serif,serif);
  text-wrap:balance;
}
.statement-audit-heading>p{max-width:54ch;margin:0;color:var(--evidence-muted);line-height:1.85}
.statement-status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1rem;
  margin:1.75rem 0 1rem;
  padding:.85rem 1rem;
  border:1px solid rgba(201,131,118,.28);
  border-radius:1rem;
  background:linear-gradient(100deg,rgba(201,131,118,.09),rgba(13,25,22,.75));
}
.statement-status strong{color:#e8b1a7;font-size:.74rem;letter-spacing:.08em}
.statement-status span{color:#f1e9dc;font:600 1rem var(--serif,serif)}
.statement-status a{margin-left:auto;color:#e7c58b;font-size:.78rem}
.statement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.statement-grid article{
  display:grid;
  align-content:start;
  min-width:0;
  min-height:22rem;
  padding:clamp(1.1rem,2.2vw,1.65rem);
  border:1px solid rgba(216,180,115,.14);
  border-radius:1.25rem;
  background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(10,22,19,.92));
}
.statement-grid article>header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center}
[data-evidence-level]{display:inline-flex;align-items:center;min-height:1.75rem;padding:.3rem .55rem;border-radius:999px;font:800 .62rem/1.2 var(--sans,system-ui,sans-serif);letter-spacing:.06em}
[data-evidence-level="reported"]{color:#e8d6b7;border:1px solid rgba(216,180,115,.27);background:rgba(216,180,115,.08)}
[data-evidence-level="third-party"]{color:#bdd6d0;border:1px solid rgba(127,163,151,.32);background:rgba(127,163,151,.1)}
.statement-grid header small{color:#879b94;font-size:.68rem}
.statement-grid blockquote{
  margin:1.25rem 0 .8rem;
  padding:0 0 0 1rem;
  color:#f2e8d8;
  border-left:3px solid var(--evidence-rose);
  font:600 clamp(1.2rem,2.05vw,1.65rem)/1.65 var(--serif,serif);
}
.statement-grid p{margin:0 0 1rem;color:#b8c2bc;line-height:1.8}
.statement-grid a{align-self:end;margin-top:auto;color:#e5c187;font-size:.78rem}
.third-party-statement{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  margin-top:.8rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(127,163,151,.2);
  border-radius:1rem;
  background:rgba(127,163,151,.06);
}
.third-party-statement strong{color:#e7ece7;font:600 1.08rem/1.55 var(--serif,serif)}
.third-party-statement p{margin:.25rem 0 0;color:#aebbb5;font-size:.83rem}
.third-party-statement a{color:#bcd4cd;font-size:.74rem}
.quote-dispute{
  margin-top:1rem;
  padding:clamp(1rem,2.5vw,1.65rem);
  border:1px solid rgba(201,131,118,.24);
  border-radius:1.25rem;
  background:linear-gradient(145deg,rgba(92,52,50,.16),rgba(10,22,19,.94) 45%,rgba(38,65,64,.18));
}
.quote-dispute-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:1rem 2rem;align-items:end}
.quote-dispute-heading small{color:#d9ae75;font-weight:800;letter-spacing:.1em}
.quote-dispute-heading h4{margin:.45rem 0 0;color:#f0e6d8;font:600 clamp(1.35rem,2.5vw,2rem)/1.3 var(--serif,serif)}
.quote-dispute-heading blockquote{margin:0;padding:.3rem 0 .3rem 1rem;color:#f3dfd9;border-left:3px solid #c98376;font:600 clamp(1.08rem,1.75vw,1.4rem)/1.7 var(--serif,serif)}
.quote-dispute-heading blockquote cite{display:block;margin-top:.45rem;color:#b9aaa4;font:500 .68rem/1.5 var(--sans,system-ui,sans-serif);letter-spacing:.03em}
.quote-dispute-alert{margin:1.2rem 0 1rem;padding:.8rem 1rem;color:#d9d5cb;border:1px solid rgba(201,131,118,.23);border-radius:.85rem;background:rgba(201,131,118,.08);line-height:1.75}
.quote-dispute-alert strong{color:#efb5ab}
.quote-dispute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.quote-dispute-grid article{display:grid;align-content:start;min-width:0;padding:1rem;border:1px solid rgba(216,180,115,.12);border-radius:1rem;background:rgba(7,18,16,.58)}
[data-evidence-level="prosecution"]{color:#edc6bd;border:1px solid rgba(201,131,118,.34);background:rgba(201,131,118,.1)}
[data-evidence-level="defence"]{color:#dfc99c;border:1px solid rgba(216,180,115,.32);background:rgba(216,180,115,.09)}
[data-evidence-level="testimony"]{color:#bdd6d0;border:1px solid rgba(127,163,151,.32);background:rgba(127,163,151,.1)}
[data-evidence-level="verification"]{color:#bdd4db;border:1px solid rgba(138,165,175,.34);background:rgba(138,165,175,.1)}
.quote-dispute-grid h5{margin:.8rem 0 .45rem;color:#eee5d8;font:600 1.08rem/1.45 var(--serif,serif)}
.quote-dispute-grid p{margin:0;color:#b7c2bc;font-size:.84rem;line-height:1.8}
.quote-dispute-grid a{align-self:end;margin-top:.8rem;color:#e5c187;font-size:.74rem}
.quote-dispute-boundary{margin:1rem 0 0;padding:.85rem 1rem;color:#bdc9c3;border-left:3px solid #8aa5af;background:rgba(138,165,175,.07);font-size:.82rem;line-height:1.75}
.quote-dispute-boundary strong{color:#d7e3df}
/* Keep the fixed 113 pill over an intentionally empty gutter, never over evidence text. */
@media(min-width:761px){
  .quote-dispute>.quote-dispute-boundary{padding-right:10.25rem}
}
.court-finding-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1rem;overflow:hidden;border:1px solid rgba(138,165,175,.2);border-radius:1rem;background:rgba(138,165,175,.16)}
.court-finding-split>div{padding:1.1rem;background:#0d1916}
.court-finding-split small{color:#9db9c2;font-weight:800;letter-spacing:.06em}
.court-finding-split p{margin:.55rem 0 0;color:#c3cdc8;line-height:1.8}
.statement-boundary{margin:1rem 0 0;padding:.85rem 1rem;color:#aab7b0;border-left:3px solid #8aa5af;background:rgba(138,165,175,.06);font-size:.82rem;line-height:1.75}

.format-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:2rem;overflow:hidden;border:1px solid rgba(216,180,115,.16);border-radius:1.2rem;background:rgba(216,180,115,.16)}
.format-roles article{display:grid;gap:.25rem;padding:1rem 1.15rem;background:#0d1916}
.format-roles span{color:#d8b473;font-size:.68rem;font-weight:800;letter-spacing:.08em}
.format-roles strong{color:#f0ece2;font:600 1.2rem var(--serif,serif)}
.format-roles small{color:#9fafA7;font-size:.72rem}

.full-copy{padding-block:clamp(4.5rem,8vw,7rem)}
.full-copy-details{margin:0;border:0}
.full-copy-details>summary{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:1rem;
  align-items:center;
  min-height:5.5rem;
  padding:1rem 4rem 1rem 1.25rem;
  border:1px solid rgba(216,180,115,.23);
  border-radius:1.15rem;
  background:linear-gradient(105deg,rgba(35,67,64,.54),rgba(13,25,22,.96),rgba(92,52,50,.28));
  cursor:pointer;
  list-style:none;
}
.full-copy-details>summary::-webkit-details-marker{display:none}
.full-copy-details>summary::after{content:"＋";position:absolute;right:1.3rem;top:50%;color:#d8b473;font-size:1.7rem;transform:translateY(-50%)}
.full-copy-details[open]>summary::after{content:"−"}
.full-copy-details>summary span{display:grid;gap:.15rem}
.full-copy-details>summary b{color:#d8b473;font-size:.65rem;letter-spacing:.12em}
.full-copy-details>summary strong{color:#f0ece2;font:600 clamp(1.15rem,2vw,1.5rem) var(--serif,serif)}
.full-copy-details>summary small{color:#aab7b0}
.full-copy-details>summary a{color:#e5c187}
.full-copy-details .copy-layout{margin-top:2rem}

/* Fix the actual over-wide theatre breakout instead of relying on body clipping. */
main,.section-shell,.copy-layout,.inline-story,.copy-scene-group,.copy-scene-grid{min-width:0;max-width:100%}
.inline-story>.copy-scene-group{
  width:100%;
  max-width:100%;
  margin-inline:0;
  padding-inline:clamp(.75rem,2vw,1.4rem);
  transform:none;
}
.inline-story>.copy-scene-group>header,
.inline-story>.copy-scene-group>.copy-scene-grid{width:100%;max-width:100%;margin-inline:0}
.cinema-dialog{width:100%;max-width:100%}

/* Shadow theatre is warm, fibrous and hand-pulled; side theatre is cool and procedural. */
.cinema-stage[data-type="shadow"] .cinema-visual::before,
.cinema-stage[data-type="side"] .cinema-visual::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
}
.cinema-stage[data-type="shadow"] .cinema-visual::before{
  opacity:.32;
  background:repeating-linear-gradient(92deg,transparent 0 7px,rgba(238,219,181,.06) 8px 9px),radial-gradient(ellipse at 48% 44%,rgba(237,182,99,.2),transparent 45%);
  mix-blend-mode:screen;
}
.cinema-stage[data-type="shadow"] .cinema-actor{transform-origin:50% 78%}
.cinema-stage[data-type="side"] .cinema-visual::before{
  opacity:.42;
  background:linear-gradient(90deg,rgba(8,25,27,.46),transparent 23% 77%,rgba(8,25,27,.46)),repeating-linear-gradient(0deg,transparent 0 64px,rgba(154,190,192,.035) 65px 66px);
}
.cinema-stage[data-type="side"] .cinema-thread{height:1px;filter:saturate(.45)}
.cinema-stage.captions-hidden .dialogue-box{visibility:hidden!important;opacity:0!important;pointer-events:none}
.cinema-stage .dialogue-box{transition:opacity .18s ease,visibility .18s ease,background .3s ease,border-color .3s ease}

/* Light-paper rendering inside story.html and the inline full text. */
.story-statement-audit{margin:3.5rem 0;padding:1.25rem;border:1px solid rgba(83,105,96,.22);border-radius:1rem;background:rgba(82,124,112,.055)}
.story-content .story-statement-audit h4{margin-top:0}
.statement-reading-boundary{padding:.85rem 1rem;border-left:4px solid #668e86;background:rgba(102,142,134,.08)}
.statement-third-party{border-left-color:#55778a!important;background:rgba(85,119,138,.08)!important}
.story-statement-audit a{color:#735247;text-underline-offset:.2em}
.story-quote-dispute{margin:1.5rem 0;padding:1rem;border:1px solid rgba(123,82,71,.23);border-radius:.85rem;background:rgba(123,82,71,.05)}
.story-content .story-quote-dispute h5{margin-top:0;color:#583c34;font-size:1.25rem}
.story-quote-dispute>blockquote{margin:.8rem 0;padding:.2rem 0 .2rem 1rem;border-left:4px solid #a76559;background:transparent}
.story-quote-dispute>blockquote p{margin:0;font:600 1.08rem/1.7 var(--serif,serif)}
.story-quote-dispute>blockquote cite{display:block;margin-top:.35rem;color:#775e56;font-size:.72rem;font-style:normal}
.story-quote-dispute table{margin-bottom:1rem}
/* The shared boundary component is light on the dark homepage; restore ink contrast on paper. */
.story-page .story-quote-dispute>.quote-dispute-boundary{
  color:#3f554e;
  border-left-color:#52786e;
  background:rgba(82,120,110,.12);
  font-size:.875rem;
}
.story-page .story-quote-dispute>.quote-dispute-boundary strong{color:#2f463f}

@media(max-width:760px){
  .minnan-seal-field img:nth-child(n+3){display:none!important}
  .statement-audit-heading,.statement-grid,.quote-dispute-heading,.quote-dispute-grid,.court-finding-split,.format-roles{grid-template-columns:1fr}
  .statement-audit-heading h3{max-width:none;font-size:clamp(1.9rem,9.5vw,3rem)}
  .statement-grid article{min-height:0}
  .statement-status{align-items:flex-start}
  .statement-status a{width:100%;margin-left:0}
  .third-party-statement{grid-template-columns:1fr;gap:.65rem}
  .format-roles article{min-height:5.2rem}
  .full-copy-details>summary{grid-template-columns:1fr;padding:.9rem 3rem .9rem 1rem}
  .full-copy-details>summary small{font-size:.72rem}
  .inline-story>.copy-scene-group{margin-inline:0!important;width:100%!important;padding-inline:.55rem}
  .inline-story>.copy-scene-group>header,
  .inline-story>.copy-scene-group>.copy-scene-grid{width:100%!important}
  .cinema-header h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
  .cinema-stage[data-type="shadow"] .cinema-actor,
  .cinema-stage[data-type="side"] .cinema-actor{width:min(72vw,430px);height:55%}
  .cinema-stage[data-type="side"] .cinema-actor{width:min(65vw,390px)}
  .cinema-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cinema-controls button{min-height:42px;font-size:.72rem}
  .timeline-control output{min-width:155px;font-size:.66rem}
  .story-statement-audit{padding:.75rem}
}

/* 24-animation long-scroll navigation */
.animation-overview{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(1rem,3vw,2rem);
  align-items:center;
  margin:clamp(1.2rem,3vw,2rem) 0 1rem;
  padding:clamp(1rem,2.5vw,1.5rem);
  border:1px solid rgba(217,186,127,.24);
  border-radius:22px;
  background:linear-gradient(120deg,rgba(35,67,64,.66),rgba(10,18,17,.95));
  box-shadow:0 22px 60px rgba(0,0,0,.2)
}
.animation-overview-copy{display:grid;gap:.34rem;min-width:0}
.animation-overview-copy>span{color:#d9ba7f;font-size:.65rem;font-weight:800;letter-spacing:.15em}
.animation-overview-copy>strong{font:500 clamp(1.35rem,2.8vw,2rem)/1.2 var(--serif);font-variant-numeric:tabular-nums}
.animation-overview-copy>small{color:#aeb5ae;font-size:.72rem;line-height:1.6}
.animation-progress-track{width:min(100%,520px);height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}
.animation-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b96f66,#d9ba7f);transition:width .35s ease}
.animation-overview-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.animation-overview-actions button,.animation-view-switcher button{
  min-height:44px;padding:.58rem .92rem;color:#e9e5dc;border:1px solid rgba(229,236,229,.2);border-radius:999px;background:rgba(255,255,255,.035);cursor:pointer
}
.animation-overview-actions #resume-animation{color:#171a18;border-color:#d9ba7f;background:#d9ba7f;font-weight:800}
.animation-view-switcher{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0 1.2rem}
.animation-view-switcher button[aria-pressed="true"]{color:#191c1a;border-color:#d9ba7f;background:#d9ba7f;font-weight:800}
.animation-catalog{display:grid;gap:clamp(2rem,4vw,3.5rem);min-height:300px}
.animation-catalog-group{display:grid;gap:.85rem}
.animation-catalog-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding-bottom:.65rem;border-bottom:1px solid rgba(229,236,229,.13)}
.animation-catalog-heading div{display:grid;gap:.18rem}
.animation-catalog-heading span{color:#d9ba7f;font-size:.62rem;font-weight:800;letter-spacing:.14em}
.animation-catalog-heading h3{margin:0;font:500 clamp(1.25rem,2.6vw,1.8rem)/1.25 var(--serif)}
.animation-catalog-heading small{color:#9ea69f;font-size:.7rem;white-space:nowrap}
.animation-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1rem)}
.animation-card{
  position:relative;isolation:isolate;display:grid;align-content:end;min-height:clamp(270px,24vw,360px);overflow:hidden;padding:1rem;color:#f0eee7;border:1px solid rgba(229,236,229,.14);border-radius:20px;background:#14201e;text-align:left;cursor:pointer;box-shadow:0 18px 44px rgba(0,0,0,.22);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease
}
.animation-card{text-decoration:none}
.storyboard[hidden]{display:none!important}
.gate-memory-note{margin:0;color:#9ea69f;font-size:.72rem;line-height:1.55}
.mobile-quick-nav{display:none}
.animation-card::before{content:"";position:absolute;z-index:-2;inset:0;background:var(--catalog-poster,radial-gradient(circle at 48% 36%,#6a5d42,#17130f 70%)) var(--catalog-position,center)/cover no-repeat;filter:saturate(.6) contrast(1.04) brightness(.66);transform:scale(1.015);transition:transform .6s ease,filter .35s ease}
.animation-card::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(5,10,9,.04) 10%,rgba(5,10,9,.3) 48%,rgba(5,10,9,.96) 100%);pointer-events:none}
.animation-card[data-type="shadow"]::before{background:radial-gradient(ellipse at 50% 36%,rgba(194,169,112,.72),rgba(88,74,49,.74) 30%,#101512 76%)}
.animation-card[data-type="shadow"]::after{background:linear-gradient(90deg,transparent 0 21%,rgba(10,12,10,.42) 21% 24%,transparent 24% 74%,rgba(10,12,10,.42) 74% 77%,transparent 77%),linear-gradient(180deg,transparent 8%,rgba(4,8,7,.25) 52%,rgba(4,8,7,.96))}
.animation-card:hover,.animation-card:focus-visible{transform:translateY(-4px);border-color:rgba(217,186,127,.62);box-shadow:0 26px 65px rgba(0,0,0,.34)}
.animation-card:hover::before,.animation-card:focus-visible::before{transform:scale(1.07);filter:saturate(.76) contrast(1.03) brightness(.78)}
.animation-card.is-watched{border-color:rgba(113,166,146,.58)}
.animation-card-top{position:absolute;z-index:3;top:.8rem;left:.8rem;right:.8rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.animation-card-number,.animation-card-state{display:inline-flex;align-items:center;min-height:28px;padding:.24rem .52rem;border-radius:999px;background:rgba(7,13,12,.78);backdrop-filter:blur(9px);font-size:.62rem;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.animation-card-number{color:#20211d;background:#d9ba7f}
.animation-card-state{color:#b9c1ba;border:1px solid rgba(229,236,229,.15)}
.animation-card.is-watched .animation-card-state{color:#bfe0d2;border-color:rgba(128,188,165,.42);background:rgba(26,70,58,.72)}
.animation-card-preview{position:absolute;z-index:0;inset:9% 0 22%;overflow:hidden;pointer-events:none}
.animation-card-actor{position:absolute;bottom:-3%;width:66%;height:96%;object-fit:contain;object-position:center bottom;opacity:.62;filter:saturate(.58) brightness(.76) contrast(1.08) drop-shadow(0 13px 13px rgba(0,0,0,.76));transform:scale(var(--actor-optical-scale,1))}
.animation-card-actor.female{left:-8%}.animation-card-actor.male{right:-8%}
.animation-card[data-type="shadow"] .animation-card-actor{filter:saturate(.35) brightness(.55) contrast(1.22) sepia(.18) drop-shadow(0 13px 13px rgba(0,0,0,.84))}
.animation-card-copy{position:relative;z-index:2;display:grid;gap:.22rem;text-shadow:0 3px 20px #000}
.animation-card-copy>small{color:#d9ba7f;font-size:.62rem;font-weight:800;letter-spacing:.1em}
.animation-card-copy>strong{font:500 clamp(1.08rem,1.6vw,1.38rem)/1.25 var(--serif);text-wrap:balance}
.animation-card-copy>span{color:#c3c8c1;font-size:.75rem;line-height:1.5}
.animation-card-copy>i{margin-top:.2rem;color:#99a29b;font-size:.66rem;font-style:normal}

.cinema-shell{padding-bottom:11.4rem}
.cinema-story-nav{display:grid;grid-template-columns:auto minmax(170px,1fr) auto auto auto;gap:.42rem;align-items:center;max-width:1500px;margin:0 auto .65rem}
.cinema-story-nav button{min-height:38px;padding:.38rem .68rem;color:#d8ddd6;border:1px solid rgba(229,236,229,.16);border-radius:999px;background:rgba(255,255,255,.025);cursor:pointer;font-size:.7rem}
.cinema-story-nav button:disabled{opacity:.36;cursor:default}
.cinema-story-nav span{color:#d9ba7f;text-align:center;font-size:.7rem;font-variant-numeric:tabular-nums}
.cinema-complete{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;max-width:1500px;margin:1rem auto 0;padding:1rem 1.15rem;border:1px solid rgba(217,186,127,.28);border-radius:18px;background:linear-gradient(112deg,rgba(48,72,65,.72),rgba(17,26,24,.96))}
.cinema-complete[hidden]{display:none}
.cinema-complete>div:first-child{display:grid;gap:.2rem}
.cinema-complete span{color:#d9ba7f;font-size:.62rem;font-weight:800;letter-spacing:.13em}
.cinema-complete strong{font:500 1.25rem/1.3 var(--serif)}
.cinema-complete p{margin:0;color:#aeb5ae;font-size:.72rem}
.cinema-complete>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}
.cinema-complete button{min-height:40px;padding:.42rem .7rem;color:#e8e5dc;border:1px solid rgba(229,236,229,.18);border-radius:999px;background:rgba(255,255,255,.035);cursor:pointer;font-size:.7rem}
.cinema-complete #complete-next-story{color:#181b19;border-color:#d9ba7f;background:#d9ba7f;font-weight:800}
.cinema-primary-controls,.cinema-secondary-controls{display:flex;justify-content:center;gap:.4rem}
.cinema-primary-controls button,.cinema-secondary-controls button{min-height:42px;padding:.45rem .78rem;color:#e5e7e1;border:1px solid rgba(229,236,229,.17);border-radius:999px;background:transparent;cursor:pointer}
.cinema-primary-controls .play-button{min-width:130px;color:#181b19;border-color:#c48374;background:linear-gradient(115deg,#d3aa83,#c77f73);font-weight:800}
.cinema-secondary-controls{display:none;margin-top:.35rem}
.cinema-control-dock.is-expanded .cinema-secondary-controls{display:flex}
.more-controls-button{display:block}

@media(max-width:1100px){
  .animation-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cinema-story-nav{grid-template-columns:auto 1fr auto}
}

@media(max-width:760px){
  footer{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}
  .help-fab{display:none!important}
  body:not(.is-gated) .mobile-quick-nav{
    position:fixed;z-index:140;left:.55rem;right:.55rem;bottom:max(.5rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr .72fr;min-height:54px;overflow:hidden;border:1px solid rgba(229,236,229,.2);border-radius:18px;background:rgba(9,17,16,.94);box-shadow:0 18px 52px rgba(0,0,0,.42);backdrop-filter:blur(18px) saturate(.9)
  }
  .mobile-quick-nav a{position:relative;display:grid;place-items:center;min-width:0;min-height:54px;padding:.45rem;color:#d9ddd6;border-right:1px solid rgba(229,236,229,.12);font-size:.72rem;font-weight:800;text-decoration:none}
  .mobile-quick-nav a:last-child{border-right:0}
  .mobile-quick-nav a[aria-current="location"]{color:#181b19;background:#d9ba7f}
  .mobile-quick-nav a[aria-current="location"]::before{content:"目前";position:absolute;top:.2rem;font-size:.48rem;letter-spacing:.08em}
  .mobile-quick-nav a[aria-current="location"] span{transform:translateY(.32rem)}
  .mobile-quick-help{color:#1b1d1a!important;background:linear-gradient(115deg,#e0b48e,#cf887c)!important;font-size:1rem!important}
  .animation-overview{grid-template-columns:1fr}
  .animation-overview-actions{justify-content:stretch}
  .animation-overview-actions button{flex:1 1 12rem}
  .animation-view-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .animation-view-switcher button{padding-inline:.35rem;font-size:.72rem}
  .animation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .animation-card{min-height:260px;padding:.8rem;border-radius:16px}
  .animation-card-copy>strong{font-size:1.02rem}
  .animation-card-copy>span{font-size:.7rem}
  .animation-catalog-heading{align-items:start}
  .cinema-shell{padding-bottom:10.6rem}
  .cinema-story-nav{grid-template-columns:1fr 1fr;margin-bottom:.5rem}
  .cinema-story-nav span{grid-column:1/-1;grid-row:1;padding:.25rem}
  .cinema-story-nav #prev-story,.cinema-story-nav #next-story{grid-row:2}
  .cinema-story-nav #return-animation-map,.cinema-story-nav #continue-reading{grid-row:3}
  .cinema-complete{grid-template-columns:1fr;padding:.85rem}
  .cinema-complete>div:last-child{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
  .cinema-complete #complete-next-story{grid-column:1/-1}
  .cinema-primary-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .cinema-primary-controls button,.cinema-secondary-controls button{min-width:0;padding-inline:.3rem;font-size:.72rem}
  .cinema-primary-controls .play-button{min-width:0}
  .cinema-secondary-controls{display:none;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.35rem}
  .cinema-control-dock.is-expanded .cinema-secondary-controls{display:grid}
  .cinema-control-dock.is-expanded{padding-top:.5rem}
  .cinema-stage[data-production="true"] .cinema-bg,.cinema-stage[data-production="true"] .cinema-depth{background-position:var(--scene-mobile-focus,50% 50%)!important}
  .cinema-stage[data-scene="FM-C"] .cinema-bg,.cinema-stage[data-scene="FM-C"] .cinema-depth{background-position:50% 50%!important}
}

@media(max-width:480px){
  .animation-card-grid{grid-template-columns:1fr}
  .animation-card{min-height:285px}
  .animation-catalog-heading small{white-space:normal;text-align:right}
  .cinema-complete>div:last-child{grid-template-columns:1fr}
  .cinema-complete #complete-next-story{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  .animation-card,.animation-card::before,.animation-progress-track i{transition:none!important}
}


/* CARVED SHADOW THEATRE + LAYERED PAPER ART · 2026-08-28
 * The proscenium is shared by SP00–SP09; every scene keeps one restrained
 * paper-cut motif behind the existing hand-pulled performers.
 */
.shadow-paper-screen,
.paper-cut-rig,
.shadow-stage-frame{display:none;position:absolute;inset:0;pointer-events:none}

.cinema-stage[data-type="shadow"] .shadow-paper-screen,
.cinema-stage[data-type="shadow"] .paper-cut-rig,
.cinema-stage[data-type="shadow"] .shadow-stage-frame{display:block}

.cinema-stage[data-type="shadow"] .shadow-paper-screen{
  z-index:-2;
  inset:4.2% 4.4% 3.8%;
  overflow:hidden;
  border:1px solid rgba(219,188,126,.22);
  background:
    radial-gradient(ellipse at 50% 44%,rgba(242,211,150,.3),transparent 43%),
    linear-gradient(104deg,rgba(130,86,49,.14),transparent 27% 73%,rgba(91,56,35,.18)),
    #bda879;
  box-shadow:inset 0 0 70px rgba(42,24,15,.58),inset 0 0 0 7px rgba(238,220,181,.035)
}
.shadow-screen-fibre,.shadow-screen-light{position:absolute;inset:-8%;display:block}
.shadow-screen-fibre{
  opacity:.64;
  background:
    repeating-linear-gradient(91deg,transparent 0 6px,rgba(255,244,215,.055) 7px 8px),
    repeating-linear-gradient(3deg,transparent 0 17px,rgba(62,38,23,.045) 18px 19px);
  mix-blend-mode:soft-light
}
.shadow-screen-light{
  opacity:.7;
  background:
    radial-gradient(ellipse at 48% 43%,rgba(255,227,163,.28),transparent 48%),
    linear-gradient(90deg,rgba(47,25,16,.26),transparent 15% 85%,rgba(47,25,16,.26));
  filter:blur(1px)
}

.cinema-stage[data-type="shadow"] .cinema-bg{
  background-image:radial-gradient(ellipse at 50% 46%,#8a7752 0,#51452e 38%,#171710 78%,#090d0b 100%);
  filter:saturate(.78) contrast(1.03) brightness(.9)
}
.cinema-stage[data-type="shadow"] .cinema-visual::before{z-index:0;opacity:.2}
.cinema-stage[data-type="shadow"] .cinema-atmosphere{z-index:3;opacity:.2;mix-blend-mode:screen}
.cinema-stage[data-type="shadow"] .cinema-focus{z-index:3;opacity:.2}
.cinema-stage[data-type="shadow"] .cinema-thread{z-index:8;height:2px;filter:saturate(.82)}
.cinema-stage[data-type="shadow"] .cinema-thread span{
  background:repeating-linear-gradient(90deg,transparent 0 5px,#a6554f 6px 11px,#cf7c68 12px 16px);
  box-shadow:0 1px 0 rgba(243,216,172,.2),0 5px 10px rgba(53,23,19,.42)
}
.cinema-stage[data-type="shadow"] .cinema-prop{
  z-index:5;
  top:22%;
  min-width:clamp(108px,13vw,180px);
  padding:.62rem 1rem;
  color:rgba(64,39,25,.86);
  border:1px solid rgba(87,52,31,.3);
  border-radius:0;
  background:
    repeating-linear-gradient(91deg,transparent 0 7px,rgba(72,47,29,.035) 8px 9px),
    linear-gradient(125deg,rgba(239,224,191,.92),rgba(201,178,130,.86));
  box-shadow:0 8px 0 rgba(52,28,18,.18),0 16px 24px rgba(14,8,5,.24),inset 0 0 0 4px rgba(255,247,222,.12);
  clip-path:polygon(2% 8%,14% 3%,29% 7%,44% 2%,61% 6%,77% 2%,98% 9%,95% 92%,82% 96%,66% 91%,50% 97%,34% 92%,18% 97%,3% 90%);
  font-size:clamp(.72rem,1vw,.92rem);
  font-weight:700;
  letter-spacing:.2em;
  text-shadow:0 1px rgba(255,246,216,.32)
}
.cinema-stage[data-type="shadow"] .cinema-papers i{
  border:1px solid rgba(89,55,35,.18);
  border-radius:0;
  background:
    repeating-linear-gradient(87deg,transparent 0 5px,rgba(87,54,32,.045) 6px 7px),
    rgba(226,207,164,.8);
  clip-path:polygon(3% 12%,19% 4%,41% 9%,61% 2%,96% 12%,91% 87%,72% 96%,47% 90%,24% 98%,5% 83%);
  box-shadow:0 2px 0 rgba(248,230,191,.2),0 7px 13px rgba(31,15,9,.34)
}
.cinema-stage[data-type="shadow"] .cinema-actor{
  z-index:6;
  transform-origin:50% 88%;
  filter:
    drop-shadow(1px 0 0 rgba(238,209,154,.22))
    drop-shadow(-1px 0 0 rgba(58,29,18,.48))
    drop-shadow(0 8px 0 rgba(49,24,16,.2))
    drop-shadow(0 22px 18px rgba(0,0,0,.66))
}
.cinema-stage[data-type="shadow"] .cinema-actor img{
  filter:
    saturate(.84) sepia(.12) contrast(1.1) brightness(.98)
    drop-shadow(0 -1px 0 rgba(241,215,165,.25))
    drop-shadow(0 2px 0 rgba(47,23,15,.46))
}
.shadow-stage-frame{
  z-index:11;
  contain:paint;
  background:
    url("../img/shadow-theatre/stage-top-v2.webp?v=20260828-paper-art-v2") center top/100% 19% no-repeat,
    url("../img/shadow-theatre/stage-left-v2.webp?v=20260828-paper-art-v2") left 13%/10.8% 75.5% no-repeat,
    url("../img/shadow-theatre/stage-right-v2.webp?v=20260828-paper-art-v2") right 13%/10.8% 75.5% no-repeat,
    url("../img/shadow-theatre/stage-bottom-left-v2.webp?v=20260828-paper-art-v2") left bottom/50.2% 13% no-repeat,
    url("../img/shadow-theatre/stage-bottom-right-v2.webp?v=20260828-paper-art-v2") right bottom/50.2% 13% no-repeat;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.62))
}
.shadow-stage-frame::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:1.2%;
  width:clamp(30px,4.3vw,66px);
  aspect-ratio:1;
  transform:translateX(-50%);
  border:clamp(1px,.16vw,2px) solid rgba(210,148,79,.66);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,#d5a459 0 7%,#6f321f 8% 17%,transparent 18%),
    conic-gradient(from 0deg,#9d5532 0 8%,#d0a15c 8% 12%,#5f291d 12% 20%,#b67543 20% 25%,#7a3825 25% 33%,#d0a15c 33% 37%,#5f291d 37% 45%,#b67543 45% 50%,#7a3825 50% 58%,#d0a15c 58% 62%,#5f291d 62% 70%,#b67543 70% 75%,#7a3825 75% 83%,#d0a15c 83% 87%,#5f291d 87% 95%,#b67543 95%);
  box-shadow:0 0 0 3px rgba(52,25,17,.66),0 4px 9px rgba(0,0,0,.48)
}
.shadow-stage-frame::after{content:none}
.cinema-stage[data-type="shadow"] .cinema-frame-bars{border-block-color:rgba(8,5,4,.76)}
.cinema-stage[data-type="shadow"] .cinema-grain{opacity:.075}

.paper-cut-rig{z-index:4;inset:12.5% 8.5% 10.5%;overflow:hidden}
.paper-scene{position:absolute;inset:0;display:none}
.paper-piece{
  position:absolute;
  display:block;
  transform-origin:50% 80%;
  filter:drop-shadow(0 1px 0 rgba(255,239,203,.24)) drop-shadow(0 7px 8px rgba(38,19,12,.3));
  will-change:transform
}
.cinema-stage[data-scene="SP00"] [data-paper-scene="SP00"],
.cinema-stage[data-scene="SP01"] [data-paper-scene="SP01"],
.cinema-stage[data-scene="SP02"] [data-paper-scene="SP02"],
.cinema-stage[data-scene="SP03"] [data-paper-scene="SP03"],
.cinema-stage[data-scene="SP04"] [data-paper-scene="SP04"],
.cinema-stage[data-scene="SP05"] [data-paper-scene="SP05"],
.cinema-stage[data-scene="SP06"] [data-paper-scene="SP06"],
.cinema-stage[data-scene="SP07"] [data-paper-scene="SP07"],
.cinema-stage[data-scene="SP08"] [data-paper-scene="SP08"],
.cinema-stage[data-scene="SP09"] [data-paper-scene="SP09"]{display:block}

/* Production paper assets · SP00–SP09
 * Only the active selector references a raster, so the browser downloads one
 * scene prop at a time. The second piece remains a lightweight accent layer.
 */
@keyframes shadowPaperBreath{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-1.5px,0)}
}
.cinema-stage[data-type="shadow"] .paper-scene{
  animation:shadowPaperBreath var(--paper-breath,7.2s) ease-in-out infinite;
  transform-origin:50% 72%
}
.paper-scene>.paper-piece{display:none}
.paper-scene>.paper-piece:nth-child(1),
.paper-scene>.paper-piece:nth-child(2){display:block}
.paper-scene>.paper-piece:nth-child(1){
  inset:0;
  opacity:.9;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  filter:drop-shadow(0 2px 0 rgba(252,231,188,.2)) drop-shadow(0 14px 18px rgba(32,16,10,.42))
}
.paper-scene>.paper-piece:nth-child(2){
  opacity:.62;
  filter:drop-shadow(0 6px 8px rgba(31,16,10,.35))
}

/* SP00 · six unanswered doors condensed into one hinged paper threshold */
.cinema-stage[data-scene="SP00"] [data-paper-scene="SP00"]{--paper-breath:8.4s}
.cinema-stage[data-scene="SP00"] [data-paper-scene="SP00"]>.paper-piece:nth-child(1){
  inset:2% 27% 1%;
  background-image:url("../img/shadow-theatre/prop-doors-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP00"] [data-paper-scene="SP00"]>.paper-piece:nth-child(2){
  left:47%;top:6%;width:6%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#ffe4a4 0 13%,#bd7542 16% 35%,rgba(74,36,22,.9) 38% 52%,transparent 55%);
  box-shadow:0 0 28px rgba(238,174,91,.34)
}

/* SP01 · empty bamboo chair and its loosened red binding */
.cinema-stage[data-scene="SP01"] [data-paper-scene="SP01"]{--paper-breath:7.8s}
.cinema-stage[data-scene="SP01"] [data-paper-scene="SP01"]>.paper-piece:nth-child(1){
  inset:1% 30% 0;
  background-image:url("../img/shadow-theatre/prop-chair-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP01"] [data-paper-scene="SP01"]>.paper-piece:nth-child(2){
  left:27%;right:25%;bottom:17%;height:3px;
  background:repeating-linear-gradient(90deg,#a54f49 0 9px,transparent 10px 16px);
  transform:rotate(3deg)
}

/* SP02 · handover records bound before protection arrived */
.cinema-stage[data-scene="SP02"] [data-paper-scene="SP02"]{--paper-breath:6.9s}
.cinema-stage[data-scene="SP02"] [data-paper-scene="SP02"]>.paper-piece:nth-child(1){
  inset:16% 16% 2%;
  background-image:url("../img/shadow-theatre/prop-files-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP02"] [data-paper-scene="SP02"]>.paper-piece:nth-child(2){
  left:12%;right:12%;top:48%;height:9%;
  opacity:.28;
  background:repeating-linear-gradient(90deg,#d8e1d9 0 7%,#759c9b 7.5% 14%,#e9dfc4 14.5% 21%);
  clip-path:polygon(0 18%,12% 3%,24% 14%,36% 4%,50% 15%,64% 3%,78% 14%,90% 4%,100% 18%,97% 87%,84% 95%,68% 86%,52% 97%,36% 86%,20% 96%,4% 85%)
}

/* SP03 · a door pair and the child-shaped space adults left between systems */
.cinema-stage[data-scene="SP03"] [data-paper-scene="SP03"]{--paper-breath:8.8s}
.cinema-stage[data-scene="SP03"] [data-paper-scene="SP03"]>.paper-piece:nth-child(1){
  inset:2% 25% 0;
  opacity:.5;
  background-image:url("../img/shadow-theatre/prop-doors-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP03"] [data-paper-scene="SP03"]>.paper-piece:nth-child(2){
  left:46%;top:25%;width:8%;height:48%;
  opacity:.46;
  background:
    radial-gradient(circle at 50% 11%,rgba(34,26,18,.78) 0 16%,transparent 17%),
    linear-gradient(90deg,transparent 18%,rgba(34,26,18,.72) 20% 80%,transparent 82%) 50% 82%/100% 70% no-repeat
}

/* SP04 · moon-white curtain and the trolley that crossed the paper screen */
.cinema-stage[data-scene="SP04"] [data-paper-scene="SP04"]{--paper-breath:7.4s}
.cinema-stage[data-scene="SP04"] [data-paper-scene="SP04"]>.paper-piece:nth-child(1){
  inset:1% 10% 0;
  background-image:url("../img/shadow-theatre/prop-trolley-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP04"] [data-paper-scene="SP04"]>.paper-piece:nth-child(2){
  right:13%;top:18%;width:10%;height:25%;
  background:repeating-linear-gradient(0deg,#d8c69f 0 8px,#b79b70 9px 10px);
  clip-path:polygon(4% 1%,95% 5%,91% 96%,2% 91%)
}

/* SP05 · movable type and a page that still must become proof */
.cinema-stage[data-scene="SP05"] [data-paper-scene="SP05"]{--paper-breath:6.6s}
.cinema-stage[data-scene="SP05"] [data-paper-scene="SP05"]>.paper-piece:nth-child(1){
  inset:4% 27% 0;
  background-image:url("../img/shadow-theatre/prop-type-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP05"] [data-paper-scene="SP05"]>.paper-piece:nth-child(2){
  right:22%;top:23%;width:16%;height:39%;
  opacity:.22;
  background:linear-gradient(125deg,rgba(255,240,199,.82),rgba(192,157,102,.5));
  clip-path:polygon(2% 1%,96% 4%,92% 98%,5% 94%)
}

/* SP06 · the same door seen through the colder language of a ward */
.cinema-stage[data-scene="SP06"] [data-paper-scene="SP06"]{--paper-breath:8.1s}
.cinema-stage[data-scene="SP06"] [data-paper-scene="SP06"]>.paper-piece:nth-child(1){
  inset:5% 24% 1%;
  opacity:.6;
  background-image:url("../img/shadow-theatre/prop-doors-v2.webp?v=20260828-paper-art-v2");
  filter:saturate(.66) hue-rotate(9deg) drop-shadow(0 12px 18px rgba(27,29,25,.42))
}
.cinema-stage[data-scene="SP06"] [data-paper-scene="SP06"]>.paper-piece:nth-child(2){
  left:49.4%;top:13%;width:1.2%;height:66%;
  opacity:.58;
  background:linear-gradient(#d1b881,#5c4931);
  box-shadow:0 0 0 3px rgba(53,36,24,.2)
}

/* SP07 · 115 days held by one broken stitch */
.cinema-stage[data-scene="SP07"] [data-paper-scene="SP07"]{--paper-breath:7.1s}
.cinema-stage[data-scene="SP07"] [data-paper-scene="SP07"]>.paper-piece:nth-child(1){
  inset:18% 17% 2%;
  opacity:.65;
  background-image:url("../img/shadow-theatre/prop-files-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP07"] [data-paper-scene="SP07"]>.paper-piece:nth-child(2){
  left:11%;right:11%;top:53%;height:4px;
  opacity:.7;
  background:repeating-linear-gradient(90deg,#8b6050 0 13px,transparent 14px 22px)
}

/* SP08 · black-to-silver strands beside an unused folded tissue */
.cinema-stage[data-scene="SP08"] [data-paper-scene="SP08"]{--paper-breath:8.6s}
.cinema-stage[data-scene="SP08"] [data-paper-scene="SP08"]>.paper-piece:nth-child(1){
  inset:8% 8% 0;
  background-image:url("../img/shadow-theatre/prop-hair-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP08"] [data-paper-scene="SP08"]>.paper-piece:nth-child(2){
  right:15%;bottom:14%;width:14%;height:15%;
  opacity:.28;
  background:radial-gradient(ellipse,rgba(255,244,215,.72),transparent 68%);
  filter:blur(4px)
}

/* SP09 · repaired tenon, eight craft rosettes and an ordinary threshold */
.cinema-stage[data-scene="SP09"] [data-paper-scene="SP09"]{--paper-breath:9s}
.cinema-stage[data-scene="SP09"] [data-paper-scene="SP09"]>.paper-piece:nth-child(1){
  inset:9% 7% 1%;
  background-image:url("../img/shadow-theatre/prop-threshold-v2.webp?v=20260828-paper-art-v2")
}
.cinema-stage[data-scene="SP09"] [data-paper-scene="SP09"]>.paper-piece:nth-child(2){
  left:13%;right:13%;bottom:8%;height:7%;
  opacity:.32;
  background:linear-gradient(#9a6b42,#41281a);
  clip-path:polygon(1% 18%,99% 0,96% 100%,3% 84%)
}

/* The full player gets detail; cards get a quiet, static echo. */
.copy-scene-card.shadow .copy-scene-poster::before{
  content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
  background:url("../img/shadow-theatre/stage-top-v2.webp?v=20260828-paper-art-v2") center top/100% 20% no-repeat,
    url("../img/shadow-theatre/stage-left-v2.webp?v=20260828-paper-art-v2") left 13%/11% 74% no-repeat,
    url("../img/shadow-theatre/stage-right-v2.webp?v=20260828-paper-art-v2") right 13%/11% 74% no-repeat,
    url("../img/shadow-theatre/stage-bottom-left-v2.webp?v=20260828-paper-art-v2") left bottom/50.2% 13% no-repeat,
    url("../img/shadow-theatre/stage-bottom-right-v2.webp?v=20260828-paper-art-v2") right bottom/50.2% 13% no-repeat;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.48))
}
.copy-scene-card.shadow .copy-scene-poster::after{z-index:0}
.copy-scene-card.shadow .copy-scene-actor{
  filter:drop-shadow(0 1px 0 rgba(240,215,168,.2)) drop-shadow(0 8px 0 rgba(58,29,18,.24)) drop-shadow(0 16px 14px rgba(0,0,0,.7))
}
.animation-card[data-type="shadow"]::after{
  background:
    url("../img/shadow-theatre/stage-top-v2.webp?v=20260828-paper-art-v2") center top/100% 20% no-repeat,
    url("../img/shadow-theatre/stage-left-v2.webp?v=20260828-paper-art-v2") left 13%/11% 74% no-repeat,
    url("../img/shadow-theatre/stage-right-v2.webp?v=20260828-paper-art-v2") right 13%/11% 74% no-repeat,
    url("../img/shadow-theatre/stage-bottom-left-v2.webp?v=20260828-paper-art-v2") left bottom/50.2% 13% no-repeat,
    url("../img/shadow-theatre/stage-bottom-right-v2.webp?v=20260828-paper-art-v2") right bottom/50.2% 13% no-repeat,
    linear-gradient(90deg,rgba(65,29,20,.34),transparent 13% 87%,rgba(65,29,20,.34)),
    linear-gradient(180deg,transparent 8%,rgba(4,8,7,.22) 54%,rgba(4,8,7,.96))
}

@media(max-width:760px){
  .cinema-stage[data-type="shadow"] .shadow-paper-screen{inset:3.5% 3.5% 3%}
  .paper-cut-rig{inset:14.5% 7.5% 11.5%}
  .cinema-stage[data-type="shadow"] .cinema-prop{top:17%;min-width:96px;padding:.48rem .72rem;font-size:.68rem}
  .cinema-stage[data-type="shadow"] .cinema-actor{bottom:5%;width:min(72vw,430px);height:55%}
  .shadow-stage-frame{
    background-size:100% 17%,8.8% 74%,8.8% 74%,50.2% 11%,50.2% 11%;
    background-position:center top,left 12%,right 12%,left bottom,right bottom
  }
  .shadow-stage-frame::before{bottom:.8%;width:clamp(24px,6.5vw,40px)}
  .cinema-stage[data-type="shadow"] .cinema-play-overlay{
    width:68px;
    background:rgba(15,25,23,.68);
    backdrop-filter:blur(4px)
  }
  .cinema-stage[data-type="shadow"] .cinema-play-overlay span{font-size:1.25rem}
  .cinema-stage[data-type="shadow"] .cinema-play-overlay small{font-size:.63rem}
  .paper-scene>.paper-piece:nth-child(1){inset:3% 8% 0}
  .cinema-stage[data-scene="SP00"] [data-paper-scene="SP00"]>.paper-piece:nth-child(1),
  .cinema-stage[data-scene="SP03"] [data-paper-scene="SP03"]>.paper-piece:nth-child(1),
  .cinema-stage[data-scene="SP06"] [data-paper-scene="SP06"]>.paper-piece:nth-child(1){inset:2% 27% 0}
  .cinema-stage[data-scene="SP01"] [data-paper-scene="SP01"]>.paper-piece:nth-child(1){inset:1% 31% 0}
  .cinema-stage[data-scene="SP05"] [data-paper-scene="SP05"]>.paper-piece:nth-child(1){inset:4% 25% 0}
}

@media(max-width:430px){
  .paper-cut-rig{inset:13.5% 6% 10.5%}
  .shadow-stage-frame{filter:drop-shadow(0 12px 18px rgba(0,0,0,.58))}
  .cinema-stage[data-type="shadow"] .cinema-prop{top:14.5%;letter-spacing:.13em}
}

@media(prefers-reduced-motion:reduce){
  .paper-scene{animation:none!important;transform:none!important}
  .paper-piece{transform:none!important;will-change:auto!important}
}
body.is-reduced .paper-scene{animation:none!important;transform:none!important}
body.is-reduced .paper-piece{transform:none!important;will-change:auto!important}

@media(forced-colors:active){
  .shadow-stage-frame{background-image:none;border:3px double CanvasText}
  .shadow-paper-screen{border-color:CanvasText;background:Canvas}
  .paper-cut-rig{opacity:.72}
}
