/* Your Story view, red ink marks, slideshow and print layout */
body.sv-open{overflow:hidden}
.sv{position:fixed;inset:0;z-index:85;overflow-y:auto;overscroll-behavior:contain;background:#1a110a radial-gradient(ellipse at 50% 0,rgba(120,80,40,.25),transparent 70%);-webkit-overflow-scrolling:touch}
.sv.hidden{display:none}
.sv-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:rgba(28,18,11,.92);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.sv-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.sv-bar .btn{min-height:44px;padding:8px 14px;font-size:15px}
.sv-book{max-width:760px;margin:18px auto 60px;padding:0 12px;display:flex;flex-direction:column;gap:22px}
.sv-loading{color:#eadfc4;text-align:center;font:italic 400 18px var(--serif,Georgia,serif);padding:40px 0}
.sv-page,.sv-cover{background:#f5ecd6;color:#2a1a10;border-radius:6px 12px 12px 6px;padding:clamp(16px,4vw,34px);box-shadow:0 10px 30px rgba(0,0,0,.45),inset 10px 0 18px -10px rgba(80,50,20,.35);position:relative}
.sv-cover{text-align:center;padding-top:clamp(26px,6vw,48px);padding-bottom:clamp(26px,6vw,48px)}
.sv-kicker{font:700 clamp(30px,6vw,40px)/1 Caveat,cursive;color:#c0261b;margin:0 0 .4em;transform:rotate(-2deg)}
.sv-cover h2{font:800 clamp(28px,6vw,46px)/1.9 Fraunces,Georgia,serif;margin:.5em 0 0}
.sv-sub{font:italic 400 clamp(17px,3vw,22px) Fraunces,Georgia,serif;margin:0 0 1em;color:#4a3020}
.sv-by{font:400 clamp(16px,2.6vw,19px)/1.5 Fraunces,Georgia,serif;margin:0 0 .8em}
.sv-stats,.sv-meta{font:700 12px/1.4 "Atkinson Hyperlegible",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8a5a3a;margin:0}
.sv-meta{margin-top:14px}
.sv-page h3{font:800 clamp(22px,4vw,30px)/1.2 Fraunces,Georgia,serif;margin:.15em 0 .3em}
.sv-orig p{font:400 clamp(17px,2.6vw,20px)/2.25 Fraunces,Georgia,serif;margin:0 0 .5em}
.sv-note{font:700 clamp(22px,4vw,26px) Caveat,cursive;color:#c0261b;text-align:right;transform:rotate(-2deg);margin:.2em 0 0}
.sv-retold{margin-top:16px;border-top:2px solid #c0261b;padding-top:6px}
.sv-lbl{font:700 clamp(22px,4vw,27px) Caveat,cursive;color:#c0261b;margin:0 0 .2em}
.sv-retold p:not(.sv-lbl){font:italic 400 clamp(16px,2.4vw,18.5px)/1.6 Fraunces,Georgia,serif;color:#4a3020;margin:0 0 .6em}
/* red ink: old word struck, new word handwritten above with a caret */
.rx{position:relative;display:inline-block;white-space:nowrap}
.rx s{text-decoration:none;background:linear-gradient(176deg,transparent calc(50% - 1.6px),#c0261b calc(50% - 1.6px),#c0261b calc(50% + 1.2px),transparent calc(50% + 1.2px)) no-repeat;padding:0 1px}
.rx ins{position:absolute;left:50%;bottom:72%;transform:translateX(-50%) rotate(-3deg);text-decoration:none;font:700 1.12em/1 Caveat,"Comic Sans MS",cursive;color:#c0261b;white-space:nowrap;pointer-events:none}
.rx ins::after{content:"";position:absolute;left:50%;top:100%;width:.45em;height:.3em;margin-left:-.22em;border:solid #c0261b;border-width:0 2px 2px 0;transform:translateY(1px) rotate(45deg) scale(.8,.8);transform-origin:center}
.rx.big ins{font-size:1.05em;bottom:78%}
.rx.gone ins{font-size:.95em}
/* scene art (mirrors the game's layered illustration) */
.sv-artw{border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px rgba(60,35,15,.35)}
.sv-art{position:relative;width:100%;aspect-ratio:1.25;overflow:hidden;background:#e8dcc0;filter:sepia(.12) contrast(1.04)}
.sv-l{position:absolute;left:-6%;width:112%;bottom:-3%;background-size:100% auto;background-repeat:no-repeat;background-position:center bottom}
.sv-l.back{top:-6%;bottom:-6%;background-size:cover;background-position:center}
.sv-l.mid{height:62%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%)}
.sv-l.front{height:34%;bottom:-6%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%)}
.sv-cast{position:absolute;inset:0}
.sv-actor{position:absolute;bottom:var(--ground,7%);height:58%;filter:drop-shadow(4px 8px 5px rgba(50,20,10,.35))}
.sv-actor>img{height:100%;display:block}
.sv-rig{position:relative;display:inline-block;height:100%}.sv-rig>img:first-child{height:100%;width:auto;display:block}
.sv-held{position:absolute;height:auto;display:block}
.sv-fx-scale-up>*{transform:scale(1.3);transform-origin:50% 100%}.sv-fx-scale-down>*{transform:scale(.6);transform-origin:50% 100%}.sv-fx-flip>*{transform:rotate(180deg)}
.sv-prop{position:absolute;height:26%;filter:drop-shadow(3px 6px 4px rgba(50,20,10,.35))}
/* slideshow */
.sv-show{position:fixed;inset:0;z-index:5;background:#120c07;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))}
.sv-stage{position:relative;flex:1;width:100%;min-height:0;min-width:0;align-self:stretch}
.sv-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s ease}
.sv-stage img.on{opacity:1}
body.rm .sv-stage img{transition:none}
@media (prefers-reduced-motion:reduce){.sv-stage img{transition:none}}
.sv-ctl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sv-ctl .btn{min-height:44px;padding:8px 14px;font-size:15px}
.sv-count{color:#cbb98f;font:700 13px "Atkinson Hyperlegible",sans-serif;margin:0}
.sv-toast{z-index:95}
.sv-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:4px 0 10px}
.sv-foot .btn{min-height:44px;padding:8px 14px;font-size:15px}
@media (max-width:560px),(max-height:500px){.sv-bar{position:static}.sv-bar .btn{padding:8px 11px;font-size:14px}.sv-acts{gap:6px}}
@media (orientation:landscape) and (max-height:500px){.sv-show{flex-direction:row}.sv-ctl{flex-direction:column;flex-wrap:nowrap}.sv-count{position:absolute;bottom:6px;left:12px}.sv-bar{position:static}}
/* print: only the story, one page per sheet */
@media print{
  @page{size:auto;margin:12mm}
  body.sv-open>*:not(#storyv){display:none!important}
  body.sv-open{overflow:visible;background:#fff!important}
  .sv{position:static;overflow:visible;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sv-bar,.sv-show,.sv-toast,.sv-foot{display:none!important}
  .sv-book{max-width:none;margin:0;padding:0;gap:0}
  .sv-page,.sv-cover{box-shadow:none;border-radius:0;background:#fffaf0;break-after:page;page-break-after:always;padding:6mm 4mm}
  .sv-book>.sv-page:last-of-type{break-after:auto;page-break-after:auto}
  .sv-cover{min-height:200mm;display:flex;flex-direction:column;justify-content:center}
  .sv-artw{break-inside:avoid;max-width:84mm;margin:0 auto}
  .sv-orig p{font-size:10.5pt;line-height:1.95;margin:0 0 .3em}.sv-page h3{font-size:16pt;margin:.1em 0 .15em}.sv-meta{margin-top:3mm}
  .sv-retold p:not(.sv-lbl){font-size:9.5pt;line-height:1.4;margin:0 0 .4em}.sv-lbl{font-size:15pt}
  .sv-retold{margin-top:3mm}
}
/* Remix: earlier reader's ink is faded, yours is fresh */
.rx.old s{background-image:linear-gradient(176deg,transparent calc(50% - 1.6px),rgba(192,38,27,.42) calc(50% - 1.6px),rgba(192,38,27,.42) calc(50% + 1.2px),transparent calc(50% + 1.2px))}
.rx.old ins{color:rgba(192,38,27,.5)}.rx.old ins::after{border-color:rgba(192,38,27,.45)}
.rx.two s{background-image:linear-gradient(176deg,transparent calc(50% - 1.6px),rgba(192,38,27,.42) calc(50% - 1.6px),rgba(192,38,27,.42) calc(50% + 1.2px),transparent calc(50% + 1.2px))}
.rx.two ins del{color:rgba(192,38,27,.5);text-decoration:line-through;text-decoration-color:#c0261b;text-decoration-thickness:2px}
.sv-old{color:rgba(192,38,27,.55);font-family:Caveat,cursive;font-weight:700;font-size:1.15em}.sv-new{color:#c0261b;font-family:Caveat,cursive;font-weight:700;font-size:1.15em}
/* video sheet */
.sv-vid{position:fixed;inset:0;z-index:6;background:rgba(10,6,3,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.sv-vcard{background:#f5ecd6;color:#2a1a10;border-radius:14px;max-width:440px;width:100%;padding:20px 20px 16px;box-shadow:0 18px 40px rgba(0,0,0,.5);font-family:"Atkinson Hyperlegible",sans-serif}
.sv-vcard h3{margin:0 0 6px;font:800 26px Fraunces,Georgia,serif}.sv-vcard p{margin:0 0 12px;line-height:1.4}
.sv-vopt{border:0;padding:0;margin:0 0 10px;display:grid;gap:8px}.sv-vopt label,.sv-vchk{display:flex;gap:10px;align-items:flex-start;line-height:1.35;min-height:28px}
.sv-vopt input,.sv-vchk input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:#c0261b}
.sv-vbar{height:12px;border-radius:8px;background:#e2d4b0;overflow:hidden;margin:14px 0 6px;border:2px solid #2a1a10}.sv-vbar i{display:block;height:100%;width:0;background:#c0261b;transition:width .2s linear}
.sv-vmsg{min-height:1.4em;font-weight:700;color:#7a2e2a}.sv-vacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sv-vacts .btn{flex:1 1 auto;min-height:44px}
