*{box-sizing:border-box}html{color-scheme:dark;--font-size:17px;--paper:#d4c5a6;--ink:#27241d}html[data-font="small"]{--font-size:15px}html[data-font="large"]{--font-size:19px}html[data-paper="ivory"]{--paper:#eee6d4;--ink:#25231f}html[data-paper="clean"]{--paper:#f5f2e8;--ink:#1d2024}body{margin:0;background:#030507;color:#dbe2e6;font-family:Segoe UI,Arial,sans-serif;overflow:hidden}.reader-body{height:100vh;display:grid;grid-template-rows:68px 1fr 70px}.reader-backdrop{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 55%,#24353e 0,#0c1217 38%,#040608 75%),linear-gradient(120deg,#19313a11,transparent);z-index:-2}.reader-backdrop:after{content:'';position:absolute;inset:0;background:repeating-radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px 5px);opacity:.015}.reader-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;border-bottom:1px solid #1d252c;background:#090d11dd;backdrop-filter:blur(14px);z-index:20}.reader-top>*:last-child{justify-self:end}.icon-text{border:0;background:transparent;color:#96a8b3;text-decoration:none;cursor:pointer}.reader-title{text-align:center}.reader-title small,.reader-title b{display:block}.reader-title small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#607480}.reader-title b{font:600 16px Georgia,serif;margin-top:3px}#readerStage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:18px 30px 6px}#bookFrame{position:relative;width:min(1180px,94vw);height:min(76vh,760px);max-height:calc(100vh - 165px);aspect-ratio:1.55;background:#1b1410;border-radius:11px;box-shadow:0 35px 75px #000d,0 0 0 7px #16110e,0 0 0 8px #3b2b2255}.book-edge{position:absolute;inset:5px;background:#bbac8b;border-radius:8px;box-shadow:inset 0 0 30px #584a32aa}.visible-page{background:var(--paper);color:var(--ink);overflow:hidden;transition:background .2s}.visible-page.left,.visible-page.right{position:absolute;top:8px;bottom:8px;width:calc(50% - 8px);z-index:2}.visible-page.left{left:8px;border-radius:6px 1px 1px 6px;box-shadow:inset -18px 0 24px #4b3a2760}.visible-page.right{right:8px;border-radius:1px 6px 6px 1px;box-shadow:inset 18px 0 24px #4b3a2760}.book-spine{position:absolute;z-index:6;top:8px;bottom:8px;left:50%;width:28px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(90deg,#0005,transparent 35%,#fff1 50%,transparent 65%,#0005)}.page-inner{height:100%;position:relative}.page-content{height:100%;overflow:hidden;padding:54px 58px 48px;font:var(--font-size)/1.62 Georgia,'Times New Roman',serif}.page-no{position:absolute;bottom:20px;left:0;right:0;text-align:center;font:11px Georgia,serif;color:#766c5a}.prose h1,.prose h2,.prose h3{font-family:Georgia,serif;line-height:1.15}.prose h1{font-size:2em;text-align:center}.prose h2{font-size:1.45em}.prose p{margin:0 0 1em}.prose blockquote{margin:1.2em 1em;border-left:2px solid #8b7756;padding-left:1.2em;font-style:italic;color:#4b4336}.prose hr{border:0;height:34px;margin:1.3em;text-align:center}.prose hr:after{content:'✦';font-size:14px;color:#8a7551}.prose img{display:block;max-width:100%;max-height:58%;margin:1em auto;border-radius:2px;box-shadow:0 5px 16px #0004}.prose pre{white-space:pre-wrap;background:#0001;padding:12px;border-radius:4px}.chapter-opener{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.chapter-opener span{font:11px Segoe UI,sans-serif;letter-spacing:.28em;color:#7a6d58}.chapter-opener h1{font:600 clamp(26px,3vw,42px)/1.1 Georgia,serif;margin:22px 0;max-width:85%}.chapter-opener i,.end-page i{font-style:normal;color:#8b7652;font-size:22px}.chapter-opener p{font-style:italic;color:#7d725f}.end-page{height:100%;display:flex;align-items:center;justify-content:center}.page-measure{position:absolute;visibility:hidden;pointer-events:none;width:calc(min(1180px,94vw)/2 - 16px);height:min(76vh,760px);max-height:calc(100vh - 165px);overflow:hidden;left:-9999px;top:0;background:var(--paper)}.page-measure .page-content{height:100%;overflow:hidden;padding:54px 58px 48px;font:var(--font-size)/1.62 Georgia,'Times New Roman',serif}.source-content{display:none}#turnLayer{position:absolute;inset:8px;z-index:10;pointer-events:none;perspective:1800px}.turn-sheet{position:absolute;top:0;height:100%;width:50%;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.38,.02,.16,1);will-change:transform}.turn-sheet.forward{left:50%;transform-origin:left center;transform:rotateY(0)}.turn-sheet.forward.go{transform:rotateY(-180deg)}.turn-sheet.backward{left:0;transform-origin:right center;transform:rotateY(0)}.turn-sheet.backward.go{transform:rotateY(180deg)}.sheet-face{position:absolute;inset:0;backface-visibility:hidden;background:var(--paper);color:var(--ink);overflow:hidden}.sheet-face.back{transform:rotateY(180deg);box-shadow:inset 20px 0 25px #4b3a2755}.sheet-face.front{box-shadow:inset -20px 0 25px #4b3a2755}.reader-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:#080c10e8;border-top:1px solid #1d252c;z-index:20}.reader-controls button{border:1px solid #2b3740;background:#10161c;color:#bac7ce;border-radius:7px;padding:9px 15px;cursor:pointer}.reader-controls>button:first-child,.reader-controls>button:last-child{font-size:22px;width:46px}.progress{min-width:220px;text-align:center;color:#768793;font-size:10px}.progress>div{height:2px;background:#1f2930;margin-top:6px}.progress i{display:block;height:100%;width:1%;background:#71b4cc;transition:width .2s}.drawer{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(400px,88vw);background:#0b1015;box-shadow:20px 0 60px #000b;transform:translateX(-105%);transition:.28s;padding:20px;overflow:auto}.drawer.right-drawer{left:auto;right:0;transform:translateX(105%);box-shadow:-20px 0 60px #000b}.drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 18px;border-bottom:1px solid #222d35}.drawer-head h2{font:600 22px Georgia,serif;margin:0}.drawer-head small{color:#60717c}.drawer-head button{border:0;background:transparent;color:#93a5af;font-size:28px;cursor:pointer}.drawer nav{display:flex;flex-direction:column;padding:10px 0}.drawer nav a{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px;color:#8d9aa3;text-decoration:none;border-radius:7px}.drawer nav a:hover,.drawer nav a.active{background:#131b22;color:#e2e9ec}.drawer nav span{color:#527e90}.drawer nav b{font:500 14px Georgia,serif}.drawer section{padding:20px 0;border-bottom:1px solid #202931}.drawer section h3{font-size:10px;letter-spacing:.14em;color:#687b86;text-transform:uppercase}.segmented{display:flex}.segmented button,.wide-btn{flex:1;background:#11181f;border:1px solid #2a3640;color:#96a5ae;padding:9px;cursor:pointer}.segmented button.active{background:#214d61;color:white;border-color:#4f8da6}.toggle{display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:20px}.toggle input{width:auto}.drawer-scrim{position:fixed;inset:0;z-index:45;background:#0008;opacity:0;pointer-events:none;transition:.25s}.drawer-scrim.open{opacity:1;pointer-events:auto}.single-page{display:none;position:relative;width:min(680px,92vw);height:calc(100vh - 160px);border-radius:6px;box-shadow:0 25px 60px #000c}.turn-sheet.mobile{position:fixed;z-index:15;left:4vw;top:76px;width:92vw;height:calc(100vh - 160px);background:var(--paper);transform-origin:left;transition:.5s;pointer-events:none}.turn-sheet.mobile.forward{transform:rotateY(0)}.turn-sheet.mobile.forward{animation:mflip .5s forwards}.turn-sheet.mobile.backward{transform-origin:right;animation:mflipback .5s forwards}@keyframes mflip{to{transform:rotateY(-95deg);opacity:.25}}@keyframes mflipback{to{transform:rotateY(95deg);opacity:.25}}@media(max-width:900px){.page-content,.page-measure .page-content{padding:42px 38px 42px}}@media(max-width:760px){body{overflow:hidden}.reader-body{grid-template-rows:60px 1fr 62px}.reader-top{padding:0 12px}.reader-title{max-width:55vw}.reader-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-text{font-size:0}.icon-text:before{font-size:18px}.reader-top a.icon-text:before{content:'←'}.reader-top button.icon-text:before{content:'⚙'}#readerStage{padding:8px}.single-page{display:block}.page-content{padding:38px 32px 38px;font-size:var(--font-size)}.page-measure{width:92vw;height:calc(100vh - 130px)}.page-measure .page-content{padding:38px 32px}.reader-controls{gap:8px}.progress{min-width:100px;flex:1}.reader-controls button{padding:8px 10px}#chaptersBtn{font-size:0}#chaptersBtn:after{content:'☰';font-size:18px}}@media(max-width:420px){.page-content,.page-measure .page-content{padding:32px 24px 36px}.reader-controls{padding-left:10px;padding-right:10px}}
.preview-banner{position:fixed;z-index:40;top:74px;left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid #806b3d;background:#241d0fdc;color:#e7d59f;border-radius:999px;font-size:9px;letter-spacing:.11em;backdrop-filter:blur(8px);white-space:nowrap}.preview-banner a{color:#fff0bd;margin-left:8px}.book-gate{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:minmax(300px,500px) minmax(260px,430px);align-items:center;justify-content:center;gap:clamp(40px,7vw,110px);padding:40px;background:radial-gradient(circle at 42% 50%,#20333e 0,#0a0f14 42%,#030507 78%);transition:opacity .45s .65s,visibility .45s .65s}.book-gate:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 25% 20%,#91d7ed10,transparent 22%),repeating-radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px 7px);opacity:.45}.gate-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.gate-atmosphere:before,.gate-atmosphere:after{content:'';position:absolute;width:45vw;height:45vw;border:1px solid #6ba8bd12;border-radius:50%;filter:blur(1px)}.gate-atmosphere:before{left:-10vw;top:-22vw;box-shadow:0 0 80px #4c99b51a,inset 0 0 80px #4c99b510}.gate-atmosphere:after{right:-18vw;bottom:-25vw}.gate-book{position:relative;z-index:2;width:min(390px,78vw);aspect-ratio:.69;border:0;border-radius:8px 22px 22px 8px;padding:0;cursor:pointer;color:#e7edf0;background:linear-gradient(#06101788,#030608d9),var(--gate-cover,none),linear-gradient(125deg,#1d3540,#080d12 55%,#182027);background-size:cover;background-position:center;box-shadow:-16px 16px 0 #17191a,-24px 30px 70px #000e,inset 10px 0 20px #ffffff09,inset -3px 0 #6c99aa66,0 0 0 1px #7399a955;transform:perspective(1400px) rotateY(-12deg) rotateX(1deg);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.75,.18,1),filter .4s}.gate-book:hover{transform:perspective(1400px) rotateY(-5deg) translateY(-8px);filter:brightness(1.08)}.gate-edge{position:absolute;z-index:-1;top:8px;right:-14px;bottom:8px;width:20px;border-radius:0 10px 10px 0;background:repeating-linear-gradient(90deg,#d5c49f 0 2px,#9f8e6e 3px 4px);box-shadow:5px 7px 12px #0009}.gate-cover-inner{position:absolute;inset:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 26px;border:1px solid #86aeba66;box-shadow:inset 0 0 55px #0009,0 0 0 5px #0003}.gate-cover-inner:before,.gate-cover-inner:after{content:'◆';position:absolute;left:50%;transform:translateX(-50%);color:#78b8cf;font-size:10px;text-shadow:0 0 13px #77d6f4}.gate-cover-inner:before{top:15px}.gate-cover-inner:after{bottom:15px}.gate-cover-inner small{font:10px Segoe UI,sans-serif;letter-spacing:.25em;color:#8fc3d4}.gate-cover-inner strong{font:600 clamp(30px,4vw,48px)/1.04 Georgia,serif;letter-spacing:.03em;text-transform:uppercase;margin:26px 0 10px;text-shadow:0 4px 16px #000}.gate-cover-inner em{font:italic 14px Georgia,serif;color:#a8b7bd}.gate-cover-inner i{font-style:normal;font-size:28px;color:#86cbe3;margin:26px 0;text-shadow:0 0 25px #62b8d4}.gate-cover-inner b{margin-top:auto;font:600 10px Segoe UI,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#9baab0}.gate-copy{position:relative;z-index:2}.gate-copy span{font-size:9px;letter-spacing:.32em;color:#6c94a4}.gate-copy h1{font:600 clamp(38px,5vw,66px)/.95 Georgia,serif;margin:12px 0 18px;color:#e7edf0;text-shadow:0 8px 40px #000}.gate-copy p{font:italic 16px Georgia,serif;color:#71838d}.book-gate.opening .gate-book{transform:perspective(1400px) rotateY(-95deg) translateX(-12%);filter:brightness(.7)}.book-gate.opening .gate-copy{animation:gatecopy .5s forwards}.book-gate.opened{opacity:0;visibility:hidden}@keyframes gatecopy{to{opacity:0;transform:translateX(30px)}}
@media(max-width:760px){.preview-banner{top:64px;max-width:94vw;overflow:hidden;text-overflow:ellipsis}.book-gate{grid-template-columns:1fr;gap:25px;text-align:center;padding:25px}.gate-book{width:min(290px,70vw);justify-self:center}.gate-copy h1{font-size:36px}.gate-copy p{margin-bottom:0}.gate-cover-inner strong{font-size:30px}.gate-cover-inner{padding:25px 20px}}

/* v1.1 — cover resume flow + complete mobile reader */
.reader-body{height:100dvh;min-height:100svh}.gate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.gate-action{appearance:none;border:1px solid #35505e;background:#101820;color:#c8d5dc;border-radius:8px;padding:11px 16px;min-height:44px;cursor:pointer;font-weight:700;letter-spacing:.02em}.gate-action:hover{border-color:#6caec5;background:#172631;color:#fff}.gate-action.primary{background:linear-gradient(#2d7089,#1c5268);border-color:#579bb5;color:#fff;box-shadow:0 0 22px #3f98b526}.gate-action[hidden]{display:none!important}.reader-controls button,.icon-text,.drawer-head button,.segmented button,.wide-btn{min-height:44px}.drawer nav a{min-height:48px;align-items:center}.single-page{touch-action:pan-y}.book-gate{overflow:auto;overscroll-behavior:contain}
@media(max-width:820px){
  html{--font-size:16px}html[data-font="small"]{--font-size:14px}html[data-font="large"]{--font-size:18px}
  body{overflow:hidden}.reader-body{grid-template-rows:56px minmax(0,1fr) 64px;height:100dvh}
  .reader-top{padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));min-height:56px;grid-template-columns:48px 1fr 48px}
  .reader-title{max-width:none;min-width:0;padding:0 8px}.reader-title b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-title small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .icon-text{font-size:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}.icon-text:before{font-size:20px}.reader-top a.icon-text:before{content:'←'}.reader-top button.icon-text:before{content:'⚙'}
  #readerStage{padding:8px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));min-height:0}
  #bookFrame{display:none!important}.single-page{display:block;width:min(100%,720px);height:100%;max-height:none;border-radius:7px;box-shadow:0 18px 45px #000c}
  .page-content{padding:34px clamp(22px,6vw,42px) 42px;font-size:var(--font-size);line-height:1.58}.page-measure{width:calc(100vw - 16px)!important;height:calc(100dvh - 126px)!important}.page-measure .page-content{padding:34px clamp(22px,6vw,42px) 42px}
  .reader-controls{gap:8px;padding:8px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));min-height:64px}.reader-controls>button:first-child,.reader-controls>button:last-child{width:44px;padding:0}.progress{min-width:72px;flex:1}#chaptersBtn{font-size:0;width:44px;padding:0}#chaptersBtn:after{content:'☰';font-size:19px}
  .turn-sheet.mobile{left:8px;top:56px;width:calc(100vw - 16px);height:calc(100dvh - 126px)}
  .drawer{width:min(430px,100vw);padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.drawer.right-drawer{width:min(430px,100vw)}
  .preview-banner{top:60px;max-width:calc(100vw - 20px);overflow:hidden;text-overflow:ellipsis}
  .book-gate{grid-template-columns:1fr;align-content:start;gap:18px;text-align:center;padding:max(20px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));overflow-y:auto}
  .gate-book{width:min(260px,62vw,34vh);min-width:190px;justify-self:center;margin-top:8px}.gate-cover-inner{inset:12px;padding:20px 16px}.gate-cover-inner strong{font-size:clamp(23px,7vw,31px);margin:18px 0 7px}.gate-cover-inner i{margin:16px 0}.gate-copy{padding-bottom:10px}.gate-copy h1{font-size:clamp(30px,9vw,40px);margin:8px 0 10px}.gate-copy p{font-size:14px;margin:0 auto;max-width:430px}.gate-actions{justify-content:center;margin-top:16px}.gate-action{flex:1 1 180px;max-width:230px}
}
@media(max-width:480px){
  .page-content,.page-measure .page-content{padding:28px 20px 38px}.prose blockquote{margin:1em .35em;padding-left:.9em}.prose h1{font-size:1.7em}.chapter-opener h1{font-size:clamp(24px,8vw,34px)}
  .drawer{width:100vw}.segmented{display:grid;grid-template-columns:repeat(3,1fr)}.gate-book{width:min(230px,60vw,32vh);min-width:170px}.gate-actions{flex-direction:column;align-items:stretch}.gate-action{max-width:none;width:100%;flex:none}
}
@media(max-height:650px) and (max-width:820px){.gate-book{width:min(180px,42vw,28vh)}.gate-cover-inner small,.gate-cover-inner b{font-size:8px}.gate-cover-inner strong{font-size:22px;margin:10px 0}.gate-cover-inner i{margin:9px 0;font-size:20px}.gate-copy h1{font-size:28px}.gate-copy p{font-size:12px}.gate-actions{margin-top:10px}.gate-action{padding:8px 12px}}

