:root {
  --rr-red:#852222;
  --rr-cream:#ebe6e6;
  --rr-gold:rgba(227,162,66,.64);
  --rr-paper:#fffaf0;
  /* EASY MOBILE CONTROLS */
  --rr-mobile-reader-height:78svh;
  --rr-mobile-page-strip-width:calc(100vw - 1rem);
  --rr-page-button-size:1.8rem;
}
* { box-sizing:border-box; }
html,body { width:100%; height:100%; margin:0; }
body { overflow:hidden; color:var(--rr-cream); background:var(--rr-red); font-family:'DM Mono',monospace; }
button,a { font:inherit; }
@media (pointer:fine) {
  body, button, a {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='%23f2bd45' stroke='%2332151c' stroke-width='2'/%3E%3Ccircle cx='11.5' cy='13' r='1.6' fill='%2332151c'/%3E%3Ccircle cx='20.5' cy='13' r='1.6' fill='%2332151c'/%3E%3Cpath d='M10 19c1.8 3.2 10.2 3.2 12 0' fill='none' stroke='%2332151c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 16 16, auto;
  }
}
.rr-home { position:relative; isolation:isolate; width:100%; height:100svh; min-height:590px; display:grid; place-items:center; overflow:hidden; padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom)); background:radial-gradient(ellipse 44% 43% at 50% 56%,rgba(67,0,75,.74) 0%,rgba(80,9,70,.55) 34%,transparent 73%),radial-gradient(circle at 21% 80%,rgba(113,0,68,.32),transparent 35%),linear-gradient(100deg,#8b2824 0%,#812121 42%,#862625 100%); }
.rr-home::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.12; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='130' viewBox='0 0 130 130'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.33'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
.rr-home-inner { width:min(100%,640px); display:grid; justify-items:center; gap:clamp(.75rem,1.6vh,1.25rem); }
.rr-title { text-align:center; text-transform:uppercase; }
.rr-title h1 { margin:0; font-family:'Climate Crisis',Impact,sans-serif; font-size:clamp(4.5rem,10vw,7rem); font-weight:400; line-height:.75; letter-spacing:-.02em; }
.rr-title p { margin:1.15rem 0 0; font-size:clamp(1.25rem,3vw,2rem); font-weight:500; line-height:1; letter-spacing:.025em; }
.rr-title em { font-family:Georgia,'Times New Roman',serif; font-weight:700; }
.rr-portrait { width:min(100%,600px); aspect-ratio:1.48/1; margin:0; overflow:hidden; border-radius:2.6rem; background:#481632; box-shadow:0 1.6rem 4rem rgba(38,0,27,.22); }
.rr-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 48%; }
.rr-actions { display:flex; align-items:center; justify-content:center; gap:1rem; width:100%; }
.rr-actions a,.rr-actions button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.2rem 1.2rem; border:0; border-radius:999px; color:var(--rr-cream); background:var(--rr-gold); box-shadow:inset 0 1px rgba(255,255,255,.14); text-decoration:none; text-transform:uppercase; white-space:nowrap; cursor:pointer; transition:transform .18s ease,background .18s ease; }
.rr-actions a:hover,.rr-actions button:hover { transform:translateY(-2px); background:rgba(238,169,68,.78); }
.rr-reader { position:fixed; inset:0; z-index:50; visibility:hidden; opacity:0; overflow:hidden; display:grid; place-items:center; color:var(--rr-cream); background:radial-gradient(circle at 50% 50%,#5f1748 0%,#351127 72%,#210a18 100%); transition:opacity .22s ease,visibility .22s ease; }
.rr-reader.is-open { visibility:visible; opacity:1; }
.rr-reader-topbar { position:absolute; top:max(.75rem,env(safe-area-inset-top)); left:max(1rem,env(safe-area-inset-left)); right:max(1rem,env(safe-area-inset-right)); z-index:3; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.rr-reader-topbar p { margin:0; text-transform:uppercase; font-size:.78rem; letter-spacing:.08em; }
.rr-reader-topbar div { display:flex; align-items:center; gap:.65rem; }
.rr-reader-topbar a,.rr-reader-topbar button { border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:.5rem .75rem; background:rgba(20,5,15,.16); color:inherit; text-decoration:none; cursor:pointer; }
.rr-reader-stage { width:min(94vw,1280px); height:min(86svh,900px); display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 28px 34px rgba(0,0,0,.35)); }
.rr-book { position:relative; flex:0 0 auto; overflow:visible; }
.rr-book .stf__parent { margin:auto!important; }
.rr-page { overflow:hidden; background:var(--rr-paper); }
.rr-page img { width:100%; height:100%; display:block; object-fit:contain; }
.rr-loading { padding:.7rem 1rem; border:1px solid rgba(255,255,255,.26); border-radius:999px; background:rgba(20,5,15,.22); font-size:.78rem; letter-spacing:.04em; }
.rr-reader-arrow { position:absolute; top:50%; z-index:2; width:3rem; height:3rem; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(20,5,15,.22); color:white; cursor:pointer; }
.rr-reader-arrow--prev { left:max(.75rem,env(safe-area-inset-left)); }
.rr-reader-arrow--next { right:max(.75rem,env(safe-area-inset-right)); }
.rr-reader-arrow:disabled { opacity:.2; cursor:default; }
.rr-page-count { position:absolute; bottom:calc(max(.65rem,env(safe-area-inset-bottom)) + 2.75rem); margin:0; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; opacity:.72; }
.rr-page-jump { position:absolute; left:50%; bottom:max(.55rem,env(safe-area-inset-bottom)); z-index:4; width:max-content; max-width:calc(100vw - 7rem); display:flex; gap:.25rem; padding:.3rem; overflow-x:auto; transform:translateX(-50%); border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(20,5,15,.28); scrollbar-width:none; backdrop-filter:blur(8px); }
.rr-page-jump::-webkit-scrollbar { display:none; }
.rr-page-jump button { flex:0 0 var(--rr-page-button-size); width:var(--rr-page-button-size); height:var(--rr-page-button-size); padding:0; border:0; border-radius:50%; color:rgba(255,255,255,.66); background:transparent; font-size:.67rem; cursor:pointer; }
.rr-page-jump button:hover { color:white; background:rgba(255,255,255,.12); }
.rr-page-jump button.is-current { color:#32151c; background:#f2bd45; font-weight:700; }
.rr-modal { width:min(calc(100% - 2rem),500px); padding:clamp(1.5rem,4vw,2.5rem); border:1px solid rgba(255,255,255,.38); border-radius:1.1rem; color:#32151c; background:rgba(255,249,237,.97); box-shadow:0 30px 100px rgba(43,20,20,.38); }
.rr-modal::backdrop { background:rgba(35,7,24,.72); backdrop-filter:blur(7px); }
.rr-modal h2 { margin:.25rem 0 .7rem; font:500 2rem/1 Georgia,serif; }
.rr-modal p { line-height:1.55; }
.rr-modal-kicker { margin:0; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; }
.rr-modal-close { position:absolute; top:.8rem; right:.9rem; border:0; background:none; font-size:1.7rem; cursor:pointer; }
.rr-support-links { display:grid; margin:1.25rem 0; border-top:1px solid rgba(50,21,28,.22); }
.rr-support-links a { display:flex; justify-content:space-between; padding:.8rem 0; border-bottom:1px solid rgba(50,21,28,.22); color:inherit; text-decoration:none; }
.rr-crisis-note { margin-bottom:0; font-size:.82rem; opacity:.72; }
@media(max-width:700px){.rr-home{min-height:520px}.rr-home-inner{width:min(100%,470px);gap:.75rem}.rr-title h1{font-size:clamp(4rem,22vw,6rem)}.rr-title p{margin-top:.85rem;font-size:clamp(1rem,5.7vw,1.45rem)}.rr-portrait{width:min(95vw,470px);border-radius:1.8rem}.rr-actions{gap:.45rem}.rr-actions a,.rr-actions button{min-height:38px;padding-inline:.7rem;font-size:.67rem}.rr-reader-stage{width:100vw;height:var(--rr-mobile-reader-height)}.rr-page{background:transparent}.rr-page img{width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;max-width:none;object-fit:fill}.rr-reader-arrow{top:auto;bottom:calc(max(.55rem,env(safe-area-inset-bottom)) + 2.8rem);width:2.5rem;height:2.5rem}.rr-page-count{bottom:calc(max(.55rem,env(safe-area-inset-bottom)) + 3.5rem)}.rr-page-jump{max-width:var(--rr-mobile-page-strip-width)}.rr-reader-topbar p{display:none}.rr-reader-topbar{justify-content:flex-end}}
@media(max-width:420px){.rr-actions{display:grid;grid-template-columns:1fr 1fr;width:min(100%,350px)}.rr-actions>:first-child{grid-column:1/-1}}
@media(max-height:680px){.rr-home-inner{transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
