:root{color-scheme:dark;--bg:#080a0d;--gold:#d9b879;--cream:#f4e9d5;--muted:#a8a29a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font-family:Georgia,'Times New Roman',serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.app{max-width:570px;margin:auto;min-height:100svh;padding:20px 22px 35px}.home{display:flex;flex-direction:column;justify-content:center;gap:20px}.logo{width:min(85%,345px);display:block;margin:0 auto;mix-blend-mode:screen}.prompt{text-align:center;font-size:clamp(20px,5vw,28px);font-weight:normal;margin:0}.sub{text-align:center;font-size:12px;letter-spacing:.14em;color:#c9bda9;margin:0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{padding:0;min-height:285px;position:relative;overflow:hidden;border-radius:18px;border:1px solid #846846;background:#2e241b;color:var(--cream);text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s}.choice:active{transform:scale(.98)}.choice.cool{background:#16273b;border-color:#5d728b}.choice svg{width:100%;height:170px;display:block}.choice .ct{padding:10px 12px 17px;background:linear-gradient(transparent,rgba(0,0,0,.55))}.choice strong{display:block;font-size:clamp(21px,5vw,30px);line-height:1.03;font-weight:normal}.choice small{display:block;margin-top:9px;color:#e0cba8;line-height:1.3;font:10px/1.4 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.tagline{margin:0;text-align:center;color:var(--gold);letter-spacing:.15em;font-size:10px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.brand{color:var(--gold);font-size:15px;letter-spacing:.22em}.ghost{border:1px solid #64563e;border-radius:40px;background:transparent;color:var(--cream);padding:9px 15px;font:12px Arial,sans-serif}.step{color:var(--gold);letter-spacing:.2em;font:11px Arial,sans-serif;text-transform:uppercase;margin:20px 0 14px}.story h1{font-weight:normal;font-size:clamp(35px,8vw,55px);line-height:1.08;margin:0 0 24px}.art{border:1px solid #5c5140;border-radius:18px;overflow:hidden;min-height:270px;background:#d6bb8d;display:grid;place-items:center}.art svg{width:100%;height:auto;display:block}.story p{font-size:20px;line-height:1.6;margin:24px 0}.story .big{font-size:clamp(27px,6.3vw,38px);line-height:1.25;color:#f2d9a7}.story .minor{color:var(--muted);font-size:14px}.next{width:100%;background:var(--gold);color:#17130e;border:0;border-radius:40px;padding:16px 20px;margin-top:12px;font:600 13px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.link{display:block;margin:22px auto;background:none;border:0;color:#d6c8af;text-decoration:underline;font:13px Arial,sans-serif}.progress{height:2px;background:#3a342b;margin:0 0 28px}.progress span{display:block;height:100%;background:var(--gold);transition:width .3s}.end{text-align:center;padding-top:12vh}.end h1{font-size:clamp(35px,8vw,55px);line-height:1.2;font-weight:normal}.end .star{font-size:30px;color:var(--gold)}.info h2{font-weight:normal}.info p{line-height:1.6;color:#c5bcb0}.stats{background:#16191e;padding:14px;border-radius:10px;font:12px/1.7 monospace;white-space:pre-wrap;color:#bdb5a5}.foot{text-align:center;color:#8f826f;font:10px Arial,sans-serif;letter-spacing:.15em;margin-top:35px}@media(min-width:720px){.home{padding-top:15px}.choice{min-height:335px}.choice svg{height:220px}}

/* Neverlent 0.2 — mobile editorial cover. Image and controls are separate layers. */
:root{--bg:#101820;--gold:#c49a59;--cream:#f2e9db}
body{background:var(--bg)}
.app.home{max-width:570px;padding:0 0 32px;display:block;min-height:100svh;overflow:hidden}
.home-header{position:relative;z-index:2;padding:14px 20px 0;background:var(--bg);text-align:center}
.home .logo{width:min(72%,290px);max-height:205px;object-fit:contain;margin:0 auto;mix-blend-mode:screen}
.storm-hero{height:clamp(320px,83vw,510px);width:100%;background-image:linear-gradient(to bottom,var(--bg) 0%,transparent 16%,transparent 59%,var(--bg) 99%),url('assets/storm-hero.png');background-size:100% 100%,cover;background-position:center,center 43%;background-repeat:no-repeat;margin-top:-4px}
.home-content{position:relative;margin-top:-24px;padding:0 20px;z-index:1}
.home .prompt{font-size:clamp(21px,5.2vw,28px);line-height:1.2}
.home .sub{font-size:10px;letter-spacing:.13em;margin:10px 0 18px}
.home .choices{gap:12px}
.home .choice{min-height:208px;padding:15px 12px 0;justify-content:space-between;border-radius:16px;background:linear-gradient(150deg,#49321e,#1a1817 75%);border:1px solid #8c6b41}
.home .choice.cool{background:linear-gradient(150deg,#263c50,#111e2c 78%);border-color:#607f98}
.home .choice-icon{display:flex;height:84px;align-items:center;justify-content:center}
.home .choice-icon svg{width:96px;height:86px}
.home .choice-ribbon{height:84px;display:flex;align-items:center;justify-content:center;font:italic 104px/1 Georgia,serif;transform:rotate(-16deg);color:#a9c4e0;text-shadow:0 3px 12px #182a44}
.home .choice .ct{padding:0 0 14px;background:none}
.home .choice strong{font-size:clamp(20px,5.5vw,27px)}
.home .choice small{font-size:10px;color:#d7bd93}
.home .choice.cool small{color:#b4d0e9}
.home .tagline{margin:20px 0 8px}
.home .link{margin:18px auto 0}
@media(min-width:720px){.home .choice{min-height:220px}.storm-hero{height:500px}}
@media(max-width:360px){.home-content{padding:0 14px}.home .choices{gap:9px}.home .choice{padding:12px 9px 0}.home .choice strong{font-size:20px}}

/* 0.3 — minimal photographic cover and progressive entrance */
:root{--bg:#050607;--gold:#c7a16b;--cream:#eee5d6}
body{background:#050607}
.app.home{max-width:570px;min-height:100svh;padding:0 20px 28px;display:flex;flex-direction:column;justify-content:center;gap:0;overflow:visible;background:radial-gradient(ellipse 70% 35% at 50% 58%,#14151a 0%,#090a0c 65%,#050607 100%)}
.home-header{padding:8px 0 4px;background:transparent;position:static}
.home .logo{width:min(86%,330px);max-height:none;mix-blend-mode:screen;display:block}
.home-content{padding:0;margin:0;position:static}
.home-intro{margin:4px 0 21px}
.home .prompt{font-size:clamp(21px,5.3vw,29px);line-height:1.22}
.home .sub{margin:10px 0 0;font-size:10px;color:#c5b5a0;letter-spacing:.12em}
.home .choices{gap:12px}
.home .choice,.home .choice.cool{min-height:290px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;padding:0;border-radius:15px;background:#0d0c0b;border:1px solid #886b45;box-shadow:inset 0 0 0 1px #1b1712,0 12px 32px #0006}
.home .choice.cool{border-color:#80664d;background:#0d0c0b}
.home .object-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.88);transition:transform .35s ease}
.home .choice::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 28%,#05050505 42%,#060606 100%);pointer-events:none}
.home .choice .ct{position:relative;z-index:1;padding:14px 12px 18px;background:transparent}
.home .choice strong{font-size:clamp(20px,5.3vw,28px);line-height:1.05}
.home .choice small,.home .choice.cool small{color:#d6b584}
.home .choice:hover .object-photo{transform:scale(1.035)}
.home .link{margin:20px auto 0;color:#c3ad8e}
@media(max-width:360px){.app.home{padding-left:14px;padding-right:14px}.home .choice,.home .choice.cool{min-height:250px}}
@media(min-width:720px){.app.home{padding-top:25px;padding-bottom:25px}.home .choice,.home .choice.cool{min-height:330px}}
@keyframes neverlent-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.home-header{animation:neverlent-reveal .55s ease-out both}.home .choices{animation:neverlent-reveal .65s ease-out .42s both}.home-intro{animation:neverlent-reveal .55s ease-out .95s both}.home .link{animation:neverlent-reveal .5s ease-out 1.15s both}}
@media(prefers-reduced-motion:reduce){.home .object-photo{transition:none}}

/* Film-style opening sequence; the logo artwork itself is unchanged. */
.intro-overlay{position:fixed;inset:0;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:1;transition:opacity .2s ease}
.intro-overlay.intro-leaving{opacity:0;pointer-events:none}
.intro-film{width:100%;height:100%;max-width:540px;object-fit:contain;background:#000}
.intro-skip{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));background:#121317bb;color:#f2e6d2;border:1px solid #c4a07199;border-radius:24px;padding:9px 15px;cursor:pointer;font:14px Georgia,serif;z-index:1}
.intro-skip:focus-visible{outline:2px solid #e4c58d;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.intro-overlay{transition:none}}

/* 0.5 — smaller editorial identity, legible publisher imprint on mobile. */
.home .logo{width:min(75%,275px);max-width:275px;height:auto;mix-blend-mode:screen}
.home-header{padding:0 0 2px}
.home-intro{margin:0 0 19px}
@media(max-width:360px){.home .logo{width:min(76%,248px)}}
@media(min-width:720px){.home .logo{width:275px}}

/* v0.6: genuine transparent logo, no image rectangle or blend mode */
.home .logo{mix-blend-mode:normal!important}

/* v0.8 — John King, full-bleed editorial story */
.app.king-app{padding:0;max-width:620px;background:#050607;overflow:clip}
.king-screen{background:#050607}
.king-hero{position:relative;width:100%;height:min(1100px,135svh);min-height:630px;background:#050607 url('assets/storm-hero.png') center top/cover no-repeat;isolation:isolate}
.king-hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,rgba(3,5,7,.24) 0%,transparent 17%,transparent 53%,rgba(5,6,7,.15) 65%,#050607 97%)}
.king-close{position:absolute;top:max(20px,env(safe-area-inset-top));left:18px;z-index:2;border:1px solid #c8ad7c70;background:#06080bb8;color:#eee2cb;border-radius:40px;padding:10px 14px;font:12px Arial,sans-serif;letter-spacing:.05em}
.king-hero-caption{position:absolute;bottom:4%;left:0;right:0;z-index:1;text-align:center;padding:0 22px}
.king-eyebrow{display:block;color:#d3b581;letter-spacing:.2em;font:10px/1.5 Arial,sans-serif}
.king-hero-caption h1{font-weight:normal;font-size:clamp(36px,9vw,57px);line-height:1.05;max-width:470px;margin:13px auto 10px;text-shadow:0 2px 18px #000}
.king-hero-caption p{font-style:italic;color:#d8cbb8;font-size:17px;margin:0 0 22px}
.king-scroll{font:10px Arial,sans-serif;letter-spacing:.18em;color:#c7a16b}
.king-reading{max-width:530px;padding:0 26px 70px;margin:0 auto;color:#e6ded0}
.king-reading p{font-size:clamp(17px,4.5vw,20px);line-height:1.72;margin:0 0 25px}
.king-reading .king-opening{font-size:clamp(22px,5.8vw,28px);line-height:1.5;color:#f1e5cf;margin:0 0 30px}
.king-reading h2{font-weight:normal;color:#e6c48a;font-size:clamp(27px,7vw,35px);line-height:1.16;margin:49px 0 20px}
.king-final{margin:50px 0 28px;text-align:center;border-top:1px solid #7e6441;border-bottom:1px solid #7e6441;padding:35px 5px}
.king-final p{font-size:clamp(29px,8vw,44px);line-height:1.24;margin:20px 0 0;color:#f1dfbd}
.king-reading .king-note{font:12px/1.65 Arial,sans-serif;color:#9f998f;margin:20px 0 36px}
.king-other{display:block;width:100%;border:1px solid #a98959;background:#17130e;color:#e8d2a9;padding:18px 16px;border-radius:10px;font:15px Georgia,serif}
.king-home{display:block;margin:20px auto;background:transparent;color:#b6aa9b;border:0;text-decoration:underline;font:12px Arial,sans-serif}
@media(max-width:420px){.king-hero{height:110svh;min-height:620px;background-position:center top}.king-hero-caption{bottom:3%}}
@media(prefers-reduced-motion:reduce){.king-hero{background-attachment:scroll}}

/* v0.9.3 — unified book-like reading spread; no changes to the home screen. */

/* v0.9.5 — cinematic, book-like editorial reading screen. Home and intro untouched. */
.app.king-app{max-width:100%;width:100%;padding:0;overflow:visible;background:#080b0c}
.reading-screen{--paper:#f5eddf;--ink:#231c17;--reading-size:20px;min-height:100svh;background:#111313;color:var(--ink);padding-bottom:72px;overflow-x:clip}
.reading-head{height:82px;background:linear-gradient(#080b0d,#11100f);display:flex;align-items:center;gap:20px;justify-content:space-between;padding:8px max(24px,calc((100vw - 1020px)/2));color:#d6aa6e;position:relative;z-index:2}
.reading-head button{background:none;border:0;color:#d5ae75;cursor:pointer}
.reading-back{font:42px/1 Georgia,serif;padding:0 6px}
.reading-identity{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.reading-identity span{font:15px Georgia,serif;letter-spacing:.2em}
.reading-identity small{font:italic 10px Georgia,serif;letter-spacing:.04em;color:#e3c9a5}
.reading-monogram{position:absolute;left:50%;top:0;transform:translateX(-50%);height:100px;width:150px;object-fit:contain;object-position:center top;filter:drop-shadow(0 4px 9px #000)}
.reading-head-actions{display:flex;gap:14px;align-items:center}
.reading-head-actions button{font:27px Georgia,serif;padding:4px}
.reading-hero{position:relative;width:min(100%,1100px);height:clamp(330px,41vw,490px);margin:0 auto;background:linear-gradient(to bottom,#080b0c00 65%,#110e0b35),url('assets/reading-boot.jpg') center 55%/cover no-repeat}
.reading-hero:after{content:'';position:absolute;inset:auto 0 -2px;height:145px;background:linear-gradient(to bottom,transparent 0%,#f5eddf 94%);pointer-events:none}
.reading-paper{width:min(100%,1100px);margin:-16px auto 0;position:relative;z-index:1;background:var(--paper);padding:0 clamp(28px,9vw,130px) 92px;box-shadow:0 12px 48px #0004}
.reading-eyebrow,.reading-paper h1,.reading-deck,.reading-byline,.reading-prose,.reading-notice{max-width:790px;margin-left:auto;margin-right:auto}
.reading-eyebrow{display:flex;align-items:center;gap:15px;font:12px/1.5 Georgia,serif;color:#9c6b32;letter-spacing:.22em;margin-bottom:16px}
.reading-eyebrow i{width:42px;height:1px;background:#c9a579}
.reading-paper h1{font:normal clamp(46px,5.1vw,75px)/.99 Georgia,'Times New Roman',serif;letter-spacing:-.052em;margin-top:0;margin-bottom:19px;text-wrap:balance}
.reading-deck{font:italic clamp(21px,2vw,27px)/1.4 Georgia,serif;color:#715a4a;margin-top:0;margin-bottom:14px}
.reading-byline{font:14px/1.6 Georgia,serif;color:#8a755e;margin-top:0;margin-bottom:31px}
.reading-meta-dot{padding:0 12px;color:#b17e40}
.reading-prose{font:var(--reading-size)/1.6 Georgia,'Times New Roman',serif;hyphens:none;overflow-wrap:normal;word-break:normal}
.reading-prose p{margin:0 0 1.05em}
.reading-prose .opening:first-letter{float:left;font-size:4.6em;line-height:.77;margin:.085em .11em 0 0;color:#b78642}
.reading-prose h2{font:normal clamp(31px,3.4vw,43px)/1.14 Georgia,serif;margin:1.6em 0 .65em;letter-spacing:-.028em}
.reading-prose .pull{font:italic clamp(26px,2.9vw,38px)/1.35 Georgia,serif;color:#765335;text-align:center;padding:32px 12px;margin:40px 0;border-top:1px solid #d8c5ab;border-bottom:1px solid #d8c5ab}
.reading-prose .artifact{margin:36px -8px 30px}
.reading-prose .artifact img{display:block;width:100%;height:auto;border-radius:9px}
.reading-prose figcaption{font:italic 13px/1.5 Georgia,serif;color:#796c5e;margin-top:9px}
.reading-prose .endmark{text-align:center;color:#a7804b;font-size:26px;margin:45px 0 18px}
.reading-prose .endlinks{text-align:center;border-top:1px solid #d2bfa5;padding-top:25px}
.reading-prose .endlinks p{font:16px/1.6 Georgia,serif;color:#786a5a}
.reading-prose .endlinks button{border:1px solid #987b55;background:transparent;color:#5d452c;padding:13px 18px;margin:7px}
.reading-notice{font:13px/1.65 Georgia,serif;color:#807365;margin-top:42px}
.reading-tools{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);height:67px;z-index:20;background:#080b0df2;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:6px clamp(20px,7vw,70px) max(6px,env(safe-area-inset-bottom));border-top:1px solid #c09b6233;color:#d6ae74;backdrop-filter:blur(12px)}
.reading-tools button{display:flex;flex-direction:column;align-items:center;gap:0;background:none;border:0;color:#e0b982;font:27px/1 Georgia,serif;min-width:42px}
.reading-tools button strong{font:26px/1 Georgia,serif}
.reading-tools button small{font:10px/1.6 Georgia,serif;color:#cdb89c}
.reading-progress{height:4px;flex:1;max-width:150px;border-radius:6px;background:repeating-linear-gradient(to right,#68584b 0 30px,transparent 30px 36px)}
.reading-progress span{display:block;height:100%;background:#dfb677;max-width:100%;border-radius:6px}
@media(max-width:700px){
.reading-head{height:77px;padding:8px 15px;gap:12px}
.reading-identity span{font-size:12px;letter-spacing:.13em}
.reading-identity small{font-size:8px}
.reading-back{font-size:34px}
.reading-monogram{height:81px;width:105px;left:51%}
.reading-head-actions{gap:8px}.reading-head-actions button{font-size:23px}
.reading-hero{height:clamp(265px,70vw,400px);background-position:48% 54%}
.reading-hero:after{height:110px}
.reading-paper{margin:-8px auto 0;padding:0 17px 66px}
.reading-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:10px}
.reading-paper h1{font-size:clamp(42px,10vw,57px);line-height:.99;margin-bottom:12px;letter-spacing:-.052em}
.reading-deck{font-size:19px;line-height:1.34;margin-bottom:12px}
.reading-byline{font-size:12px;margin-bottom:21px;line-height:1.5}
.reading-meta-dot{padding:0 5px}
.reading-prose{font-size:var(--reading-size);line-height:1.49}
.reading-prose .opening:first-letter{font-size:4.2em;margin:.09em .09em 0 0}
.reading-prose h2{font-size:31px}
.reading-prose .pull{font-size:26px;padding:24px 7px}
.reading-tools{height:62px;gap:15px;padding:5px 20px max(5px,env(safe-area-inset-bottom))}
}
@media(max-width:375px){.reading-monogram{height:72px;width:90px}.reading-head-actions{gap:3px}.reading-identity span{font-size:11px}.reading-paper h1{font-size:40px}.reading-deck{font-size:18px}}


/* v0.9.8 — deliberately mobile-sized reader on desktop.
   The homepage and intro remain untouched. */
.app.king-app {
  width:100%;
  max-width:440px;
  margin:0 auto;
  padding:0;
  overflow:visible;
  background:#f5eddf;
}
.reading-screen {
  width:100%;
  min-width:0;
  background:#f5eddf;
  overflow-x:clip;
}
.reading-head {
  width:100%;
  padding:8px 15px;
  height:77px;
  gap:12px;
}
.reading-monogram { max-width:110px; }
.reading-hero {
  width:100%;
  height:clamp(270px,77vw,355px);
  background-position:50% 54%;
}
.reading-hero:after { height:115px; }
.reading-paper {
  width:100%;
  margin:-8px auto 0;
  padding:0 20px 90px;
  box-shadow:none;
}
.reading-eyebrow,.reading-paper h1,.reading-deck,
.reading-byline,.reading-prose,.reading-notice {
  width:100%;
  max-width:none;
}
.reading-paper h1 {
  font-size:clamp(40px,9.7vw,52px);
  line-height:1.01;
  letter-spacing:-.052em;
}
.reading-deck { font-size:clamp(18px,4.6vw,21px); }
.reading-prose { font-size:var(--reading-size); }
.reading-tools {
  width:100%;
  max-width:440px;
  left:50%;
  right:auto;
  transform:translateX(-50%);
}
@media(min-width:701px){
  .reading-hero { height:355px; }
  .reading-paper h1 { font-size:49px; }
  .reading-deck { font-size:20px; }
}
@media(max-width:440px){
  .reading-head { padding-left:12px; padding-right:12px; }
  .reading-paper { padding-left:17px; padding-right:17px; }
}

/* v0.9.9: centred standalone monogram; full-bleed illustration */
.king-app .reading-head{position:relative;display:flex;justify-content:space-between;align-items:center;height:75px;padding:8px 18px}
.king-app .reading-monogram{position:absolute;left:50%;top:0;transform:translateX(-50%);width:95px;height:80px;max-width:95px;object-fit:contain;pointer-events:none}
.king-app .reading-head-actions{margin-left:auto;z-index:1}
.king-app .reading-back{z-index:1}
.king-app .reading-prose figure.artifact{margin:36px -20px 32px}
.king-app .reading-prose figure.artifact img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.king-app .reading-prose figure.artifact figcaption{padding:0 20px;margin-top:10px}
@media(max-width:440px){.king-app .reading-prose figure.artifact{margin-left:-17px;margin-right:-17px}}

/* v0.9.10: quiet editorial film epilogue */
.king-app .reading-finale{margin:40px -20px 18px;padding:32px 22px 36px;background:#10100f;color:#efe6d8;text-align:center;}
.king-app .finale-label{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.23em;color:#c6a16a;margin-bottom:21px;}
.king-app .finale-film{display:block;max-width:248px;margin:0 auto;color:#d3ac71;text-decoration:none;}
.king-app .finale-film img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px;}
.king-app .finale-watch{display:block;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.02em;padding:13px 0;}
.king-app .finale-thought{max-width:310px;margin:14px auto 28px;color:#c6bbac;font:italic 17px/1.5 Georgia,serif;}
.king-app .finale-rule{height:1px;background:#3b342b;margin:0 auto 28px;width:88%;}
.king-app .reading-finale h2{font:normal 30px/1.13 Georgia,serif;letter-spacing:-.025em;color:#f1e8dc;margin:0 0 25px;}
.king-app .finale-next{border:1px solid #a98a58;background:transparent;color:#dfb777;padding:13px 22px;font:600 12px Arial,sans-serif;letter-spacing:.07em;cursor:pointer;border-radius:2px;}
.king-app .finale-next span{margin-left:12px;}
@media(max-width:440px){.king-app .reading-finale{margin-left:-17px;margin-right:-17px;}}

/* v0.9.11: restrained Neverlent coin — one invitation, no looping animation */
.king-app .reading-film-interlude{margin:22px -20px 34px;padding:25px 20px 20px;background:#151412;color:#efe6d8;text-align:center;}
.king-app .reading-film-interlude .finale-label{margin-bottom:15px;}
.king-app .reading-film-interlude .finale-film{max-width:190px;}
.king-app .reading-film-interlude .finale-thought{margin:10px auto 4px;font-size:15px;}
.king-app .reading-finale{padding:38px 20px 44px;margin-top:36px;}
.king-app .reading-finale h2{margin-bottom:23px;}
.king-app .perspective-coin{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:0;border:0;background:none;color:#d9b375;cursor:pointer;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.08em;}
.king-app .perspective-coin:focus-visible{outline:2px solid #e3bd80;outline-offset:8px;}
.king-app .coin-body{position:relative;display:block;width:120px;height:120px;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.65,.23,1);filter:drop-shadow(0 7px 12px #0009);}
.king-app .coin-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;border:3px solid #d6ad69;box-shadow:inset 0 0 0 3px #312319,inset 0 0 0 5px #b58a50;background:radial-gradient(circle at 35% 27%,#43301b,#100e0c 75%);backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.king-app .coin-face img{display:block;width:90%;height:90%;object-fit:contain;}
.king-app .coin-back{transform:rotateY(180deg);}
.king-app .coin-back img{filter:sepia(.15) brightness(.86);}
.king-app .perspective-coin.is-flipping .coin-body{transform:rotateY(540deg);}
.king-app .coin-caption{display:block;}
.king-app .coin-caption span{margin-left:5px;}
@media(max-width:440px){.king-app .reading-film-interlude{margin-left:-17px;margin-right:-17px;}}
@media(prefers-reduced-motion:reduce){.king-app .coin-body{transition:none;}}

/* v0.9.12: film embedded INSIDE the dark lower portion of the storm art */
.king-app .reading-prose figure.artifact .storm-image-wrap{position:relative;width:100%;overflow:hidden;background:#0b151b;}
.king-app .reading-prose figure.artifact img.storm-image{display:block;width:100%;height:auto;}
.king-app .reading-prose figure.artifact .reading-film-interlude{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:10px 12px 16px;background:transparent;text-align:center;color:#efe6d8;}
.king-app .storm-image-wrap .reading-film-interlude .finale-label{margin:0 0 8px;color:#e5bb78;font-size:9px;letter-spacing:.19em;}
.king-app .storm-image-wrap .reading-film-interlude .finale-film{max-width:154px;}
.king-app .storm-image-wrap .reading-film-interlude .finale-film img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;}
.king-app .storm-image-wrap .reading-film-interlude .finale-watch{padding:7px 0 2px;color:#f0c88a;font-size:11px;}
.king-app .storm-image-wrap .reading-film-interlude .finale-thought{max-width:290px;margin:7px auto 0;font-size:13px;line-height:1.4;color:#e3d7c6;}
/* One restrained invitation when the ending scrolls into view, then click flips to Bellamy */
@keyframes neverlent-coin-invite{0%,100%{transform:rotateY(0deg)}48%{transform:rotateY(55deg)}75%{transform:rotateY(-12deg)}}
.king-app .perspective-coin.coin-inviting:not(.is-flipping) .coin-body{animation:neverlent-coin-invite 1.7s ease-in-out 0.25s 1;}
.king-app .perspective-coin.is-flipping .coin-body{animation:none!important;transform:rotateY(540deg);}
@media(prefers-reduced-motion:reduce){.king-app .perspective-coin.coin-inviting .coin-body{animation:none;}}

/* v0.9.13: preserve photographic clarity; short transition to book paper */
.king-app .reading-hero {
  background-image:url('assets/reading-boot-crisp.jpg');
  background-position:center 52%;
}
.king-app .reading-hero::after {
  height:32px;
  bottom:-1px;
  background:linear-gradient(to bottom,rgba(245,237,223,0) 0%,rgba(245,237,223,.52) 63%,#f5eddf 100%);
}

/* v0.9.14: uninterrupted dark closing panel */
.king-app .reading-paper{padding-bottom:0;}
.king-app .reading-finale{margin-bottom:0;}
.king-app .reading-notice{box-sizing:border-box;background:#10100f;color:#968a7a;margin:0 -20px;padding:20px 25px 0;font:12px/1.65 Georgia,serif;border-top:1px solid #3c3329;}
.king-app .reading-attribution{margin:0 -20px;padding:22px 20px 112px;text-align:center;background:#10100f;color:#9c886e;font:italic 12px/1.5 Georgia,serif;letter-spacing:.03em;}
.king-app .reading-attribution a{color:#cba56e;text-decoration:none;border-bottom:1px solid #8c704b;}
@media(max-width:440px){.king-app .reading-notice,.king-app .reading-attribution{margin-left:-17px;margin-right:-17px;}}

/* v0.9.15: Bellamy's ribbon opens an editorial reader, same dimensions as King. */
.bellamy-app .reading-hero.bellamy-hero{background-image:url('assets/ribbon-photo.webp');background-size:cover;background-position:center 50%;}
.bellamy-app .reading-hero.bellamy-hero::after{height:32px;background:linear-gradient(to bottom,transparent,#f5eddf);}
.bellamy-app .reading-eyebrow{color:#a55d48;}
.bellamy-app .reading-eyebrow i{background:#ba8b71;}

/* v0.9.16: full-bleed dark endmatter; remove cream gutters and bottom strip */
.king-app .reading-screen{background:#10100f;padding-bottom:0;}
.king-app .reading-paper{padding-bottom:0;}
.king-app .reading-notice{width:calc(100% + 40px);max-width:none;margin:0 -20px;padding:20px 25px 0;background:#10100f;border-top:1px solid #3c3329;}
.king-app .reading-attribution{width:calc(100% + 40px);max-width:none;margin:0 -20px;padding:22px 20px 112px;background:#10100f;}
@media(max-width:440px){.king-app .reading-notice,.king-app .reading-attribution{width:calc(100% + 34px);margin-left:-17px;margin-right:-17px;}}

/* v0.9.17 — one cinematic scene, two connected perspectives; swipe the scene horizontally */
.app.world-home{max-width:570px;padding:0 0 26px;display:block;min-height:100svh;overflow:hidden;background:#060b10;}
.world-stage{position:relative;height:clamp(420px,115vw,640px);background-image:linear-gradient(to bottom,rgba(2,6,9,.12) 0%,transparent 26%,transparent 64%,#060b10 100%),var(--scene);background-position:center top,center 38%;background-size:cover;background-repeat:no-repeat;touch-action:pan-y;user-select:none;}
.world-brand{position:absolute;top:18px;left:0;right:0;z-index:2;text-align:center;filter:drop-shadow(0 2px 15px #000);}
.world-home .world-brand .logo{width:min(65%,290px);max-width:290px;height:auto;display:block;margin:auto;mix-blend-mode:normal;filter:drop-shadow(0 2px 10px #000);}
.world-controls{position:absolute;left:0;right:0;bottom:55px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:2;}
.world-arrow{width:38px;height:38px;border-radius:50%;background:#05080bb3;color:#eed3a1;border:1px solid #d1a66e80;font:30px/1 Georgia,serif;}
.world-count{font:11px Arial,sans-serif;letter-spacing:.2em;color:#f3e4cb;text-shadow:0 1px 8px #000;background:#05080b8c;padding:7px 12px;border-radius:18px;}
.world-home .home-content{position:relative;margin-top:-49px;padding:0 18px;z-index:3;}
.world-home .home-intro{margin:0 0 14px;text-align:center;}
.world-home .prompt{font-size:clamp(23px,5.4vw,30px);text-shadow:0 2px 8px #000;}
.world-home .sub{font-size:9px;letter-spacing:.17em;margin-top:7px;color:#d8b986;}
.world-home .choices{gap:10px;}
.world-home .choice,.world-home .choice.cool{min-height:clamp(176px,48vw,240px);border-radius:14px;}
.world-home .choice .ct{padding:12px 12px 15px;}
.world-home .choice strong{font-size:clamp(21px,5vw,29px);}
.world-home .choice .object-photo{object-position:center center;}
.world-dots{display:flex;justify-content:center;gap:11px;margin:17px 0 0;}
.world-dots button{height:7px;width:7px;border-radius:50%;padding:0;border:0;background:#746f68;}
.world-dots button.selected{background:#d4a65e;width:21px;border-radius:6px;}
.world-home .link{margin:12px auto 0;}
.comedy-preview{max-width:520px;margin:auto;padding:22px 20px 60px;background:#090c10;min-height:100svh;}
.comedy-preview img{width:100%;border-radius:12px;margin-top:25px;max-height:390px;object-fit:cover;object-position:center 35%;}
.comedy-preview h1{font-weight:normal;font-size:39px;margin:10px 0;}
.comedy-preview p{line-height:1.6;}.comedy-preview .comedy-object{color:#d6b580;text-transform:uppercase;letter-spacing:.13em;font:12px Arial,sans-serif;}
@media(max-width:370px){.world-home .home-content{padding:0 12px}.world-home .choice strong{font-size:20px}.world-home .world-brand .logo{width:69%}}

/* v0.9.18 — readable editorial masthead across both cinematic worlds.
   Keep the original logo and its built-in The Space Between Stories line. */
.world-home .world-brand{top:8px;padding:13px 0 20px;filter:none;pointer-events:none;background:linear-gradient(to bottom,rgba(2,6,10,.88) 0%,rgba(2,6,10,.63) 58%,rgba(2,6,10,0) 100%);}
.world-home .world-brand .logo{width:min(56%,245px);max-width:245px;mix-blend-mode:normal;filter:drop-shadow(0 2px 6px rgba(0,0,0,.9));}
@media(max-width:370px){.world-home .world-brand .logo{width:59%;}}

/* v0.9.19: permanent phone-first composition. Artwork is prepared for this fixed frame. */
.world-home .world-stage{
 height:clamp(345px,54svh,510px);
 background-position:center top,center top;
 background-size:100% 100%,100% 100%;
}
.world-home .world-brand{
 position:absolute;top:0;left:0;right:0;
 height:205px;padding:9px 0 0;background:none;z-index:4;
 display:flex;justify-content:center;align-items:flex-start;
}
.world-home .world-brand .logo{
 width:174px!important;max-width:174px!important;height:auto!important;
 margin:0 auto;mix-blend-mode:normal!important;filter:none!important;
}
.world-home .world-controls{bottom:35px;padding:0 16px;}
.world-home .home-content{margin-top:-27px;padding:0 16px;}
.world-home .home-intro{margin-bottom:13px;}
.world-home .choice,.world-home .choice.cool{min-height:clamp(165px,24svh,214px);}
@media(max-width:370px){
 .world-home .world-brand .logo{width:160px!important;max-width:160px!important;}
 .world-home .world-brand{height:192px;}
 .world-home .world-stage{height:clamp(325px,53svh,455px);}
}

/* v0.9.20 — approved composition: permanent black masthead, logo crossing its lower edge.
   Keep brand independent of each world's artwork; preserve both story choices below. */
.world-home .world-stage{
  height:clamp(430px,62svh,585px);
  background:none!important;
  isolation:isolate;
}
.world-home .world-stage::before{
  content:"";position:absolute;z-index:0;left:0;right:0;top:102px;bottom:0;
  background-image:linear-gradient(to bottom,rgba(3,8,13,.07) 0%,transparent 32%,transparent 69%,#060b10 100%),var(--scene);
  background-position:center,center 39%;background-size:100% 100%,cover;
  background-repeat:no-repeat;
}
.world-home .world-stage::after{
  content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:102px;
  background:#05080b;pointer-events:none;
}
.world-home .world-brand{
  top:5px;left:0;right:0;height:auto;padding:0;z-index:4;
  background:transparent;display:flex;justify-content:center;align-items:flex-start;
}
.world-home .world-brand .logo{
  display:block;width:174px!important;max-width:174px!important;height:auto!important;
  filter:drop-shadow(0 3px 9px #000b)!important;
}
.world-home .world-controls{bottom:33px;z-index:5;}
.world-home .home-content{margin-top:-24px;padding:0 16px;}
@media(max-width:370px){
  .world-home .world-stage{height:clamp(405px,60svh,515px);}
  .world-home .world-stage::before{top:90px;}
  .world-home .world-stage::after{height:90px;}
  .world-home .world-brand .logo{width:155px!important;max-width:155px!important;}
}

/* v0.9.21 — fill available phone height without adding UI or distorting artwork. */
.world-home .world-stage{height:clamp(405px,calc(100svh - 390px),730px);}
.world-home .choice,.world-home .choice.cool{min-height:clamp(180px,25svh,275px);}
.world-home .world-dots{margin-top:14px;}
.world-home .link{margin-top:10px;}
@media(max-width:370px){
 .world-home .world-stage{height:clamp(365px,calc(100svh - 360px),610px);}
 .world-home .choice,.world-home .choice.cool{min-height:clamp(160px,24svh,230px);}
}
@media(max-height:740px){
 .world-home .world-stage{height:clamp(325px,calc(100svh - 340px),480px);}
 .world-home .choice,.world-home .choice.cool{min-height:clamp(150px,23svh,190px);}
}

/* v0.9.26: fixed brand, single editorial slogan in central heading */
.world-home .world-brand .logo{width:174px!important;max-width:174px!important;}
.world-home .home-intro .prompt{font-size:clamp(23px,5.8vw,32px);line-height:1.1;letter-spacing:-.02em;}

/* v0.9.28: theatre artwork recropped to keep Christ's portrait in frame. */
.world-home .world-stage:has(+ .home-content){}

/* v0.9.37 — Elm Street World image framing only */
.elm-world .world-stage::before{background-position:center,center 52%;}
.elm-world .choice .object-photo{object-position:center 40%;filter:brightness(.78);}
.elm-world .choice{background:#241a16;}
.elm-world .choice.cool{background:#27211a;}

/* v0.9.39 — editorial floating masthead: same original artwork, no opaque black panel.
   Scene extends behind the identity in every world. Contrast comes from a soft gradient. */
.world-home .world-stage{background:#05080b!important;isolation:isolate;}
.world-home .world-stage::before{
  top:0!important;bottom:0!important;
  background-image:linear-gradient(to bottom,rgba(2,5,9,.91) 0%,rgba(2,5,9,.60) 16%,rgba(2,5,9,.12) 37%,transparent 58%,#060b10 100%),var(--scene)!important;
  background-position:center,center 39%!important;
  background-size:100% 100%,cover!important;
}
.world-home .world-stage::after{display:none!important;}
.world-home .world-brand{top:5px!important;background:transparent!important;filter:none!important;z-index:4!important;}
.world-home .world-brand .logo{
  mix-blend-mode:screen!important;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))!important;
}
@media(max-width:370px){.world-home .world-stage::before{top:0!important;}}

/* v0.9.40: remove the actual black rectangle baked into the logo image.
   The brand PNG now has genuine transparency. */
.world-home .world-brand .logo{mix-blend-mode:normal!important;}
.world-home .world-stage::before{
 background-image:linear-gradient(to bottom,rgba(2,5,9,.26) 0%,rgba(2,5,9,.12) 23%,transparent 48%,#060b10 100%),var(--scene)!important;
}

/* v0.9.41 — consistently frame prepared artwork without cover-cropping
   important people at the left and right edges. */
.world-home .world-stage::before{
 background-position:center,center!important;
 background-size:100% 100%,100% 100%!important;
 background-image:
  linear-gradient(to bottom,rgba(2,5,9,.66) 0%,rgba(2,5,9,.29) 17%,rgba(2,5,9,0) 34%,transparent 67%,#060b10 100%),
  var(--scene)!important;
}
.world-home .world-brand .logo{
 filter:drop-shadow(0 2px 13px rgba(0,0,0,.95)) drop-shadow(0 0 24px rgba(0,0,0,.8))!important;
}

/* v0.9.42: full-scene, detailed edge extensions, not blurred letterboxing. */
.world-home .world-stage::before{background-position:center center!important;background-size:100% 100%,100% 100%!important;}
.world-home .world-brand .logo{filter:drop-shadow(0 0 17px rgba(0,0,0,.95)) drop-shadow(0 0 32px rgba(0,0,0,.65))!important;}

/* v0.9.44: mobile-first proportional artwork. No image stretching. */
.world-home .world-stage{height:clamp(385px,calc(100svh - 365px),650px)!important;overflow:hidden;background:#07090c!important;}
.world-home .world-stage::before{inset:0!important;background-image:linear-gradient(to bottom,rgba(3,5,8,.65) 0%,rgba(3,5,8,.15) 24%,transparent 54%,#060b10 100%),var(--scene)!important;background-size:100% 100%,contain!important;background-position:center center,center center!important;background-repeat:no-repeat!important;}
.world-home .world-brand{pointer-events:none;}
.world-home .world-brand .logo{filter:drop-shadow(0 2px 11px #000) drop-shadow(0 0 22px #000c)!important;}
.world-home .choice,.world-home .choice.cool{overflow:hidden;min-width:0;min-height:clamp(165px,24svh,225px)!important;}
.world-home .choice .object-photo{width:100%;height:100%;object-fit:contain!important;object-position:center 38%!important;}
.world-home .choice .ct{position:relative;z-index:2;background:linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.56) 75%,transparent);}
@media(max-width:390px){.world-home .world-stage{height:clamp(345px,calc(100svh - 345px),555px)!important;}.world-home .choice,.world-home .choice.cool{min-height:clamp(155px,23svh,205px)!important;}}
@media(max-height:700px){.world-home .world-stage{height:clamp(315px,calc(100svh - 320px),435px)!important;}.world-home .choice,.world-home .choice.cool{min-height:145px!important;}}

/* v0.9.46: Vincent scene only — bigger subjects, no repeated figures. */
.world-home.vincent-world .world-stage::before {
 background-size:100% 100%,cover!important;
 background-position:center center,center 43%!important;
}

/* v0.9.47: scene-specific image composition; eliminate letterbox/pillarbox. */
.world-home .world-stage::before{
 background-size:100% 100%,cover!important;
 background-position:center,center 45%!important;
}
.world-home.vincent-world .world-stage::before{
 background-size:100% 100%,cover!important;
 background-position:center,center 48%!important;
}
.world-home.rocky-world .world-stage::before{
 background-size:100% 100%,cover!important;
 background-position:center,center 48%!important;
}
.world-home.elm-framed-world .world-stage::before{
 background-size:100% 100%,cover!important;
 background-position:center,center 48%!important;
}
.world-home .choice .object-photo{object-fit:cover!important;object-position:center 40%!important;}
.world-home.elm-framed-world .choice .object-photo{object-fit:cover!important;object-position:center 45%!important;}

/* v0.9.64: editorial scene artwork extended to the lower edge, no artificial crop shift. */
.world-home.rocky-world .world-stage::before {background-position:center center,center 48%!important;}

/* v0.9.66 — restore undistorted source images. Maintain original image aspect ratio. */
.world-home.baal-world .world-stage::before,
.world-home.rocky-world .world-stage::before {
  background-size:100% 100%,cover!important;
  background-position:center center,center center!important;
  background-repeat:no-repeat!important;
}

/* v0.9.67 — genuine extracted scene art; preserve proportions, no forced 100% stretching. */
.world-home.rocky-world .world-stage::before,
.world-home.baal-world .world-stage::before {
 background-size:100% 100%,cover!important;
 background-position:center center,center 49%!important;
}

/* v0.9.68 — clean film stills, no screenshot extraction, no stretching. */
.world-home.rocky-world .world-stage::before,
.world-home.baal-world .world-stage::before {
 background-size:100% 100%,cover!important;
 background-position:center center,center 49%!important;
 background-repeat:no-repeat!important;
}
.world-home.rocky-world .world-brand .logo,
.world-home.baal-world .world-brand .logo {mix-blend-mode:normal!important;}

/* v0.9.69: scenes have an actual full-width canvas, with no baked-in side bars.
   The figures are never stretched. */
.world-home.rocky-world .world-stage::before,
.world-home.baal-world .world-stage::before {
  background-size:100% 100%,cover!important;
  background-position:center center,center center!important;
}

/* v0.9.70: Use the original wide artwork, never the narrowed/pillarboxed 0.9.68/69 images.
   CSS cover scales uniformly; no artificial side fills or image stretching. */
.world-home.rocky-world .world-stage::before,
.world-home.baal-world .world-stage::before {
  background-size:100% 100%,cover!important;
  background-position:center center,center 50%!important;
  background-repeat:no-repeat!important;
}

/* v0.9.71: Baal artwork without embedded black bands. */
.world-home.baal-world .world-stage {height:calc(100vw * .615 + 100px)!important;min-height:0!important;max-height:560px!important;}
.world-home.baal-world .world-stage::before {inset:0!important;background-image:linear-gradient(to bottom,rgba(2,4,7,.75) 0%,rgba(2,4,7,.25) 18%,transparent 40%,transparent 72%,#060b10 100%),var(--scene)!important;background-size:100% 100%,100% auto!important;background-position:center center,center 58px!important;background-repeat:no-repeat!important;}
@media(min-width:600px){.world-home.baal-world .world-stage{height:469px!important;}}

/* v0.9.72: Baal-only layout, calibrated to the supplied phone screenshot.
   A full-width portrait canvas, no cover-crop, no side pillarboxing. */
.world-home.baal-world .world-stage {
  height:clamp(490px,69svh,630px)!important;
  max-height:none!important; min-height:0!important;
  background:#05090d!important;
}
.world-home.baal-world .world-stage::before {
  inset:0!important;
  background-image:linear-gradient(to bottom,rgba(2,4,7,.35),transparent 26%,transparent 68%,#060b10 100%),var(--scene)!important;
  background-size:100% 100%,100% 100%!important;
  background-position:center center,center center!important;
  background-repeat:no-repeat!important;
}
.world-home.baal-world .home-content {margin-top:-22px!important;}
@media (max-height:740px){
 .world-home.baal-world .world-stage {height:clamp(420px,67svh,510px)!important;}
}

/* v0.9.73 — one clean Baal composition: no baked-in black bottom gap.
   The scene now has its own extended chessboard at the bottom. */
.world-home.baal-world .world-stage {
 height:clamp(470px,122vw,650px)!important;
 max-height:none!important;
}
.world-home.baal-world .world-stage::before {
 inset:0!important;
 background-image:linear-gradient(to bottom,rgba(2,4,7,.28) 0%,transparent 22%,transparent 72%,#060b10 100%),var(--scene)!important;
 background-size:100% 100%,100% 100%!important;
 background-position:center center,center center!important;
 background-repeat:no-repeat!important;
}
.world-home.baal-world .world-controls {bottom:30px!important;}
.world-home.baal-world .home-content {margin-top:-24px!important;}

/* v0.9.74 — Baal: remove the baked-in reflection/black gap.
   Cover fills the entire hero and crops only the lateral margins, never the hands. */
.world-home.baal-world .world-stage {
  height:clamp(510px,110vw,650px)!important; max-height:none!important;
}
.world-home.baal-world .world-stage::before {
  inset:0!important;
  background-image:linear-gradient(to bottom,rgba(2,4,7,.40) 0%,rgba(2,4,7,.08) 23%,transparent 65%,#060b10 100%),var(--scene)!important;
  background-size:100% 100%,cover!important;
  background-position:center center,center top!important;
  background-repeat:no-repeat!important;
}
.world-home.baal-world .world-controls {bottom:25px!important;}
.world-home.baal-world .home-content {margin-top:-22px!important;}

/* v0.9.75 — Vincent: clean scene from approved artwork, with original UI overlaid.
   No logo, controls, or card text are embedded in the scene image. */
.world-home.vincent-world .world-stage::before {
  background-image:
    linear-gradient(to bottom,rgba(2,3,5,.20) 0%,transparent 32%,transparent 70%,#060b10 100%),
    var(--scene) !important;
  background-size:100% 100%,cover !important;
  background-position:center center,center 42% !important;
  background-repeat:no-repeat !important;
}

/* v0.9.76: teacher face and pointing hand fully framed. */
.world-home.vincent-world .world-stage::before {
 background-image:linear-gradient(to bottom,rgba(2,3,5,.25) 0%,transparent 27%,transparent 69%,#060b10 100%),var(--scene)!important;
 background-size:100% 100%,100% 100%!important;
 background-position:center,center!important;
 background-repeat:no-repeat!important;
}

/* v0.9.77: frame both faces and entire drawing, no distortion. */
.world-home.vincent-world .world-stage::before{
  background-image:linear-gradient(to bottom,rgba(3,5,8,.52) 0%,transparent 23%,transparent 72%,#060b10 100%),var(--scene)!important;
  background-size:100% 100%,cover!important;
  background-position:center,center 45%!important;
  background-repeat:no-repeat!important;
}

/* v0.9.78 — world 10 only: the accepted Walt St. / Elm St. scene.
   Keep the app's real Neverlent logo and navigation as separate UI. */
.world-home.elm-world .world-stage::before{
 background-image:linear-gradient(to bottom,rgba(3,5,8,.15),transparent 30%,transparent 75%,#060b10 100%),var(--scene)!important;
 background-size:100% 100%,100% 100%!important;
 background-position:center,center!important;
 background-repeat:no-repeat!important;
}
.world-home.elm-world .choice .object-photo{object-fit:cover!important;object-position:center!important;}

/* v0.9.80: Mozart only — eliminate baked empty bands and fill the stage. */
.world-home.mozart-world .world-stage::before{
  background-image:linear-gradient(to bottom,rgba(2,4,7,.78) 0%,rgba(2,4,7,.22) 19%,transparent 40%,transparent 78%,#060b10 100%),var(--scene)!important;
  background-size:100% 100%,cover!important;
  background-position:center center,center 49%!important;
  background-repeat:no-repeat!important;
}

/* v0.9.81 — New world: Last Supper, image-only scene and separate original logo */
.world-home.supper-world .world-stage {
 background-image:linear-gradient(to bottom,rgba(3,5,7,.65) 0%,rgba(3,5,7,.10) 22%,transparent 60%,#060b10 100%),var(--scene);
 background-position:center top,center 43%;
 background-size:100% 100%,cover;
}

/* v0.9.82: world 11 only — eliminate baked black top band, keep real artwork full width.
   Original logo is an independent app overlay; do not bake UI into image. */
.world-home.elm-world .world-stage::before {
 background-image:linear-gradient(to bottom,rgba(2,4,7,.58) 0%,rgba(2,4,7,.24) 18%,transparent 40%,transparent 73%,#060b10 100%),var(--scene)!important;
 background-size:100% 100%,cover!important;
 background-position:center center,center center!important;
 background-repeat:no-repeat!important;
}

/* v0.9.83 — Last Supper: foreground objects readable and original brand lettering contrasted. */
.world-home.supper-world .world-stage::before {
 background-image:linear-gradient(to bottom,rgba(0,0,0,.67) 0%,rgba(0,0,0,.37) 18%,transparent 35%,transparent 69%,#060b10 100%),var(--scene)!important;
 background-size:100% 100%,cover!important;
 background-position:center,center 43%!important;
}
.world-home.supper-world .world-brand {filter:drop-shadow(0 2px 7px #000) drop-shadow(0 0 11px #000);}
.world-home.supper-world .choice .object-photo {object-fit:cover!important;object-position:center 20%!important;filter:brightness(1.12) contrast(1.06)!important;}
.world-home.supper-world .choice::after {background:linear-gradient(to bottom,transparent 38%,rgba(0,0,0,.16) 53%,#050505 100%)!important;}

/* v0.9.84 — The Time / Wasted Miracle */
.time-story-app{padding:0;max-width:570px;background:#090a0b;}
.time-story{padding:22px 24px 52px;min-height:100svh;background:radial-gradient(ellipse at 50% 23%,#241b13 0%,#0a0a0b 50%);}
.time-story-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.time-story-nav span{font:9px Arial,sans-serif;letter-spacing:.19em;color:#a8916b;}
.time-story-brand{margin:16px auto 8px;text-align:center;}
.time-story-brand img{display:block;width:min(64%,245px);margin:auto;mix-blend-mode:screen;}
.time-story-kicker{text-align:center;font:10px Arial,sans-serif;letter-spacing:.28em;color:#c7a46a;margin:20px 0 15px;}
.time-story h1{text-align:center;font-weight:normal;font-size:clamp(38px,10vw,61px);line-height:1.02;letter-spacing:-.035em;margin:0 0 16px;color:#f0dfc4;}
.time-story-deck{text-align:center;font:italic 18px/1.48 Georgia,serif;color:#c9b79f;margin:0 auto 27px;max-width:420px;}
.time-story-image{margin:0 -24px 28px;position:relative;}
.time-story-image img{width:100%;height:auto;display:block;filter:contrast(1.05);}
.time-story-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#090a0b);pointer-events:none;}
.time-story-image figcaption{position:absolute;bottom:13px;left:0;right:0;text-align:center;color:#e2c38f;letter-spacing:.26em;font:10px Arial,sans-serif;z-index:1;}
.time-story-copy{max-width:455px;margin:auto;}
.time-story-copy p{font:18px/1.78 Georgia,serif;color:#d9cbbb;margin:0 0 24px;}
.time-story-copy blockquote{font:italic 29px/1.28 Georgia,serif;text-align:center;color:#e7c58c;margin:38px 5px;padding:25px 10px;border-top:1px solid #57452e;border-bottom:1px solid #57452e;}
.time-story-ending{text-align:center;margin-top:40px;padding:26px 8px 0;border-top:1px solid #4e3b29;}
.time-story-ending span{font:10px Arial,sans-serif;letter-spacing:.24em;color:#c7a46a;}
.time-story-ending h2{font:normal 30px/1.24 Georgia,serif;color:#f0dfc4;margin:19px 0 26px;}
.time-story-foot{text-align:center;margin:40px 0 0;color:#8c7a62;font:9px Arial,sans-serif;letter-spacing:.21em;}

/* v0.9.87 — cinematic cover / paper reading / cinematic conclusion */
.jd-app{background:#07090b;color:#f4e9d9;min-height:100vh}.jd-article{max-width:720px;margin:auto}.jd-top{height:65px;display:flex;align-items:center;justify-content:space-between;padding:4px 20px;background:#07090b;position:relative;z-index:3}.jd-top img{height:56px;width:96px;object-fit:contain}.jd-back,.jd-save{background:transparent;border:0;color:#d9b574;font-size:26px;cursor:pointer}.jd-back span{font:10px Arial,sans-serif;letter-spacing:.13em;vertical-align:middle}.jd-cover{position:relative;min-height:690px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.jd-scene{position:absolute;inset:0;background-size:cover;background-position:center 38%;opacity:.67}.jd-object{position:absolute;top:16%;left:50%;transform:translateX(-50%);width:min(72%,340px);height:230px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 13px 24px #000)}.jd-object img{max-width:100%;max-height:100%;object-fit:contain;border-radius:13px;mask-image:linear-gradient(to bottom,#000 62%,transparent 100%)}.jd-cover-content{position:relative;padding:0 24px 44px;background:linear-gradient(transparent,rgba(5,7,9,.95) 14%,#07090b 95%)}.jd-eyebrow,.jd-meta,.jd-outro-label{font:11px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#d3aa68}.jd-eyebrow span{margin:0 7px}.jd-cover h1{font:normal clamp(39px,9vw,67px)/.99 Georgia,serif;letter-spacing:-.04em;margin:16px 0 20px;color:#f6ecdd}.jd-deck{font:italic 21px/1.38 Georgia,serif;color:#d7c5aa;margin:0 0 24px}.jd-meta{font-size:9px;color:#b9a17d;letter-spacing:.12em}.jd-meta span{padding:0 7px}.jd-scroll{margin:35px auto 0;display:flex;gap:15px;align-items:center;justify-content:center;max-width:290px;text-decoration:none;color:#e8c28b;border:1px solid #977346;border-radius:50px;padding:15px;font:11px Arial,sans-serif;letter-spacing:.18em}.jd-paper{background:#f2eadb;color:#27221c;padding:45px 25px 55px}.jd-paper-eyebrow{font:10px Arial,sans-serif;letter-spacing:.16em;color:#92683d}.jd-paper h2{font:normal clamp(34px,8vw,57px)/1.02 Georgia,serif;letter-spacing:-.04em;margin:23px 0}.jd-intro{font:italic 22px/1.4 Georgia,serif;color:#87603d}.jd-rule{text-align:center;margin:32px 0;color:#ad7b3d;position:relative}.jd-rule:before{content:'';height:1px;background:#cdbba1;position:absolute;top:50%;left:0;right:0}.jd-rule span{background:#f2eadb;position:relative;padding:0 20px}.jd-copy{max-width:590px;margin:auto}.jd-paragraph{font:18px/1.73 Georgia,serif;margin:0 0 26px}.jd-opening:first-letter{float:left;font:76px/.79 Georgia,serif;color:#ae7f42;padding:8px 9px 0 0}.jd-idea{border-top:1px solid #cbbca8;border-bottom:1px solid #cbbca8;text-align:center;padding:28px 4px;margin:34px 0}.jd-idea span{font:10px Arial,sans-serif;letter-spacing:.2em;color:#92683d}.jd-idea p{font:italic 27px/1.3 Georgia,serif}.jd-note{font:12px/1.6 Arial,sans-serif;color:#857765}.jd-outro{background:#080a0c;padding:48px 24px 55px;text-align:center}.jd-outro h2{font:normal 39px Georgia,serif;margin:14px 0}.jd-outro>p:not(.jd-outro-label){font:17px/1.55 Georgia,serif;color:#c7b8a4}.jd-film{display:block;position:relative;margin:24px auto 45px;max-width:500px;border:1px solid #7c603e;border-radius:12px;overflow:hidden;color:#f6e5cc;text-decoration:none}.jd-film img{width:100%;display:block;max-height:260px;object-fit:cover;filter:brightness(.6)}.jd-film span{position:absolute;bottom:18px;left:0;right:0;font:11px Arial,sans-serif;letter-spacing:.18em}.jd-flip{border-top:1px solid #5b4630;padding-top:33px}.jd-coin{border:0;background:none;cursor:pointer;display:block;width:154px;height:154px;margin:25px auto;perspective:800px}.jd-coin-inner{display:block;position:relative;width:100%;height:100%;transition:transform .75s;transform-style:preserve-3d}.jd-coin.is-flipped .jd-coin-inner{transform:rotateY(180deg)}.jd-coin-front,.jd-coin-back{position:absolute;inset:0;border:6px ridge #c99b52;border-radius:50%;backface-visibility:hidden;background:radial-gradient(circle at 30% 25%,#a57a3a,#31200f 75%);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 3px #39220d,0 12px 25px #000}.jd-coin-front img{width:85%;max-height:85%;object-fit:contain}.jd-coin-back{transform:rotateY(180deg);font:75px Georgia,serif;color:#ebc47d;flex-direction:column}.jd-coin-back small{font:8px Arial,sans-serif;letter-spacing:.08em}.jd-flip-hint{font:italic 16px Georgia,serif;color:#c9b9a2}.jd-other,.jd-worlds{background:transparent;color:#dfb77d;border:1px solid #b38b50;border-radius:35px;padding:15px 23px;font:11px Arial,sans-serif;letter-spacing:.12em;cursor:pointer;margin:15px auto}.jd-other[hidden]{display:none}.jd-worlds{display:block;margin-top:45px;border-color:#65513b;color:#c2ad90}

/* v0.9.89 — artifact-first reading, without duplicated heading */
.jd-cover{min-height:min(790px,calc(100svh - 65px))}.jd-scene{opacity:.76;background-position:center 36%!important}.jd-cover-content{padding-top:170px}.jd-paper{padding-top:30px}.jd-artifact{margin:0 0 30px}.jd-artifact img{width:100%;height:auto;max-height:350px;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:3px}.jd-artifact figcaption{font:10px/1.5 Arial,sans-serif;letter-spacing:.16em;color:#92683d;margin-top:10px}.jd-byline{font:10px/1.6 Arial,sans-serif;letter-spacing:.11em;color:#947047;border-bottom:1px solid #cdbba1;padding-bottom:20px;margin-bottom:28px}.jd-byline span{padding:0 7px}.jd-share{display:block;width:100%;max-width:330px;margin:35px auto 20px;background:#f2eadb;border:1px solid #ad824c;border-radius:30px;color:#74512c;padding:15px 20px;font:11px Arial,sans-serif;letter-spacing:.16em;cursor:pointer}.jd-share:focus-visible,.jd-scroll:focus-visible,.jd-coin:focus-visible{outline:3px solid #d6ac6a;outline-offset:4px}@media(max-width:480px){.jd-cover{min-height:690px}.jd-cover-content{padding-top:115px}.jd-artifact img{max-height:280px}.jd-paragraph{font-size:18px;line-height:1.68}}

/* v0.9.92: editorial scroll, primary gold share CTA */
.jd-share{background:linear-gradient(135deg,#f3d89c 0%,#d5a95e 48%,#c08b3d 100%);color:#17120b;border:1px solid #c69b56;box-shadow:0 4px 18px rgba(101,62,16,.14);font-weight:700;min-height:50px;transition:filter .2s,transform .2s;}
.jd-share:hover{filter:brightness(1.07)}.jd-share:active{transform:scale(.985)}
.jd-cover{min-height:min(690px,78svh)}
.jd-cover-content{padding-top:105px;padding-bottom:30px}
@media(max-width:480px){.jd-cover{min-height:min(640px,76svh)}.jd-cover-content{padding-top:85px;padding-bottom:28px}}
@media(max-height:650px){.jd-cover{min-height:560px}}

/* v0.9.93: authentic Transhumation emblem and one-tap perspective switch */
.jd-coin-back{overflow:hidden;}
.jd-coin-back img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(242,191,101,.32));}
.jd-coin{touch-action:manipulation;}
@media(prefers-reduced-motion:reduce){.jd-coin-inner{transition-duration:.15s}}

/* v0.9.97: one consistent attribution, below About on the home view */
.neverlent-attribution{text-align:center;margin:9px auto 0;padding:5px 0 13px}
.neverlent-attribution a{color:#a98c60;text-decoration:none;font:9px/1.5 Arial,sans-serif;letter-spacing:.18em}
.neverlent-attribution a:hover,.neverlent-attribution a:focus-visible{color:#e3c08a;text-decoration:underline}
.world-home .home-content>.link{margin-bottom:6px}
.comedy-reading{margin:-20px -22px 0}
.comedy-reading>.ghost{margin:20px 22px}
.comedy-reading-hero img{width:100%;display:block;max-height:380px;object-fit:cover}
.comedy-reading-paper{background:#eee3d0;color:#241d17;padding:33px 28px 40px}
.comedy-reading-kicker{font:10px Arial,sans-serif;letter-spacing:.15em;color:#85643a}
.comedy-reading-paper h1{font-size:clamp(31px,8vw,46px);font-weight:normal;line-height:1.08;margin:16px 0}
.comedy-reading-deck{font-style:italic;color:#786a58;font-size:16px;margin-bottom:32px}
.comedy-reading-prose p{font-size:17px;line-height:1.78;margin:0 0 22px}
.comedy-reading-note{border-top:1px solid #b9aa91;padding-top:18px;font:12px/1.6 Arial,sans-serif;color:#7c6d5a}
.comedy-reading-share{background:transparent;border:1px solid #8d7859;padding:13px;width:100%;font:12px Arial,sans-serif;letter-spacing:.12em;color:#493824}
.comedy-reading-outro{text-align:center;padding:40px 24px 16px}
.comedy-reading-outro h2{font-size:28px;font-weight:normal;line-height:1.35;color:#d7b77c}

/* v0.9.100 — final, restrained phone-home spacing polish */
@media(max-width:600px){
  .world-home .world-brand .logo{transform:translateY(-11px);}
  .world-home .home-content{padding-left:27px;padding-right:27px;}
  .world-home .choices{gap:12px;}
  .world-home .choice,.world-home .choice.cool{min-height:clamp(190px,27svh,285px);border-radius:13px;}
  .world-home .choice .ct{padding:12px 10px 15px;}
}
@media(max-width:370px){
  .world-home .home-content{padding-left:21px;padding-right:21px;}
  .world-home .choices{gap:10px;}
  .world-home .choice,.world-home .choice.cool{min-height:clamp(175px,26svh,245px);}
}
@media(max-height:740px) and (max-width:600px){
  .world-home .choice,.world-home .choice.cool{min-height:clamp(160px,24svh,200px);}
}

/* v0.9.101: one unified artifact-first editorial opening for Rocky and Neverland. */
.jd-cover.jd-cover-editorial{min-height:0!important;display:block;overflow:visible;padding:14px 0 0;background:#07090b}
.jd-cover-editorial .jd-cover-artifact{margin:0 20px 0;position:relative;overflow:hidden;border:1px solid rgba(193,148,82,.42);border-radius:9px;background:#12110f;aspect-ratio:1.48/1}
.jd-cover-editorial .jd-cover-artifact img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.jd-cover-editorial .jd-cover-content{padding:28px 24px 34px!important;background:none!important;position:relative}
.jd-cover-editorial .jd-cover-content h1{font-size:clamp(36px,8.5vw,61px);line-height:1.02;margin:12px 0 16px}
.jd-cover-editorial .jd-deck{margin-bottom:19px}
.jd-cover-editorial+.jd-paper{padding-top:38px!important}
@media(max-width:480px){.jd-cover-editorial .jd-cover-artifact{margin:0 18px;aspect-ratio:1.46/1}.jd-cover-editorial .jd-cover-content{padding:25px 22px 31px!important}.jd-cover-editorial .jd-cover-content h1{font-size:clamp(35px,9vw,49px)}.jd-cover-editorial+.jd-paper{padding-top:32px!important}}

/* v0.9.102 — calm, compact cinematic mobile layout */
@media(max-width:600px){
 .world-home .world-stage{height:clamp(370px,67svh,570px)!important;}
 .world-home .world-brand{top:0!important;}
 .world-home .world-brand .logo{transform:translateY(-17px)!important;}
 .world-home .home-content{padding-left:clamp(22px,6vw,36px)!important;padding-right:clamp(22px,6vw,36px)!important;margin-top:-18px!important;}
 .world-home .choices{gap:12px!important;}
 .world-home .choice,.world-home .choice.cool{min-height:clamp(180px,24svh,235px)!important;}
 .world-home .world-controls{bottom:24px!important;}
 .world-home .home-intro{margin-bottom:12px!important;}
 .world-home .world-dots{margin-top:10px!important;}
}
@media(max-width:370px){
 .world-home .world-stage{height:clamp(345px,65svh,510px)!important;}
 .world-home .home-content{padding-left:20px!important;padding-right:20px!important;}
 .world-home .choice,.world-home .choice.cool{min-height:clamp(170px,24svh,215px)!important;}
}
/* Editorial artifact: a quiet opening image, not a second poster */
.jd-cover-editorial .jd-cover-artifact{
 width:min(78%,350px);
 margin:12px auto 0;
 aspect-ratio:1.8/1;
 border:1px solid rgba(193,148,82,.24);
 border-radius:7px;
 box-shadow:0 16px 32px rgba(0,0,0,.35);
}
.jd-cover-editorial .jd-cover-artifact img{
 object-fit:cover;
 object-position:center 47%;
 filter:brightness(.75) saturate(.85);
}
.jd-cover-editorial .jd-cover-content{
 padding-top:24px!important;
 padding-bottom:32px!important;
}
.jd-cover-editorial .jd-cover-content h1{max-width:610px;}
.jd-cover-editorial+.jd-paper{padding-top:36px!important;}
.jd-outro .jd-film{margin-top:26px;margin-bottom:34px;}
.jd-outro .jd-film img{height:210px;max-height:none;object-fit:cover;object-position:center 48%;filter:brightness(.68);}
@media(max-width:480px){
 .jd-cover-editorial .jd-cover-artifact{width:min(78%,320px);aspect-ratio:1.8/1;margin-top:10px;}
 .jd-cover-editorial .jd-cover-content{padding:23px 24px 30px!important;}
 .jd-cover-editorial .jd-cover-content h1{font-size:clamp(35px,8.5vw,47px);}
 .jd-outro .jd-film img{height:185px;}
}

/* v0.9.103 — portrait object cards, true responsive geometry.
   Explicit aspect ratio rather than min-height: consistent across phone screens. */
@media (max-width: 600px) {
  .world-home .home-content {
    padding-inline: clamp(24px, 7vw, 42px) !important;
    margin-top: -12px !important;
  }
  .world-home .choices {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(10px, 3vw, 15px) !important;
    align-items: stretch;
  }
  .world-home .choice, .world-home .choice.cool {
    width: 100%;
    min-width: 0;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 0.76 / 1;
    border-radius: 11px !important;
  }
  .world-home .choice .ct {padding: 11px 10px 13px !important;}
  .world-home .choice strong {font-size: clamp(18px, 5vw, 25px) !important;}
  .world-home .choice small {font-size: 9px;}
  .world-home .choice .object-photo {object-fit: cover !important;}
}
@media (max-width: 370px) {
  .world-home .home-content {padding-inline: 22px !important;}
  .world-home .choice, .world-home .choice.cool {aspect-ratio: 0.78 / 1;}
  .world-home .choice strong {font-size: 18px !important;}
}

/* v0.9.104 — measured portrait cards, not min-height-based squares */
@media (max-width: 600px) {
  .app.world-home .home-content {padding-left:clamp(24px,7vw,40px)!important;padding-right:clamp(24px,7vw,40px)!important;}
  .app.world-home .choices {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;}
  .app.world-home .choices > .choice,
  .app.world-home .choices > .choice.cool {
    display:block!important;position:relative!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:3 / 4.3!important;
    padding:0!important;border-radius:12px!important;
  }
  .app.world-home .choices > .choice .ct {position:absolute!important;bottom:0;left:0;right:0;padding:12px 10px 13px!important;}
  .app.world-home .choices > .choice strong {font-size:clamp(17px,4.6vw,23px)!important;line-height:1.04!important;}
  .app.world-home .choices > .choice .object-photo {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;}
}

/* v0.9.105: exactly two homepage changes — top black masthead + landscape cards. */
@media (max-width: 600px) {
  .app.world-home .world-stage {
    height:clamp(540px,calc(100svh - 285px),710px)!important;
    background:#060b10!important;
    overflow:hidden!important;
  }
  .app.world-home .world-stage::before,
  .app.world-home.rocky-world .world-stage::before,
  .app.world-home.elm-world .world-stage::before,
  .app.world-home.vincent-world .world-stage::before,
  .app.world-home.mozart-world .world-stage::before,
  .app.world-home.baal-world .world-stage::before,
  .app.world-home.supper-world .world-stage::before {
    inset:108px 0 0 0!important;
    top:108px!important;
    bottom:0!important;
    background-size:100% 100%,contain!important;
    background-position:center center,center center!important;
    background-repeat:no-repeat!important;
  }
  .app.world-home .world-brand {
    top:0!important;
    height:150px!important;
    padding:0!important;
    background:transparent!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .app.world-home .world-brand .logo {
    width:145px!important;
    max-width:145px!important;
    height:auto!important;
    transform:none!important;
    margin:0 auto!important;
  }
  .app.world-home .choices > .choice,
  .app.world-home .choices > .choice.cool {
    aspect-ratio:1.48 / 1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .app.world-home .choices > .choice strong {
    font-size:clamp(16px,4vw,22px)!important;
  }
}

/* v0.9.107 — restore text size control on both World 02 readings. */
.jd-app .jd-type-control{display:flex;justify-content:flex-end;margin:-7px 0 18px}
.jd-app .jd-type-control button{border:1px solid #bda580;background:transparent;color:#79552c;border-radius:24px;padding:9px 14px;font:700 18px Georgia,serif;cursor:pointer}
.jd-app .jd-type-control span{font:10px Arial,sans-serif;letter-spacing:.12em;margin-left:7px}
.jd-app .jd-copy .jd-paragraph{font-size:var(--comedy-reading-size,18px)}

/* Salieri / Mozart: The Missing Beat editorial film link */
.jd-film-missing-beat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:165px;padding:25px 18px;text-align:center;background:linear-gradient(145deg,#1b1b1a,#393125);border:1px solid #a28b58;color:#f3e7cf;text-decoration:none}.jd-film-missing-beat .jd-missing-beat-title{font-family:Georgia,serif;font-size:24px;letter-spacing:.08em;font-weight:600}.jd-film-missing-beat .jd-missing-beat-subtitle{font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1.45;opacity:.85}.jd-film-missing-beat>span:last-child{font-size:12px;letter-spacing:.13em;color:#dfc17d}

/* v0.9.115 — consistent Transhumation film cover cards */
.jd-outro .jd-film-poster{display:block;max-width:500px;margin:25px auto 38px;position:relative;background:#090a0d;border:1px solid #8b7047;border-radius:12px;overflow:hidden;box-shadow:0 15px 30px rgba(0,0,0,.28)}
.jd-outro .jd-film-poster img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;filter:none}
.jd-outro .jd-film-poster span{position:relative;display:block;bottom:auto;left:auto;right:auto;padding:15px 12px;background:#171411;color:#e6c18b;font:11px Arial,sans-serif;letter-spacing:.16em;text-align:center}
.jd-outro .jd-film-poster:hover{border-color:#d7af70}

/* v0.9.119 — Frankenstein/Ripper: keep Jack and logo centered; shift the doctor to the left. */
.app.world-home.frankenstein-world .world-stage::before{
  background-position:center center,calc(50% - 46px) center!important;
}
@media(min-width:601px){
 .app.world-home.frankenstein-world .world-stage::before{background-position:center center,calc(50% - 55px) center!important;}
}

/* v0.9.120 — Frankenstein/Ripper: eliminate exposed black strip.
   Keep the artwork centered, fill the whole scene, and never offset the
   background layer outside its container. */
.app.world-home.frankenstein-world .world-stage::before{
  background-position:center center,center center!important;
  background-size:100% 100%,cover!important;
  background-repeat:no-repeat!important;
}
@media(min-width:601px){
  .app.world-home.frankenstein-world .world-stage::before{
    background-position:center center,center center!important;
  }
}