/* v1.2 — battle-scarred diary page system */
html{
  --quill-font:"Apple Chancery","Segoe Print","Lucida Handwriting","Bradley Hand","Snell Roundhand",Georgia,serif;
  --paper:#856d4d;
  --paper-mid:#9a815e;
  --paper-light:#ad966f;
  --paper-edge:#26140d;
  --paper-burn:#120906;
  --paper-stain:#4b1e11;
  --ink:#17100c;
  --ink-soft:#2b1b13;
  --ember:#7b3b20;
}
html[data-paper="weathered"]{--paper:#856d4d;--paper-mid:#9a815e;--paper-light:#ad966f;--paper-edge:#26140d;--paper-burn:#120906;--paper-stain:#4b1e11;--ink:#17100c;--ink-soft:#2b1b13;--ember:#7b3b20}
html[data-paper="ivory"]{--paper:#56534a;--paper-mid:#767168;--paper-light:#928b7f;--paper-edge:#24221e;--paper-burn:#0b0b0a;--paper-stain:#2b2925;--ink:#151412;--ink-soft:#292722;--ember:#5f4d3f}
html[data-paper="clean"]{--paper:#9b805a;--paper-mid:#b59b72;--paper-light:#c8b184;--paper-edge:#49301d;--paper-burn:#23130a;--paper-stain:#65432d;--ink:#21160f;--ink-soft:#3b281b;--ember:#8a5a35}
.reader-backdrop{background:radial-gradient(ellipse at 50% 55%,#281b15 0,#100d0c 38%,#040404 76%),radial-gradient(circle at 18% 24%,#5b24151f,transparent 32%),linear-gradient(120deg,#25130d22,transparent)}
.reader-backdrop:after{opacity:.055;background:repeating-radial-gradient(circle at 20% 20%,#b2a392 0 1px,transparent 1px 6px),linear-gradient(80deg,transparent 42%,#7d361614 50%,transparent 58%)}
#bookFrame{background:#160d09;box-shadow:0 35px 85px #000f,0 0 0 7px #100906,0 0 0 8px #4d2f2055}
.book-edge{background:linear-gradient(90deg,#2a1710,#63452f 3%,#7e6446 50%,#5b3b29 97%,#22120d);box-shadow:inset 0 0 38px #120805e6}
.visible-page,.sheet-face,.page-measure{
  background:
    radial-gradient(circle at 14% 13%,color-mix(in srgb,var(--paper-stain) 42%,transparent) 0 2.5%,transparent 8%),
    radial-gradient(circle at 86% 84%,color-mix(in srgb,var(--paper-stain) 38%,transparent) 0 4%,transparent 11%),
    radial-gradient(ellipse at 50% 48%,var(--paper-light) 0,var(--paper-mid) 54%,var(--paper) 78%,var(--paper-edge) 100%);
  color:var(--ink);
  border-color:#2c180f;
}
.visible-page{border:1px solid #2b170f;filter:drop-shadow(0 5px 8px #0007)}
.visible-page.left{border-radius:9px 1px 2px 12px;box-shadow:inset -26px 0 34px #160b0785,inset 9px 0 24px #1b0c0790,inset 0 16px 32px #3215094d,inset 0 -17px 32px #1d0d0866;clip-path:polygon(.6% 1.7%,4% .8%,8% 1.4%,14% .4%,22% 1.2%,31% .45%,40% 1.1%,52% .45%,63% 1.2%,75% .5%,86% 1.1%,100% .35%,100% 99.5%,88% 99%,77% 99.7%,65% 98.9%,52% 99.6%,40% 98.8%,28% 99.5%,16% 98.7%,7% 99.4%,.5% 98.2%)}
.visible-page.right{border-radius:1px 10px 12px 2px;box-shadow:inset 26px 0 34px #160b0785,inset -9px 0 24px #1b0c0790,inset 0 16px 32px #3215094d,inset 0 -17px 32px #1d0d0866;clip-path:polygon(0 .35%,12% 1.1%,23% .5%,34% 1.2%,47% .45%,58% 1.1%,70% .45%,79% 1.2%,88% .4%,95% 1.3%,99.4% .7%,99.7% 98.3%,94% 99.4%,84% 98.7%,73% 99.5%,61% 98.8%,48% 99.6%,35% 98.9%,23% 99.7%,11% 99%,0 99.5%)}
.visible-page.single-page{border-radius:10px;box-shadow:inset 0 0 45px #160b0785,inset 0 18px 32px #3215094d,inset 0 -20px 36px #1d0d0875;clip-path:polygon(.8% 1.5%,7% .7%,14% 1.3%,22% .4%,31% 1.2%,41% .5%,52% 1.2%,62% .4%,73% 1.1%,83% .5%,92% 1.3%,99.2% .6%,99.6% 98.4%,93% 99.4%,84% 98.6%,74% 99.5%,64% 98.8%,53% 99.6%,42% 98.8%,31% 99.5%,20% 98.7%,10% 99.4%,.4% 98.2%)}
.visible-page:before,.sheet-face:before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 4% 9%,#100604b8 0 1.5%,transparent 7%),radial-gradient(circle at 96% 17%,#170704a8 0 2%,transparent 8%),radial-gradient(circle at 8% 91%,#150704b5 0 2.5%,transparent 9%),radial-gradient(circle at 91% 94%,#120604ad 0 2%,transparent 8%),repeating-linear-gradient(7deg,transparent 0 29px,#21100810 30px 31px);box-shadow:inset 0 0 42px var(--paper-burn),inset 0 0 11px #0008;mix-blend-mode:multiply}
.visible-page:after,.sheet-face:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(94deg,transparent 0 11%,#230d0710 11.2% 11.5%,transparent 11.7% 69%,#1b0a0610 69.2% 69.4%,transparent 69.7%),radial-gradient(ellipse at 71% 24%,#4b150b18,transparent 18%),radial-gradient(ellipse at 24% 64%,#260b0720,transparent 22%);opacity:.9}
.page-inner,.page-content{position:relative;z-index:4}
.page-content,.page-measure .page-content{font-family:var(--quill-font);font-size:var(--font-size);line-height:1.72;letter-spacing:.008em;font-weight:500;text-shadow:0 .25px .25px #0009}
.prose h1,.prose h2,.prose h3,.chapter-opener h1{font-family:var(--quill-font);color:var(--ink);font-weight:700;letter-spacing:.015em;text-shadow:0 .35px .3px #0008}
.prose p{margin:0 0 1.08em}.prose strong{font-weight:800}.prose em{color:var(--ink-soft)}
.prose blockquote{border-left:2px solid color-mix(in srgb,var(--ember) 70%,#1d0d08);color:var(--ink-soft);padding-left:1.1em;font-style:italic;background:#1d0b050c;border-radius:0 6px 6px 0}
.prose hr:after{content:'❖';color:var(--ember);text-shadow:0 0 6px #3d130c55}
.prose img{filter:saturate(.72) sepia(.15) contrast(1.06);border:1px solid #3b2216;box-shadow:0 5px 18px #0008}
.page-no{font-family:var(--quill-font);color:#3b291d;font-size:12px;font-weight:700}
.chapter-opener span{font-family:Segoe UI,Arial,sans-serif;color:#4a2a1b;font-weight:700}.chapter-opener i,.end-page i{color:var(--ember);text-shadow:0 0 8px #561d0d44}.chapter-opener p{font-family:var(--quill-font);color:#3a281c;font-weight:600}
.book-spine{background:linear-gradient(90deg,#000b,transparent 28%,#8c6b4a22 50%,transparent 72%,#000b)}
.sheet-face{border:1px solid #2a160e;box-shadow:inset 0 0 45px #1208058f}.sheet-face.front{box-shadow:inset -24px 0 38px #160b0785,inset 0 0 36px #1208057a}.sheet-face.back{box-shadow:inset 24px 0 38px #160b0785,inset 0 0 36px #1208057a}
.setting-hint{color:#657681;font-size:11px;line-height:1.5;margin:10px 1px 0}
.book-gate{background:radial-gradient(circle at 42% 50%,#2d1a12 0,#0d0b0a 43%,#020202 79%)}
.book-gate:before{background:radial-gradient(circle at 25% 20%,#b54b2712,transparent 22%),repeating-radial-gradient(circle at 20% 20%,#baa48c 0 1px,transparent 1px 7px);opacity:.48}
.gate-atmosphere:before{box-shadow:0 0 80px #8d32151c,inset 0 0 80px #8d321510}
.gate-book{background:linear-gradient(#13090788,#040202dc),var(--gate-cover,none),linear-gradient(125deg,#392116,#0c0806 55%,#21150f);box-shadow:-16px 16px 0 #17100c,-24px 30px 70px #000f,inset 10px 0 20px #ffffff07,inset -3px 0 #7f4c3266,0 0 0 1px #68412f80}
.gate-edge{background:repeating-linear-gradient(90deg,#8e785a 0 2px,#4a3525 3px 4px);filter:brightness(.75)}
.gate-cover-inner{border-color:#81533a75;box-shadow:inset 0 0 65px #000b,0 0 0 5px #0004}.gate-cover-inner:before,.gate-cover-inner:after{color:#9a5638;text-shadow:0 0 13px #7d2f17}.gate-cover-inner small{color:#b28e78}.gate-cover-inner strong{font-family:Georgia,serif;color:#e8d8c9}.gate-cover-inner em{color:#b8a18f}.gate-cover-inner i{color:#a65f3f;text-shadow:0 0 25px #7f2d16}.gate-cover-inner b{color:#b49f92}.gate-copy span{color:#8f6652}.gate-copy h1{color:#e8ddd5}.gate-copy p{color:#8c7970}.gate-action{border-color:#4c3328;background:#17110e;color:#d3c5bc}.gate-action:hover{border-color:#8d5b42;background:#261810}.gate-action.primary{background:linear-gradient(#6f3925,#482318);border-color:#9b6348;box-shadow:0 0 22px #7e2d1726}
@media(max-width:820px){.page-content,.page-measure .page-content{line-height:1.66;letter-spacing:.004em}.visible-page.single-page{filter:drop-shadow(0 12px 22px #000a)}}

/* v1.2.1 — selectable original v1.1 book/page themes */
.paper-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.paper-options button{min-width:0;border-radius:6px}
html[data-paper="classic-weathered"]{--paper:#d4c5a6;--ink:#27241d;--ink-soft:#4b4336;--ember:#8a7551}
html[data-paper="classic-ivory"]{--paper:#eee6d4;--ink:#25231f;--ink-soft:#4d493f;--ember:#8b7756}
html[data-paper="classic-clean"]{--paper:#f5f2e8;--ink:#1d2024;--ink-soft:#41454a;--ember:#7a7468}
html[data-paper^="classic-"] .reader-backdrop{background:radial-gradient(ellipse at 50% 55%,#24353e 0,#0c1217 38%,#040608 75%),linear-gradient(120deg,#19313a11,transparent)}
html[data-paper^="classic-"] .reader-backdrop:after{background:repeating-radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px 5px);opacity:.015}
html[data-paper^="classic-"] #bookFrame{background:#1b1410;box-shadow:0 35px 75px #000d,0 0 0 7px #16110e,0 0 0 8px #3b2b2255}
html[data-paper^="classic-"] .book-edge{background:#bbac8b;box-shadow:inset 0 0 30px #584a32aa}
html[data-paper^="classic-"] .visible-page,
html[data-paper^="classic-"] .sheet-face,
html[data-paper^="classic-"] .page-measure{background:var(--paper);color:var(--ink);border-color:transparent;filter:none}
html[data-paper^="classic-"] .visible-page{border:0;clip-path:none}
html[data-paper^="classic-"] .visible-page.left{border-radius:6px 1px 1px 6px;box-shadow:inset -18px 0 24px #4b3a2760}
html[data-paper^="classic-"] .visible-page.right{border-radius:1px 6px 6px 1px;box-shadow:inset 18px 0 24px #4b3a2760}
html[data-paper^="classic-"] .visible-page.single-page{border-radius:6px;box-shadow:0 25px 60px #000c;clip-path:none}
html[data-paper^="classic-"] .visible-page:before,
html[data-paper^="classic-"] .visible-page:after,
html[data-paper^="classic-"] .sheet-face:before,
html[data-paper^="classic-"] .sheet-face:after{display:none}
html[data-paper^="classic-"] .book-spine{background:linear-gradient(90deg,#0005,transparent 35%,#fff1 50%,transparent 65%,#0005)}
html[data-paper^="classic-"] .sheet-face{border:0;box-shadow:none}
html[data-paper^="classic-"] .sheet-face.front{box-shadow:inset -20px 0 25px #4b3a2755}
html[data-paper^="classic-"] .sheet-face.back{box-shadow:inset 20px 0 25px #4b3a2755}
html[data-paper^="classic-"] .prose blockquote{border-left-color:#8b7756;background:transparent;color:var(--ink-soft);border-radius:0}
html[data-paper^="classic-"] .prose hr:after{content:'✦';color:#8a7551;text-shadow:none}
html[data-paper^="classic-"] .prose img{filter:none;border:0;box-shadow:0 5px 16px #0004}
html[data-paper^="classic-"] .page-no{color:#766c5a}
html[data-paper^="classic-"] .chapter-opener span{color:#7a6d58}
html[data-paper^="classic-"] .chapter-opener i,
html[data-paper^="classic-"] .end-page i{color:#8b7652;text-shadow:none}
html[data-paper^="classic-"] .chapter-opener p{color:#7d725f}
@media(max-width:480px){.paper-options{grid-template-columns:1fr 1fr}}



/* v1.2.2 — page-turn text ghosting fix
   Keep the paper visible through the full turn, but swap text visibility at the spine.
   This prevents the outgoing text layer from lingering over newly rendered pages. */
.sheet-face{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  isolation:isolate;
}
.sheet-face .page-inner{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  will-change:opacity,visibility;
}
.turn-sheet.go .sheet-face.front .page-inner{animation:flipTextOut .62s linear both}
.turn-sheet.go .sheet-face.back .page-inner{animation:flipTextIn .62s linear both}
@keyframes flipTextOut{
  0%,46%{opacity:1;visibility:visible}
  47%,100%{opacity:0;visibility:hidden}
}
@keyframes flipTextIn{
  0%,53%{opacity:0;visibility:hidden}
  54%,100%{opacity:1;visibility:visible}
}
.turn-sheet.mobile .page-inner{
  animation:mobileFlipTextOut .5s linear both;
  will-change:opacity,visibility;
}
@keyframes mobileFlipTextOut{
  0%,31%{opacity:1;visibility:visible}
  32%,100%{opacity:0;visibility:hidden}
}

/* v1.3.0 — visual tome gallery + expanded fantasy page themes */
.drawer.right-drawer{width:min(540px,96vw)}
.theme-section{padding-bottom:24px!important}
.theme-intro{margin:0 0 14px;color:#85939c;font-size:12px;line-height:1.5}
.theme-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.theme-card{
  --tc-bg:#8e7654;--tc-page:#a58d67;--tc-ink:#231710;--tc-accent:#805034;--tc-edge:#29150e;--tc-glow:transparent;
  appearance:none;position:relative;display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:11px;
  width:100%;min-width:0;min-height:116px;padding:9px;text-align:left;cursor:pointer;overflow:hidden;
  border:1px solid #26323a;border-radius:11px;background:linear-gradient(145deg,#11181e,#0a0f13);color:#c9d2d7;
  box-shadow:inset 0 1px #ffffff05,0 5px 16px #0004;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;
}
.theme-card:hover{transform:translateY(-1px);border-color:#53636d;background:linear-gradient(145deg,#151f26,#0c1217)}
.theme-card:focus-visible{outline:2px solid var(--tc-accent);outline-offset:2px}
.theme-card.active{border-color:var(--tc-accent);box-shadow:0 0 0 1px var(--tc-accent),0 0 22px var(--tc-glow),inset 0 1px #ffffff09}
.theme-card.active:after{content:'✓';position:absolute;right:7px;top:7px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--tc-accent);color:#08090a;font:800 12px Segoe UI,Arial,sans-serif;box-shadow:0 0 13px var(--tc-glow)}
.theme-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:96px;padding:10px 8px;border:3px solid var(--tc-edge);border-radius:4px 8px 8px 4px;background:
  radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--tc-accent) 19%,transparent),transparent 25%),
  linear-gradient(115deg,color-mix(in srgb,var(--tc-page) 73%,#000) 0,var(--tc-page) 17%,var(--tc-bg) 100%);
  color:var(--tc-ink);box-shadow:inset 5px 0 9px #0005,inset 0 0 15px color-mix(in srgb,var(--tc-edge) 55%,transparent),4px 5px 12px #0007;
}
.theme-preview:before{content:'';position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--tc-accent) 52%,transparent);border-radius:2px;pointer-events:none}
.theme-kicker{position:relative;font:700 6px/1 Segoe UI,Arial,sans-serif;letter-spacing:.14em;opacity:.7}
.theme-title{position:relative;margin:7px 0 9px;font:700 12px/1 var(--quill-font);text-align:center;text-shadow:0 0 7px var(--tc-glow)}
.theme-lines{position:relative;width:57px;display:grid;gap:4px}.theme-lines i{display:block;height:2px;border-radius:99px;background:currentColor;opacity:.7}.theme-lines i:nth-child(2){width:84%}.theme-lines i:nth-child(3){width:70%}
.theme-meta{display:block;min-width:0;padding-right:16px}.theme-meta strong,.theme-meta small{display:block}.theme-meta strong{font:700 13px/1.2 Georgia,serif;color:#e0e6e9}.theme-meta small{margin-top:5px;color:#73828b;font-size:10px;line-height:1.3}

/* Theme card miniatures */
.theme-card[data-paper="weathered"]{--tc-bg:#856d4d;--tc-page:#ad966f;--tc-ink:#17100c;--tc-accent:#a05a36;--tc-edge:#26140d;--tc-glow:#8c3a1b35}
.theme-card[data-paper="ivory"]{--tc-bg:#56534a;--tc-page:#928b7f;--tc-ink:#151412;--tc-accent:#847667;--tc-edge:#24221e;--tc-glow:#84766722}
.theme-card[data-paper="clean"]{--tc-bg:#9b805a;--tc-page:#c8b184;--tc-ink:#21160f;--tc-accent:#a77745;--tc-edge:#49301d;--tc-glow:#a7774533}
.theme-card[data-paper="classic-weathered"]{--tc-bg:#c0ae88;--tc-page:#d4c5a6;--tc-ink:#27241d;--tc-accent:#9b835b;--tc-edge:#66573e;--tc-glow:#9b835b22}
.theme-card[data-paper="classic-ivory"]{--tc-bg:#ded4bd;--tc-page:#eee6d4;--tc-ink:#25231f;--tc-accent:#b39e74;--tc-edge:#817256;--tc-glow:#b39e7422}
.theme-card[data-paper="classic-clean"]{--tc-bg:#e5e1d5;--tc-page:#f5f2e8;--tc-ink:#1d2024;--tc-accent:#aaa28f;--tc-edge:#7f796d;--tc-glow:#aaa28f22}
.theme-card[data-paper="bloodbound"]{--tc-bg:#050203;--tc-page:#0c0405;--tc-ink:#ef3d4c;--tc-accent:#ff263b;--tc-edge:#270309;--tc-glow:#ff203d66}
.theme-card[data-paper="obsidian"]{--tc-bg:#080a0e;--tc-page:#171b22;--tc-ink:#cbd2d9;--tc-accent:#8b99a7;--tc-edge:#020305;--tc-glow:#a9c2d533}
.theme-card[data-paper="frostborne"]{--tc-bg:#07121a;--tc-page:#102b3a;--tc-ink:#c7f1ff;--tc-accent:#6fdcff;--tc-edge:#02080d;--tc-glow:#51cfff55}
.theme-card[data-paper="felcorrupt"]{--tc-bg:#061006;--tc-page:#152b11;--tc-ink:#b5ff69;--tc-accent:#72ff2d;--tc-edge:#020702;--tc-glow:#70ff2c55}
.theme-card[data-paper="shadowveil"]{--tc-bg:#0d0814;--tc-page:#211731;--tc-ink:#e3c5ff;--tc-accent:#c35fff;--tc-edge:#040206;--tc-glow:#ba4dff55}
.theme-card[data-paper="emberwake"]{--tc-bg:#100805;--tc-page:#2b130a;--tc-ink:#ffc07e;--tc-accent:#ff6626;--tc-edge:#030201;--tc-glow:#ff551f55}

/* New dark fantasy tome palettes */
html[data-paper="bloodbound"]{--paper:#050203;--paper-mid:#0b0405;--paper-light:#120708;--paper-edge:#250208;--paper-burn:#000;--paper-stain:#610912;--ink:#dc3c48;--ink-soft:#a82f39;--ember:#ff263b;--theme-book:#090203;--theme-edge:#3b0710;--theme-accent:#ff263b;--theme-glow:#ff203d}
html[data-paper="obsidian"]{--paper:#080a0e;--paper-mid:#101319;--paper-light:#171b22;--paper-edge:#020305;--paper-burn:#000;--paper-stain:#33404b;--ink:#cbd2d9;--ink-soft:#929fa9;--ember:#9aa9b7;--theme-book:#05070a;--theme-edge:#303844;--theme-accent:#a8bac9;--theme-glow:#8ca9bf}
html[data-paper="frostborne"]{--paper:#061018;--paper-mid:#0b1e2a;--paper-light:#112e3e;--paper-edge:#01070c;--paper-burn:#000407;--paper-stain:#1c607c;--ink:#c4efff;--ink-soft:#88c5dc;--ember:#70dcff;--theme-book:#020910;--theme-edge:#16465d;--theme-accent:#70dcff;--theme-glow:#48cfff}
html[data-paper="felcorrupt"]{--paper:#050d05;--paper-mid:#0a1a08;--paper-light:#132b0f;--paper-edge:#010501;--paper-burn:#000300;--paper-stain:#3e7214;--ink:#b2ff68;--ink-soft:#79ca4b;--ember:#75ff2f;--theme-book:#020702;--theme-edge:#285713;--theme-accent:#75ff2f;--theme-glow:#69f428}
html[data-paper="shadowveil"]{--paper:#0b0711;--paper-mid:#151020;--paper-light:#211730;--paper-edge:#030205;--paper-burn:#010102;--paper-stain:#602b8c;--ink:#e2c3ff;--ink-soft:#aa87cf;--ember:#c25cff;--theme-book:#07040b;--theme-edge:#482064;--theme-accent:#c25cff;--theme-glow:#b64dff}
html[data-paper="emberwake"]{--paper:#0d0604;--paper-mid:#1a0c07;--paper-light:#2b1309;--paper-edge:#020101;--paper-burn:#000;--paper-stain:#84270e;--ink:#ffc17f;--ink-soft:#da8850;--ember:#ff6324;--theme-book:#080302;--theme-edge:#5d1c0b;--theme-accent:#ff6324;--theme-glow:#ff4d18}

html[data-paper="bloodbound"] .reader-backdrop,
html[data-paper="obsidian"] .reader-backdrop,
html[data-paper="frostborne"] .reader-backdrop,
html[data-paper="felcorrupt"] .reader-backdrop,
html[data-paper="shadowveil"] .reader-backdrop,
html[data-paper="emberwake"] .reader-backdrop{
  background:radial-gradient(ellipse at 50% 52%,color-mix(in srgb,var(--theme-accent) 12%,#090b0e) 0,#050608 42%,#010102 78%),radial-gradient(circle at 18% 24%,color-mix(in srgb,var(--theme-accent) 11%,transparent),transparent 31%);
}
html[data-paper="bloodbound"] .reader-backdrop:after,
html[data-paper="obsidian"] .reader-backdrop:after,
html[data-paper="frostborne"] .reader-backdrop:after,
html[data-paper="felcorrupt"] .reader-backdrop:after,
html[data-paper="shadowveil"] .reader-backdrop:after,
html[data-paper="emberwake"] .reader-backdrop:after{opacity:.065;background:repeating-radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--theme-accent) 28%,#aaa) 0 1px,transparent 1px 7px),linear-gradient(80deg,transparent 40%,color-mix(in srgb,var(--theme-accent) 8%,transparent) 50%,transparent 60%)}
html[data-paper="bloodbound"] #bookFrame,
html[data-paper="obsidian"] #bookFrame,
html[data-paper="frostborne"] #bookFrame,
html[data-paper="felcorrupt"] #bookFrame,
html[data-paper="shadowveil"] #bookFrame,
html[data-paper="emberwake"] #bookFrame{background:var(--theme-book);box-shadow:0 35px 90px #000f,0 0 0 7px color-mix(in srgb,var(--theme-book) 90%,#000),0 0 0 8px color-mix(in srgb,var(--theme-accent) 28%,transparent),0 0 50px color-mix(in srgb,var(--theme-glow) 12%,transparent)}
html[data-paper="bloodbound"] .book-edge,
html[data-paper="obsidian"] .book-edge,
html[data-paper="frostborne"] .book-edge,
html[data-paper="felcorrupt"] .book-edge,
html[data-paper="shadowveil"] .book-edge,
html[data-paper="emberwake"] .book-edge{background:linear-gradient(90deg,#010101,var(--theme-edge) 4%,color-mix(in srgb,var(--theme-edge) 80%,#555) 50%,var(--theme-edge) 96%,#010101);box-shadow:inset 0 0 38px #000e}
html[data-paper="bloodbound"] .visible-page,
html[data-paper="bloodbound"] .sheet-face,
html[data-paper="bloodbound"] .page-measure,
html[data-paper="obsidian"] .visible-page,
html[data-paper="obsidian"] .sheet-face,
html[data-paper="obsidian"] .page-measure,
html[data-paper="frostborne"] .visible-page,
html[data-paper="frostborne"] .sheet-face,
html[data-paper="frostborne"] .page-measure,
html[data-paper="felcorrupt"] .visible-page,
html[data-paper="felcorrupt"] .sheet-face,
html[data-paper="felcorrupt"] .page-measure,
html[data-paper="shadowveil"] .visible-page,
html[data-paper="shadowveil"] .sheet-face,
html[data-paper="shadowveil"] .page-measure,
html[data-paper="emberwake"] .visible-page,
html[data-paper="emberwake"] .sheet-face,
html[data-paper="emberwake"] .page-measure{
  background:radial-gradient(circle at 15% 13%,color-mix(in srgb,var(--paper-stain) 28%,transparent),transparent 13%),radial-gradient(circle at 84% 82%,color-mix(in srgb,var(--paper-stain) 22%,transparent),transparent 17%),radial-gradient(ellipse at 50% 48%,var(--paper-light) 0,var(--paper-mid) 55%,var(--paper) 79%,var(--paper-edge) 100%);color:var(--ink);border-color:color-mix(in srgb,var(--theme-accent) 20%,#080808)
}
html[data-paper="bloodbound"] .visible-page:before,
html[data-paper="bloodbound"] .sheet-face:before,
html[data-paper="obsidian"] .visible-page:before,
html[data-paper="obsidian"] .sheet-face:before,
html[data-paper="frostborne"] .visible-page:before,
html[data-paper="frostborne"] .sheet-face:before,
html[data-paper="felcorrupt"] .visible-page:before,
html[data-paper="felcorrupt"] .sheet-face:before,
html[data-paper="shadowveil"] .visible-page:before,
html[data-paper="shadowveil"] .sheet-face:before,
html[data-paper="emberwake"] .visible-page:before,
html[data-paper="emberwake"] .sheet-face:before{background:radial-gradient(circle at 4% 9%,#000b 0 1.5%,transparent 8%),radial-gradient(circle at 96% 17%,color-mix(in srgb,var(--theme-accent) 14%,#000) 0 2%,transparent 9%),radial-gradient(circle at 8% 91%,#000c 0 2.5%,transparent 10%),radial-gradient(circle at 91% 94%,color-mix(in srgb,var(--theme-accent) 11%,#000) 0 2%,transparent 9%),repeating-linear-gradient(7deg,transparent 0 30px,color-mix(in srgb,var(--theme-accent) 4%,transparent) 31px 32px);box-shadow:inset 0 0 48px #000,inset 0 0 13px color-mix(in srgb,var(--theme-accent) 12%,transparent);mix-blend-mode:normal}
html[data-paper="bloodbound"] .visible-page:after,
html[data-paper="bloodbound"] .sheet-face:after,
html[data-paper="obsidian"] .visible-page:after,
html[data-paper="obsidian"] .sheet-face:after,
html[data-paper="frostborne"] .visible-page:after,
html[data-paper="frostborne"] .sheet-face:after,
html[data-paper="felcorrupt"] .visible-page:after,
html[data-paper="felcorrupt"] .sheet-face:after,
html[data-paper="shadowveil"] .visible-page:after,
html[data-paper="shadowveil"] .sheet-face:after,
html[data-paper="emberwake"] .visible-page:after,
html[data-paper="emberwake"] .sheet-face:after{background:linear-gradient(94deg,transparent 0 12%,color-mix(in srgb,var(--theme-accent) 5%,transparent) 12.2% 12.5%,transparent 12.7% 69%,color-mix(in srgb,var(--theme-accent) 4%,transparent) 69.2% 69.5%,transparent 69.8%),radial-gradient(ellipse at 72% 22%,color-mix(in srgb,var(--theme-accent) 7%,transparent),transparent 20%);opacity:1}
html[data-paper="bloodbound"] .page-content,
html[data-paper="bloodbound"] .page-measure .page-content{font-weight:600;text-shadow:0 0 3px #ff263b55}
html[data-paper="bloodbound"] .prose h1,
html[data-paper="bloodbound"] .prose h2,
html[data-paper="bloodbound"] .prose h3,
html[data-paper="bloodbound"] .chapter-opener h1{text-shadow:0 0 7px #ff263b88,0 0 18px #8a071b66}
html[data-paper="obsidian"] .page-content,
html[data-paper="frostborne"] .page-content,
html[data-paper="felcorrupt"] .page-content,
html[data-paper="shadowveil"] .page-content,
html[data-paper="emberwake"] .page-content{text-shadow:0 0 2px color-mix(in srgb,var(--theme-accent) 35%,transparent)}
html[data-paper="bloodbound"] .prose blockquote,
html[data-paper="obsidian"] .prose blockquote,
html[data-paper="frostborne"] .prose blockquote,
html[data-paper="felcorrupt"] .prose blockquote,
html[data-paper="shadowveil"] .prose blockquote,
html[data-paper="emberwake"] .prose blockquote{border-left-color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 6%,transparent);color:var(--ink-soft)}
html[data-paper="bloodbound"] .prose hr:after,
html[data-paper="obsidian"] .prose hr:after,
html[data-paper="frostborne"] .prose hr:after,
html[data-paper="felcorrupt"] .prose hr:after,
html[data-paper="shadowveil"] .prose hr:after,
html[data-paper="emberwake"] .prose hr:after{color:var(--theme-accent);text-shadow:0 0 10px color-mix(in srgb,var(--theme-glow) 70%,transparent)}
html[data-paper="bloodbound"] .prose img,
html[data-paper="obsidian"] .prose img,
html[data-paper="frostborne"] .prose img,
html[data-paper="felcorrupt"] .prose img,
html[data-paper="shadowveil"] .prose img,
html[data-paper="emberwake"] .prose img{filter:saturate(.8) contrast(1.08) brightness(.78);border:1px solid color-mix(in srgb,var(--theme-accent) 42%,#111);box-shadow:0 5px 22px #000d,0 0 13px color-mix(in srgb,var(--theme-glow) 14%,transparent)}
html[data-paper="bloodbound"] .page-no,
html[data-paper="obsidian"] .page-no,
html[data-paper="frostborne"] .page-no,
html[data-paper="felcorrupt"] .page-no,
html[data-paper="shadowveil"] .page-no,
html[data-paper="emberwake"] .page-no{color:color-mix(in srgb,var(--ink-soft) 75%,#555)}
html[data-paper="bloodbound"] .chapter-opener span,
html[data-paper="obsidian"] .chapter-opener span,
html[data-paper="frostborne"] .chapter-opener span,
html[data-paper="felcorrupt"] .chapter-opener span,
html[data-paper="shadowveil"] .chapter-opener span,
html[data-paper="emberwake"] .chapter-opener span{color:var(--theme-accent);text-shadow:0 0 8px color-mix(in srgb,var(--theme-glow) 45%,transparent)}
html[data-paper="bloodbound"] .chapter-opener p,
html[data-paper="obsidian"] .chapter-opener p,
html[data-paper="frostborne"] .chapter-opener p,
html[data-paper="felcorrupt"] .chapter-opener p,
html[data-paper="shadowveil"] .chapter-opener p,
html[data-paper="emberwake"] .chapter-opener p{color:var(--ink-soft)}
html[data-paper="bloodbound"] .chapter-opener i,
html[data-paper="bloodbound"] .end-page i,
html[data-paper="obsidian"] .chapter-opener i,
html[data-paper="obsidian"] .end-page i,
html[data-paper="frostborne"] .chapter-opener i,
html[data-paper="frostborne"] .end-page i,
html[data-paper="felcorrupt"] .chapter-opener i,
html[data-paper="felcorrupt"] .end-page i,
html[data-paper="shadowveil"] .chapter-opener i,
html[data-paper="shadowveil"] .end-page i,
html[data-paper="emberwake"] .chapter-opener i,
html[data-paper="emberwake"] .end-page i{color:var(--theme-accent);text-shadow:0 0 13px var(--theme-glow)}
html[data-paper="bloodbound"] .book-spine,
html[data-paper="obsidian"] .book-spine,
html[data-paper="frostborne"] .book-spine,
html[data-paper="felcorrupt"] .book-spine,
html[data-paper="shadowveil"] .book-spine,
html[data-paper="emberwake"] .book-spine{background:linear-gradient(90deg,#000e,transparent 31%,color-mix(in srgb,var(--theme-accent) 12%,transparent) 50%,transparent 69%,#000e)}

/* Make a few themes visually unique beyond palette swaps. */
html[data-paper="frostborne"] .visible-page:after,html[data-paper="frostborne"] .sheet-face:after{background:linear-gradient(135deg,transparent 0 24%,#8de8ff0b 24.2% 24.5%,transparent 24.7% 62%,#8de8ff08 62.2% 62.5%,transparent 62.7%),radial-gradient(circle at 84% 17%,#9aeaff13,transparent 18%)}
html[data-paper="felcorrupt"] .visible-page:after,html[data-paper="felcorrupt"] .sheet-face:after{background:radial-gradient(circle at 79% 22%,#72ff2812,transparent 18%),radial-gradient(circle at 22% 78%,#72ff2810,transparent 21%),linear-gradient(107deg,transparent 48%,#72ff2807 49%,transparent 50%)}
html[data-paper="shadowveil"] .visible-page:after,html[data-paper="shadowveil"] .sheet-face:after{background:radial-gradient(ellipse at 74% 22%,#c15dff16,transparent 20%),radial-gradient(ellipse at 18% 70%,#7434a814,transparent 24%),linear-gradient(96deg,transparent 0 37%,#c15dff08 38%,transparent 39%)}
html[data-paper="emberwake"] .visible-page:after,html[data-paper="emberwake"] .sheet-face:after{background:radial-gradient(circle at 91% 7%,#ff5d191b,transparent 14%),radial-gradient(circle at 8% 93%,#ff5d1915,transparent 18%),linear-gradient(100deg,transparent 0 65%,#ff5d1907 66%,transparent 67%)}
html[data-paper="obsidian"] .visible-page,html[data-paper="obsidian"] .sheet-face{clip-path:none;border-radius:4px}

@media(max-width:760px){
  .drawer.right-drawer{width:100vw}
  .theme-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .theme-card{grid-template-columns:68px minmax(0,1fr);min-height:99px;padding:7px;gap:8px}
  .theme-preview{width:68px;height:82px;padding:8px 5px}.theme-lines{width:44px}.theme-title{font-size:10px}.theme-meta strong{font-size:12px}.theme-meta small{font-size:9px}
}
@media(max-width:390px){
  .theme-gallery{grid-template-columns:1fr}
  .theme-card{grid-template-columns:74px minmax(0,1fr);min-height:96px}
  .theme-preview{width:74px;height:80px}
}
