
:root{--paper:#f6f3ed;--ink:#283c36;--muted:#7c8176;--line:#dcded3;--green:#344e43}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif}button,a,select{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ae7744;outline-offset:4px}header{height:105px;max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 56px;border-bottom:1px solid var(--line)}.brand{font-family:'Noto Serif KR',serif;font-weight:600;font-size:26px;letter-spacing:-1px}.brand span{display:block;font:8px sans-serif;letter-spacing:2px;margin-top:7px}nav{display:flex;gap:35px}nav button{border:0;background:none;color:var(--muted);font-size:13px;padding:12px 0}nav button.active{color:var(--ink);border-bottom:1px solid}small{background:#e6e9de;padding:2px 6px;border-radius:20px;margin-left:5px}.edition{font-size:9px;letter-spacing:2px;color:var(--muted)}main{max-width:1248px;padding:52px 0 70px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--muted)}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:33px}h1,h2,h3{font-family:'Noto Serif KR',serif;font-weight:500}h1{font-size:34px;letter-spacing:-1.5px;margin:10px 0}p{line-height:1.9}.intro p{font-size:12px;color:var(--muted);margin:0}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:435px;background:#e9e9df}.art{position:relative;overflow:hidden;background:linear-gradient(140deg,#a9b6a7,#d4d7c6 50%,#9baf9f);display:flex;align-items:center;justify-content:center}.art:before{content:'';position:absolute;width:360px;height:360px;border:1px solid #ffffff5a;border-radius:50%;top:40px;left:-80px}.art:after{content:'';position:absolute;width:200px;height:500px;transform:rotate(35deg);background:#f9f4d32a;right:0}.book{width:216px;height:300px;background:#344a40;box-shadow:18px 20px 28px #304a3d40;transform:rotate(-8deg);color:#eee8d9;border-left:7px solid #263a31;padding:33px 25px;position:relative;z-index:1}.book span{font-size:8px;letter-spacing:2px}.book h2{font-size:31px;line-height:1.7;letter-spacing:3px;margin-top:32px}.book em{font:9px serif;letter-spacing:2px;position:absolute;bottom:24px}.art-note{position:absolute;bottom:22px;left:25px;font-size:8px;letter-spacing:2px}.hero-copy{padding:48px 55px}.tag{font-size:10px;border:1px solid #aab2a4;padding:4px 9px;display:inline-block}.hero-copy h2{font-size:30px;margin:18px 0 6px}.by{font-size:10px;color:var(--muted)}.desc{font-family:'Noto Serif KR',serif;font-size:13px;color:#687469;margin:24px 0}.primary,.secondary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border:1px solid var(--green);font-size:12px}.primary{background:var(--green);color:#fff}.secondary{background:transparent;color:var(--green)}.hero-copy .primary{width:100%}.meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:20px 0 9px}.track{height:3px;background:#d5d9ce}.track i{display:block;height:3px;background:var(--green)}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:43px 0 20px}.section-title h2{font-size:21px;margin:0}.text-btn{background:none;border:0;color:var(--muted);font-size:11px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);padding:24px;min-height:142px}.card .icon{font-family:serif;font-size:25px;float:right;color:#9b9f8c}.card h3{font-size:17px;margin:12px 0 6px}.card p{font-size:11px;color:var(--muted);margin:0}.foot{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.chapter-list{border-top:1px solid var(--line)}.chapter{width:100%;display:flex;gap:25px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:22px 10px;color:var(--ink)}.chapter .num{color:var(--muted);font:18px serif}.chapter strong{font-size:14px;font-weight:500;flex:1}.chapter .state{font-size:10px;color:var(--muted)}.chapter.current{background:#e9ece3}.reader{max-width:700px;margin:auto}.reader-top{display:flex;justify-content:space-between;align-items:center}.reader h1{margin-top:40px;font-size:30px}.reader .prose{font-family:'Noto Serif KR',serif;line-height:2.6;font-size:16px;padding:25px 0;white-space:pre-line}.reader-controls{display:flex;justify-content:space-between;gap:15px;margin:35px 0}.reader-controls button:disabled{opacity:.35;cursor:default}.filter{display:flex;gap:10px;margin:25px 0}.filter button{border:1px solid var(--line);background:transparent;border-radius:20px;padding:8px 17px;font-size:12px;color:var(--muted)}.filter button.active{background:var(--green);color:#fff}.empty{padding:60px;text-align:center;border:1px dashed var(--line);color:var(--muted);font-size:13px}dialog{border:1px solid var(--line);padding:48px;width:min(480px,calc(100% - 32px));background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #16241b30}dialog::backdrop{background:#192e274d;backdrop-filter:blur(5px)}dialog h2{font-size:27px;margin:18px 0}dialog p{font-size:13px;color:var(--muted)}dialog button.primary,dialog button.secondary{width:100%;margin-top:12px}.close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:25px;color:var(--muted)}.fine{font-size:10px!important;margin:24px 0 0}.hint{font-size:12px}label{font-size:12px;display:block;margin-top:22px}select{margin-top:12px;padding:13px;width:100%;background:transparent;border:1px solid #aab2a4;color:var(--ink);font:inherit;font-size:13px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--green);color:white;padding:14px 24px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:5;width:max-content;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.sample{font-size:10px;color:#8b816a;border-left:2px solid #b8ae98;padding-left:10px;margin-top:25px}@media(max-width:1350px){main{margin:0 6%}}@media(max-width:700px){header{height:90px;padding:0 22px}.brand{font-size:22px}nav{gap:17px}nav button{font-size:11px}.edition{display:none}main{padding-top:30px;margin:0 6%}.intro{display:block}.intro p{margin-top:14px}h1{font-size:29px}.hero{grid-template-columns:1fr}.art{min-height:320px}.book{width:175px;height:245px}.book h2{font-size:25px;margin-top:20px}.hero-copy{padding:30px}.cards{grid-template-columns:1fr}.card{min-height:120px}.foot{line-height:1.9;gap:20px}.reader .prose{font-size:15px}.reader h1{font-size:25px}dialog{padding:34px 25px}.chapter{gap:15px}.chapter strong{font-size:12px}}

:root{--paper:#faf6ef;--ink:#343d64;--green:#424b72;--muted:#747487;--line:#e4ddd8}html{-webkit-text-size-adjust:100%;scroll-padding-bottom:100px}body{overflow-wrap:anywhere}button,a,select{touch-action:manipulation}button:disabled{cursor:default;opacity:.4}.art{background:radial-gradient(ellipse at 10% 0%,#d9d2e7,transparent 65%),radial-gradient(ellipse at 95% 95%,#ebcdb9,transparent 65%),#eee9df;min-height:450px}.art:before,.art:after{display:none}.book{width:230px;height:326px;padding:0;border:0;background:url('cover-reference.png') 91% 49% / 246% 116% no-repeat;transform:rotate(-4deg);box-shadow:12px 18px 28px #4b43572b;border-radius:2px}.book>*{visibility:hidden}.art-note{color:#6f657d}.hero{background:#f0ebe6}.track{background:#dfd8e2}.card{background:#fdfaf680}.chapter.current{background:#ece8f0}.tag{border-color:#beb4cb}.card .icon{color:#a79ab8}small{background:#e6dfed}.primary{border-radius:7px}.secondary{border-radius:7px}.sample{line-height:1.8}.reader .prose{word-break:keep-all;overflow-wrap:break-word}.reader-top .text-btn{min-height:44px}.close{min-width:44px;min-height:44px}.filter button{min-height:44px}dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}body:has(dialog[open]){overflow:hidden}button[hidden],[hidden]{display:none!important}
@media(min-width:701px) and (max-width:1000px){.hero-copy{padding:32px}.cards{gap:12px}.edition{display:none}header{padding:0 6%}.hero-copy h2{font-size:27px}}
@media(max-width:700px){
 header{height:76px;padding:12px 22px;padding-top:max(12px,env(safe-area-inset-top));justify-content:center}.brand{text-align:center;font-size:23px}.brand span{font-size:8px;letter-spacing:1.8px}header nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#faf6eff5;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:7px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-shadow:0 -4px 20px #343d6407}nav button{min-height:52px;font-size:13px;color:#727083;border-radius:9px;padding:9px 4px}nav button:before{display:block;font-size:19px;line-height:21px;margin-bottom:3px}nav button[data-view=home]:before{content:'⌂'}nav button[data-view=chapters]:before{content:'☷'}nav button[data-view=collection]:before{content:'▤'}nav button.active{border:0;background:#eae4f0;color:#343d64;font-weight:600}nav small{font-size:10px;padding:1px 5px}main{margin:0 auto;padding:28px 20px calc(110px + env(safe-area-inset-bottom));max-width:540px}.intro{margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:clamp(24px,6.5vw,30px);line-height:1.5;letter-spacing:-1px}.intro p{font-size:13px;margin-top:8px}.hero{border-radius:12px;overflow:hidden;min-height:0}.art{min-height:300px}.book{width:171px;height:242px}.art-note{bottom:13px;left:18px;font-size:7px;letter-spacing:1.3px}.hero-copy{padding:25px 22px 22px}.hero-copy h2{font-size:27px;margin:14px 0 7px}.tag{font-size:11px}.by{font-size:12px;line-height:1.8}.desc{font-size:15px;line-height:1.9;margin:18px 0 22px}.primary,.secondary{min-height:52px;font-size:14px;padding:14px 17px}.text-btn{min-height:44px;font-size:12px}.meta{font-size:11px}.section-title{margin:29px 0 12px;gap:8px;align-items:center}.section-title h2{font-size:19px;letter-spacing:-.8px}.section-title .text-btn{white-space:nowrap;font-size:11px;padding:0}.cards{gap:12px}.card{padding:21px;min-height:118px;border-radius:9px}.card h3{font-size:18px}.card p{font-size:13px;line-height:1.8}.foot{font-size:11px;display:block;margin-top:28px}.foot span{display:block;margin-bottom:5px}.chapter{padding:20px 12px;gap:14px;min-height:78px}.chapter .num{flex-shrink:0}.chapter strong{font-size:14px;line-height:1.7}.chapter .state{font-size:11px;white-space:nowrap}.reader h1{font-size:26px;margin-top:27px;line-height:1.6}.reader .prose{font-size:17px;line-height:2.2;padding:21px 0;letter-spacing:-.15px}.reader-controls{gap:10px;margin:26px 0 10px;display:grid;grid-template-columns:auto 1fr}.reader-controls button{justify-content:center;padding:13px 12px;font-size:13px}.reader #next{display:block;margin:0 auto}.sample{font-size:11px}.filter{gap:8px;flex-wrap:wrap;margin:21px 0}.filter button{font-size:13px;padding:9px 16px}.empty{padding:35px 19px;font-size:14px}dialog{padding:40px 24px 28px;border-radius:16px;width:calc(100% - 28px);max-width:430px}dialog h2{font-size:26px;margin:20px 0 15px}dialog p{font-size:14px}.fine{font-size:11px!important}.hint{font-size:13px}label{font-size:14px}select{min-height:52px;font-size:16px;max-width:100%;text-overflow:ellipsis}#toast{bottom:calc(91px + env(safe-area-inset-bottom));font-size:13px;padding:14px 20px;max-width:calc(100% - 32px);border-radius:10px;line-height:1.7}
}
@media(max-width:360px){main{padding-left:16px;padding-right:16px}.hero-copy{padding:22px 18px}.section-title h2{font-size:17px}.chapter{gap:10px}.chapter strong{font-size:13px}.reader-controls button{font-size:12px;padding:12px 9px}dialog{padding-left:20px;padding-right:20px}}
@media(max-width:700px){main{padding-top:22px}.intro{margin-bottom:20px}.art{min-height:235px}.book{width:141px;height:200px}.hero-copy{padding-top:20px}.hero-copy h2{margin-top:11px}.desc{margin:13px 0 17px}.intro p{margin-top:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep the last list item above the floating navigation, including in installed iOS apps. */
@media(max-width:700px){body:not(.reading):not(.at-entrance) #app{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px));}html{scroll-padding-bottom:calc(140px + env(safe-area-inset-bottom,0px));}}

body.reading main{padding-top:18px;padding-bottom:24px}.reading .reader{max-width:660px}.reading .reader-top{min-height:44px}.reading .sample{margin:7px 0;font-size:10px}.reading .reader h1{margin:12px 0 3px;font-size:25px}.reading .reader>.by{display:block;margin-bottom:16px}.reading-sheet{height:clamp(300px,calc(100dvh - 360px),650px);position:relative;overflow:hidden;background:linear-gradient(100deg,#f0e9df 0%,#fffaf1 3%,#fdf8f0 92%,#ebe3d8 100%);border:1px solid #e5ddd2;border-radius:3px 9px 9px 3px;box-shadow:3px 4px 0 #ebe4d9,5px 7px 0 #e1d9ce,0 10px 28px #443b4e09;touch-action:pan-y pinch-zoom;outline-offset:7px;perspective:1200px}.reading .reader .prose{margin:0;padding:25px 23px;height:100%;width:100%;column-gap:32px;column-fill:auto;column-width:600px;line-height:2.2;font-size:17px;white-space:pre-line;overflow-wrap:break-word;word-break:normal;box-decoration-break:clone;will-change:transform}.chapter-ending{height:100%;overflow-y:auto;padding:26px 23px;overscroll-behavior:contain}.chapter-ending h2{font-size:23px;margin:18px 0 4px}.chapter-ending>p{font-size:13px;color:var(--muted);margin:8px 0 22px}.chapter-ending .card{padding:16px;margin-bottom:22px;min-height:0}.chapter-ending .card h3{font-size:16px}.chapter-ending .card p{font-size:12px}.chapter-ending>.primary{width:100%;justify-content:center}.chapter-ending>.secondary{margin:12px auto 0;min-height:44px;font-size:12px}.page-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}.page-controls>div{text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.page-arrow{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fffaf1;color:var(--ink);font:29px serif;flex-shrink:0}.page-arrow:disabled{opacity:.3}.swipe-hint{display:block;font-size:10px;color:var(--muted);margin-top:5px}.turn-forward{animation:turn-forward .38s ease-out}.turn-back{animation:turn-back .38s ease-out}@keyframes turn-forward{0%{transform:perspective(1200px) rotateY(-7deg);filter:brightness(.94)}100%{transform:perspective(1200px) rotateY(0);filter:brightness(1)}}@keyframes turn-back{0%{transform:perspective(1200px) rotateY(7deg);filter:brightness(.94)}100%{transform:perspective(1200px) rotateY(0);filter:brightness(1)}}
@media(max-width:700px){.reading main{padding:10px 20px calc(100px + env(safe-area-inset-bottom))!important}.reading header{height:62px}.reading .reader h1{font-size:22px;margin-top:7px}.reading .reader>.by{font-size:11px;margin-bottom:10px}.reading .sample{font-size:9px;line-height:1.6;margin:3px 0 7px}.reading-sheet{height:calc(100dvh - 347px - env(safe-area-inset-bottom) - env(safe-area-inset-top));min-height:230px;max-height:none}.reading .reader .prose{font-size:17px;line-height:2.1;padding:20px 20px}.page-controls{margin-top:14px}.page-arrow{width:44px;height:44px}.chapter-ending{padding:22px 20px}.chapter-ending h2{font-size:21px}.chapter-ending .card{margin-bottom:16px}.chapter-ending>p{margin-bottom:15px}}
.reading-sheet{padding:20px;user-select:none;-webkit-user-select:none}.reading .reader .prose{padding:0}.chapter-ending{position:absolute;inset:0}
@media(prefers-reduced-motion:reduce){.turn-forward,.turn-back{animation:none}}
.reader-chapter-nav{display:flex;gap:10px;justify-content:center;width:min(100%,340px);padding:2px 0 8px;border-bottom:1px solid #d9cfde}.reader-overlay-menu .reader-chapter-nav button{flex:1;min-width:0;min-height:40px;padding:9px 14px;border:1px solid #d9cfde;border-radius:22px;background:#eee6f04d;font-size:13px}.reader-chapter-nav button:disabled{opacity:.3;cursor:default}.reader-chapter-nav button:focus-visible{outline:2px solid #9984b1;outline-offset:3px}.reading[data-reader-theme=black] .reader-chapter-nav,.reading[data-reader-theme=black] .reader-chapter-nav button{border-color:#514b5d}.reader-overlay-menu{max-height:calc(100dvh - 70px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}

body.at-entrance{background:#f4ebde}body.at-entrance>header{display:none}body.at-entrance #app{margin:0;max-width:none;padding:0!important}.cover-entrance{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:400px;overflow:hidden;background:#f4ebde url('cover-reference.png') center center / cover no-repeat}.entrance-actions{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}.enter-button{min-width:185px;min-height:58px;padding:15px 36px;border:1px solid #59608073;border-radius:3px;background:#fffaf0dd;backdrop-filter:blur(6px);color:#343d64;font-family:'Noto Serif KR',serif;font-size:19px;letter-spacing:4px;box-shadow:0 5px 22px #49415b12;transition:background .2s,transform .2s}.enter-button:hover{background:#fffaf0;transform:translateY(-2px)}.entrance-menu{position:static;display:flex;flex-direction:column;gap:0;width:264px;max-width:100%;padding:12px 24px;background:#fffaf0e8;border:1px solid #80738e45;box-shadow:0 14px 55px #453a5b1c;backdrop-filter:blur(12px);border-radius:5px}.entrance-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:62px;border:0;border-bottom:1px solid #c8bfcc73;border-radius:0;padding:15px 8px;color:#343d64;font-family:'Noto Serif KR',serif;font-weight:500;font-size:17px;background:transparent;text-align:left;letter-spacing:1px}.entrance-menu button:last-child{border-bottom:0}.entrance-menu button:before{display:none}.entrance-menu button span{color:#8d839b;font-size:17px}.entrance-menu button:hover{background:#ede5f05c}.at-entrance #toast{bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:700px){.cover-entrance{background-size:auto 116%;background-position:91% 49%}.entrance-actions{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.enter-button{min-height:56px;min-width:172px;font-size:18px}.entrance-menu{width:244px;padding:8px 22px}.entrance-menu button{font-size:17px;min-height:62px}}
.cover-entrance{background-image:none;background-color:#f5eddf}
.cover-entrance:before{content:'';position:absolute;inset:0;background:url('cover-reference.png') center / contain no-repeat;z-index:-1}
.enter-button{background:transparent;border:0;box-shadow:none;backdrop-filter:none;text-shadow:0 1px 8px #fffaf0}
.enter-button:hover{background:transparent}
.entrance-menu{background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:8px 22px}
.entrance-menu button{border:0;background:transparent;text-align:center;justify-content:center;font-size:19px;min-height:64px;text-shadow:0 1px 8px #fffaf0}
.entrance-menu button span{display:none}
.entrance-menu button:hover{background:transparent;color:#71618b}
@media(max-width:700px){.cover-entrance:before{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,70.9dvh);aspect-ratio:624 / 880;background-size:246.154% 116.364%;background-position:87.72% 48.61%}.entrance-actions{align-items:center}.entrance-menu button{font-size:19px}}
.cover-entrance:before{inset:0;left:0;top:0;transform:none;width:100%;height:100%;aspect-ratio:auto;background-image:url('entrance-background.png');background-size:cover;background-position:50% 50%}
.enter-button,.entrance-menu button{text-shadow:0 1px 10px #fffaf0cc;color:#303a60}
@media(max-width:700px){.cover-entrance:before{inset:0;left:0;top:0;transform:none;width:100%;height:100%;aspect-ratio:auto;background-size:cover;background-position:51% center}}
@media(prefers-reduced-motion:reduce){.enter-button{transition:none}}
.entrance-title{position:absolute;left:20px;right:20px;top:calc(9dvh + env(safe-area-inset-top));text-align:center;pointer-events:none;color:#303a60;font-family:'Noto Serif KR',serif;text-shadow:0 1px 12px #fffaf0a0}.entrance-title h1{font-size:clamp(32px,8vw,54px);font-weight:500;letter-spacing:3px;line-height:1.4;margin:0 0 16px}.entrance-title>span{font-size:12px;letter-spacing:3px}.entrance-title p{font-size:clamp(17px,4.5vw,23px);letter-spacing:2px;margin:12px 0 0}.entrance-actions{padding-top:18dvh}@media(max-height:560px){.entrance-title{top:5dvh}.entrance-title h1{font-size:29px;margin-bottom:6px}.entrance-title p{font-size:16px;margin-top:5px}.entrance-menu button{min-height:44px;font-size:16px}.entrance-actions{padding-top:27dvh}}

.install-entry{position:absolute;z-index:2;left:50%;transform:translateX(-50%);bottom:calc(7dvh + env(safe-area-inset-bottom));min-height:44px;padding:10px 18px;border:0;background:transparent;color:#5e5774;font-family:'Noto Serif KR',serif;font-size:13px;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 8px #fff9ef}.install-entry:hover{color:#303a60}.install-entry:focus-visible{outline:2px solid #9883a9;border-radius:20px;outline-offset:3px}.installed-app .install-entry{display:none}.install-help{max-width:410px;background:#faf6ef;color:#343d64;border:1px solid #ddd1e0;border-radius:24px;padding:36px 28px}.install-help::backdrop{background:#352e4159;backdrop-filter:blur(5px)}.install-icon{display:block;width:72px;height:72px;border-radius:18px;margin:0 0 20px;box-shadow:0 4px 15px #4d405724}.install-help h2{font-size:25px;line-height:1.5;margin:12px 0}.install-help p{font-size:13px;line-height:1.8}.install-help ol{padding-left:23px;margin:24px 0;font-size:14px;line-height:1.9}.install-help li{padding-left:4px;margin-bottom:12px}.install-done{width:100%;background:#e5dbea!important;color:#4b4262!important;border:0!important}.install-help .eyebrow{font-size:9px}@media(max-height:560px){.install-entry{bottom:10px;font-size:12px}.install-help{padding:28px 24px}}

.admin-entry{position:absolute;z-index:2;right:22px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:10px;letter-spacing:1px;color:#85768b;text-decoration:none;padding:12px}
.story-public-links{position:absolute;z-index:2;left:22px;bottom:calc(48px + env(safe-area-inset-bottom));display:flex;gap:18px;font-size:11px}.story-public-links a{color:#756780;text-decoration:none;padding:8px 0}.guest-login-entry{position:absolute;z-index:2;bottom:calc(12dvh + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;background:transparent!important;border:0!important;color:#64547c!important}.guest-reading-note{font-size:13px;line-height:1.9;color:#6c607c;background:#e5dfee44;padding:18px 20px;border-radius:12px}.guest-reading-note button{font-size:12px;border:0;background:transparent;color:#64547c;padding:8px 0}@media(max-height:560px){.story-public-links{bottom:46px}.guest-login-entry{bottom:75px}}

.entrance-title .entrance-author{display:block;margin-top:18px;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:2px;color:#716880;background:transparent}@media(max-height:560px){.entrance-title .entrance-author{margin-top:8px;font-size:11px;letter-spacing:1.5px}}
/* Keep cover controls in document flow, including short in-app browser viewports. */
.cover-entrance{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;height:auto;min-height:100dvh;overflow:visible;padding:calc(64px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.cover-entrance .entrance-title{position:static;order:1;width:100%;flex:none;margin:0 0 22px}
.cover-entrance .entrance-actions{position:static;inset:auto;order:2;flex:1 0 auto;width:100%;box-sizing:border-box;padding:8px 0 24px;min-height:150px}
.cover-entrance .entrance-menu{padding:0 12px}
.cover-entrance .entrance-menu button{min-height:56px;padding:12px 8px}
.cover-entrance .guest-login-entry,.cover-entrance .install-entry,.cover-entrance .admin-entry,.cover-entrance .story-public-links{position:static;inset:auto;transform:none;flex:none;margin:0}
.cover-entrance .guest-login-entry{order:3;min-height:44px;padding:10px 16px;white-space:normal;text-align:center}
.cover-entrance .install-entry{order:4;min-height:44px;white-space:normal;text-align:center}
.cover-entrance .story-public-links{order:5;display:flex;flex-wrap:wrap;justify-content:center;column-gap:20px;row-gap:0;width:100%;margin-top:8px}
.cover-entrance .story-public-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.cover-entrance .admin-entry{order:6;align-self:flex-end;min-height:36px;box-sizing:border-box;padding:10px 8px}
@media(max-height:560px){.cover-entrance{padding-top:calc(56px + env(safe-area-inset-top))}.cover-entrance .entrance-menu button{min-height:44px}.cover-entrance .entrance-title{margin-bottom:12px}}

.story-social-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px}.story-social-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 6px;color:#756780;text-decoration:none;font-size:12px;letter-spacing:.5px}.story-social-links svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.story-social-links a:hover{color:#343d64}.story-social-links a:focus-visible{outline:2px solid #9883a9;outline-offset:3px;border-radius:8px}
.cover-entrance .story-social-links{position:static;order:5;flex:none;margin:4px 0 0;width:100%}.cover-entrance .story-public-links{order:6;margin-top:4px}.cover-entrance .admin-entry{order:7}

/* The reading surface fills the app viewport. Navigation is tap-to-toggle. */
body.reading{overflow:hidden;background:#fdf8f0}
body.reading>header{display:none}
body.reading main{position:fixed;inset:0;margin:0!important;padding:0!important;width:100%;max-width:none;height:100dvh}
.reading .reader{position:relative;max-width:none;height:100%;margin:0}
.reading .reader-top,.reading .reader>.sample,.reading .reader>h1,.reading .reader>.by{display:none}
.reading .reading-sheet{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;padding:max(40px,env(safe-area-inset-top)) max(28px,calc((100vw - 680px)/2)) max(64px,calc(env(safe-area-inset-bottom) + 44px));background:#fdf8f0;outline-offset:-5px}
.reading .reader .prose{font-size:18px;line-height:2.15}
.reading .page-controls{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));left:22px;right:22px;margin:0;z-index:2;pointer-events:none;justify-content:center}
.reading .page-controls>div{font-size:11px;color:#8c8490}
.reading .page-arrow,.reading .swipe-hint{display:none}
.reader-overlay-menu{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#faf6eff5;border-bottom:1px solid #ded5df;box-shadow:0 5px 25px #343d6409;backdrop-filter:blur(12px)}
.reader-overlay-menu button{min-height:46px;min-width:76px;border:0;background:transparent;color:#343d64;font-size:14px;padding:10px 15px;border-radius:5px}
.reader-overlay-menu button:hover{background:#ece5f1}
.reader-menu-open .page-arrow{display:block;pointer-events:auto}
.reader-menu-open .page-controls{justify-content:space-between}
.reading .chapter-ending{padding:max(65px,calc(env(safe-area-inset-top) + 65px)) max(28px,calc((100vw - 600px)/2)) calc(70px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}
.reading .chapter-ending>.primary{flex-shrink:0}
.reading #toast{bottom:calc(42px + env(safe-area-inset-bottom))}
@media(max-width:700px){.reading .reading-sheet{padding:max(30px,calc(env(safe-area-inset-top) + 18px)) 25px max(54px,calc(env(safe-area-inset-bottom) + 40px))}.reading .reader .prose{font-size:18px;line-height:2.05}.reader-overlay-menu{gap:6px}.reader-overlay-menu button{min-width:80px}.reading .chapter-ending{padding-left:25px;padding-right:25px;justify-content:flex-start;padding-top:calc(85px + env(safe-area-inset-top))}}
.reader-overlay-menu{flex-direction:column;gap:8px}.reader-menu-links{display:flex;justify-content:center;gap:6px}.reader-theme-picker{display:flex;gap:5px;border:1px solid #cfc7d4;border-radius:24px;padding:3px;margin-bottom:3px}.reader-theme-picker button{min-height:36px;min-width:84px;padding:7px 15px;border-radius:20px;font-size:12px}.reader-theme-picker button[aria-pressed=true]{background:#424b72;color:#fff}.reading[data-reader-theme=black]{background:#151518;color:#e3ded6;color-scheme:dark}.reading[data-reader-theme=black] .reading-sheet{background:#151518;color:#e3ded6}.reading[data-reader-theme=black] .reader-overlay-menu{background:#202024f5;border-color:#3c3a44;box-shadow:0 5px 25px #0003}.reading[data-reader-theme=black] .reader-overlay-menu button{color:#e3ded6}.reading[data-reader-theme=black] .reader-overlay-menu button:hover{background:#34313e}.reading[data-reader-theme=black] .reader-theme-picker{border-color:#514b5d}.reading[data-reader-theme=black] .reader-theme-picker button[aria-pressed=true]{background:#c9bddb;color:#211e29}.reading[data-reader-theme=black] .page-controls>div{color:#aaa1b0}.reading[data-reader-theme=black] .page-arrow{background:#252329;color:#e3ded6;border-color:#49434e}.reading[data-reader-theme=black] .chapter-ending .card{background:#242228;border-color:#45404c}.reading[data-reader-theme=black] .chapter-ending p,.reading[data-reader-theme=black] .eyebrow{color:#b8afb9}.reading[data-reader-theme=black] .chapter-ending .primary{background:#c9bddb;color:#211e29;border-color:#c9bddb}.reading[data-reader-theme=black] .chapter-ending .secondary{border-color:#716879;color:#ded4e9}.reader-menu-open .chapter-ending{padding-top:calc(150px + env(safe-area-inset-top))}
.reading .reading-sheet{touch-action:none}
.reader-font-controls{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;max-width:340px}.reader-font-controls button{min-width:48px;min-height:40px;padding:7px 12px;font-size:13px}.reader-font-controls span{min-width:40px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.reader-font-controls small{display:block;width:100%;text-align:center;font-size:10px;color:#817887;margin:0 0 5px;background:transparent;padding:0}.reading[data-reader-theme=black] .reader-font-controls small{color:#b8afb9}.reader-menu-open .chapter-ending{padding-top:calc(215px + env(safe-area-inset-top))}

.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.record-card{text-align:left;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0;background:#fffaf4;color:var(--ink);width:100%;display:flex;flex-direction:column}.record-card>img{width:100%;height:220px;object-fit:cover;display:block}.record-placeholder{height:220px;display:grid;place-items:center;font:65px Georgia,serif;color:#9786a3;background:linear-gradient(135deg,#e6dced,#f4e5d6)}.record-caption{padding:22px}.record-caption h3{font-size:18px;line-height:1.7;margin:10px 0}.record-caption p{font-size:12px;line-height:1.9;color:#747487;margin:0}.record-open{display:block;margin-top:16px;font-size:12px}.record-dialog{width:min(760px,calc(100% - 28px));padding:32px;max-height:90dvh;border-radius:14px}.record-detail-head{position:sticky;top:-32px;z-index:1;display:flex;justify-content:space-between;align-items:center;min-height:48px;background:var(--paper)}.record-detail-head .close{position:static}.record-dialog h2{font-size:25px;line-height:1.7;margin:15px 0}.record-description{font-size:14px!important}.media-section{margin:28px 0}.media-section h3{font-size:17px}.media-section audio,.media-section video{width:100%;display:block}.media-section video{max-height:65dvh;background:#1b1a20;border-radius:8px}.record-gallery{display:grid;gap:25px;margin-top:26px}.record-gallery figure{margin:0}.record-gallery button{border:0;padding:0;width:100%;background:none;display:block}.record-gallery img{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;margin:auto;border-radius:6px}.record-gallery figcaption{text-align:center;margin-top:10px;font-size:11px;color:var(--muted)}.record-lyrics{margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.record-lyrics summary{cursor:pointer;min-height:32px;font-size:14px}.record-lyrics div{font-family:'Noto Serif KR',serif;font-size:15px;line-height:2.1;white-space:pre-line;padding-top:15px}.record-source{display:inline-flex;min-height:44px;align-items:center;font-size:12px;margin-top:15px}.media-pending{padding:24px 18px;background:#eee8f0;font-size:13px;line-height:1.9;text-align:center;margin:20px 0}.art-dialog{padding:55px 16px 16px;width:min(1100px,calc(100% - 16px));max-height:96dvh;background:#151518;border:0;border-radius:10px;color:#eee;overflow:auto;touch-action:pan-x pan-y pinch-zoom}.art-dialog::backdrop{background:#111e}.art-dialog img{max-width:100%;height:auto;display:block;margin:auto}.art-dialog .close{color:white;background:#222b;border-radius:50%;position:sticky;float:right;top:0;margin-top:-44px}.art-dialog p{text-align:center;color:#bbb;font-size:11px}.media-error{color:#a04c46!important;font-size:12px!important}@media(max-width:900px){.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.record-grid{gap:14px;grid-template-columns:1fr}.record-card{display:grid;grid-template-columns:108px minmax(0,1fr)}.record-card>img,.record-placeholder{width:108px;height:100%;min-height:155px;object-fit:cover}.record-placeholder{font-size:39px}.record-caption{padding:17px 15px}.record-caption h3{font-size:16px;margin:7px 0;line-height:1.6}.record-caption p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-open{margin-top:11px;font-size:11px}.record-dialog{padding:20px;width:calc(100% - 20px);max-height:92dvh}.record-detail-head{top:-20px}.record-dialog h2{font-size:22px}.record-gallery img{max-height:70dvh}.record-dialog .eyebrow{letter-spacing:1px}.record-lyrics div{font-size:16px}.record-dialog .close{min-width:44px}}

.record-scenes{margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.record-scenes h3{font-size:16px;margin:0 0 14px}.scene-link{display:block;width:100%;text-align:left;background:#eee8f080;border:1px solid #ddd4e3;border-radius:8px;padding:16px;color:var(--ink);margin:10px 0;min-height:52px}.scene-link>span{display:block;font-size:14px;font-weight:600}.scene-link q{display:block;font-family:"Noto Serif KR",serif;font-size:13px;line-height:1.9;margin:10px 0;color:#686476}.scene-link small{display:block;background:none;padding:0;margin:10px 0 0;font-size:12px;color:#655778}.scene-link:hover{border-color:#9a86ac}@media(max-width:700px){.scene-link{padding:14px}.scene-link q{font-size:14px}}

.record-unlock-notice{white-space:pre-line;line-height:1.8;padding:14px 16px;border:1px solid #c8bdcf;background:#eee8f080;border-radius:12px;color:var(--ink);font-size:13px}
#toast{white-space:pre-line;line-height:1.7}

.reading[data-reader-mode=scroll] .reading-sheet{overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior-y:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.reading[data-reader-mode=scroll] .reader .prose{column-count:auto;column-width:auto!important;height:auto!important;transform:none!important;overflow:visible}.reading[data-reader-mode=scroll] .chapter-ending{position:static;inset:auto;height:auto;overflow:visible;margin:55px 0 30px;padding:35px 0 20px;display:block;border-top:1px solid var(--line)}.reading[data-reader-mode=scroll] .page-arrow{display:none!important}.reading[data-reader-mode=scroll] .page-controls{pointer-events:none;justify-content:center}.reading[data-reader-mode=scroll] .page-controls>div{background:#fdf8f0db;border-radius:12px;padding:4px 12px}.reading[data-reader-mode=scroll][data-reader-theme=black] .page-controls>div{background:#151518db}.reading[data-reader-mode=scroll] .chapter-ending>.secondary{margin-left:0}.reader-mode-picker{margin-top:0}.reader-overlay-menu{max-height:75dvh;overflow-y:auto}.reader-mode-picker button{min-width:100px}.reader-menu-open .chapter-ending{padding-top:260px}
.reading-text-frame{width:100%;height:100%;overflow:hidden}.reading[data-reader-mode=scroll] .reading-text-frame{height:auto;overflow:visible}
@media(min-width:701px){body.reading{background:#eae5df}.reading .reading-sheet{left:50%;right:auto;top:24px;bottom:64px;transform:translateX(-50%);width:min(840px,calc(100% - 96px));height:calc(100% - 88px);padding:42px 56px 55px;border:1px solid #dfd7cd;border-radius:8px;box-shadow:0 8px 35px #4338490e}.reading .reader .prose{line-height:2.2}.reading .reader-overlay-menu{left:50%;right:auto;transform:translateX(-50%);width:min(840px,calc(100% - 96px));top:24px;border-radius:8px 8px 0 0}.reading .page-controls{left:50%;right:auto;transform:translateX(-50%);width:min(840px,calc(100% - 96px));bottom:8px;justify-content:space-between}.reading .page-arrow{display:block;pointer-events:auto;width:46px;height:46px;transition:background .15s}.reading .page-arrow:hover:not(:disabled){background:#e5ddeb}.reading .swipe-hint{display:block;font-size:10px}.reading[data-reader-mode=scroll] .swipe-hint{display:none}.reading .chapter-ending{padding:55px 56px;justify-content:center}.reading.reader-menu-open .chapter-ending{padding-top:270px}.reading[data-reader-theme=black]{background:#101013}.reading[data-reader-theme=black] .reading-sheet{border-color:#37333e;box-shadow:0 8px 35px #0002}.reading[data-reader-mode=scroll] .chapter-ending{padding:35px 0 20px}.reading .turn-forward,.reading .turn-back{animation:none}}
@media(min-width:701px) and (max-width:1000px){.reading .reading-sheet{width:calc(100% - 48px);padding-left:36px;padding-right:36px}.reading .reader-overlay-menu,.reading .page-controls{width:calc(100% - 48px)}}
@media(hover:hover) and (pointer:fine){.record-card:hover{border-color:#afa0bb;box-shadow:0 6px 22px #4c3f5f12}.chapter:hover{background:#ece6f0}.reader-overlay-menu button:hover{cursor:pointer}}
@media(max-width:700px){.reading .reading-sheet{border:0;border-radius:0}.reading .reader-overlay-menu{padding-left:12px;padding-right:12px}.record-dialog{overscroll-behavior:contain}.reading .page-controls{padding-bottom:env(safe-area-inset-bottom)}}

.reading .page-controls{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s}.reading.reader-menu-open .page-controls{visibility:visible;opacity:1}.reading .page-controls .page-arrow{pointer-events:none}.reading.reader-menu-open .page-controls .page-arrow{pointer-events:auto}.reader-seek{display:none;width:100%;min-height:40px;margin:0;accent-color:#9280ab;cursor:pointer;touch-action:pan-x}.reader-seek-center{flex:1;min-width:0;max-width:600px;padding:0 16px}.reading.reader-menu-open .reader-seek{pointer-events:auto}.reading[data-reader-theme=black] .reader-seek{accent-color:#c9bddb}@media(orientation:landscape){.reader-seek{display:block}.reading .page-controls{bottom:calc(7px + env(safe-area-inset-bottom));background:#faf6eff2;border:1px solid #e4ddd8;border-radius:12px;padding:6px 12px}.reading[data-reader-theme=black] .page-controls{background:#202024f2;border-color:#45404d}.reading .page-controls .swipe-hint{display:none}.reading .page-controls .reader-seek-center{background:transparent}.reading[data-reader-mode=scroll] .page-controls{justify-content:center}}

.reader-current-episode{font-size:15px;line-height:1.6;color:inherit;padding:2px 8px 10px;border-bottom:1px solid currentColor;margin-bottom:6px;opacity:.9}.reader-return{min-height:44px;margin-bottom:16px}.scene-song{position:absolute;z-index:12;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 36px));padding:10px 14px;border-radius:16px;background:#f5f1e9;box-shadow:0 3px 20px #0002;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.scene-song[hidden]{display:none}.scene-song strong{font-size:14px}.scene-song button{padding:8px 12px;min-height:44px}.scene-song audio{width:100%;height:36px}.scene-song audio[hidden]{display:none}.reader-menu-open .scene-song{bottom:100px}body[data-reader-theme="black"] .scene-song{background:#272729;color:#eee}

.reading-sheet.has-scene-song{padding-bottom:max(150px,calc(env(safe-area-inset-bottom) + 130px))}

.scene-song select{min-width:0;flex:1;font:inherit;font-size:13px;padding:8px 4px;background:transparent;color:inherit;border:0;max-width:calc(100% - 90px)}.scene-song video{width:100%;max-height:120px;background:#111}.scene-song video[hidden]{display:none}.scene-song:has(video:not([hidden])){position:fixed;bottom:12px}.reading-sheet.has-scene-song{padding-bottom:max(170px,calc(env(safe-area-inset-bottom) + 150px))}

/* Page seeking is available in portrait book mode as well as landscape. */
@media(orientation:portrait){
 .reading[data-reader-mode="pages"] .reader-seek{display:block}
 .reading[data-reader-mode="pages"] .page-controls{bottom:calc(7px + env(safe-area-inset-bottom));background:#faf6eff2;border:1px solid #e4ddd8;border-radius:12px;padding:6px 12px}
 .reading[data-reader-mode="pages"][data-reader-theme="black"] .page-controls{background:#202024f2;border-color:#45404d}
 .reading[data-reader-mode="pages"] .page-controls .swipe-hint{display:none}
}

#toast{white-space:pre-line;line-height:1.7;max-height:45dvh;overflow-y:auto}

/* Paper-and-lavender navigation, shared with the cover palette. */
.reader-return{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:12px 17px!important;border:1px solid #dcd2df!important;border-radius:30px!important;background:linear-gradient(120deg,#f6efe5,#eee7f1)!important;color:#4c4868!important;font-size:13px;line-height:1.5;box-shadow:0 3px 14px #51445d08;margin:0 0 20px}.reader-return:hover{border-color:#afa0bb!important}.reader-return:focus-visible,header nav button:focus-visible{outline:2px solid #9482aa;outline-offset:3px}
@media(max-width:700px){header nav{left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));border:1px solid #e0d5dd;border-radius:25px;background:linear-gradient(115deg,#faf5edeb,#f0eaf3ef 65%,#f7ece4ed);box-shadow:0 5px 28px #4d405718,inset 0 1px 0 #ffffffb3;backdrop-filter:blur(20px);padding:7px;gap:5px}header nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:59px;padding:6px 8px;border:0!important;border-radius:18px;font-size:11px;letter-spacing:.4px;font-weight:500;color:#82788e;transition:background .2s,color .2s}header nav button.active{background:#e2d8e9a6;color:#494362;box-shadow:inset 0 1px 1px #ffffff80}header nav button:before{content:"";display:block;flex-shrink:0;width:21px;height:21px;margin:0;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain}header nav small{position:absolute;top:4px;right:calc(50% - 28px);font-size:9px;min-width:16px;line-height:16px;padding:0 3px;border-radius:12px;background:#d7c8e0;color:#514565}header nav button.active:after{content:"";width:3px;height:3px;position:absolute;bottom:2px;border-radius:50%;background:#8f79a1}main{padding-bottom:calc(125px + env(safe-area-inset-bottom))}}
@media(max-width:700px){header nav button[data-view="home"]:before{content:"";mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%2010%209-7%209%207M5%209v12h5v-7h4v7h5V9%22%2F%3E%3C%2Fsvg%3E")}}
@media(max-width:700px){header nav button[data-view="chapters"]:before{content:"";mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%204h14v17H5zM8%208h8M8%2012h8M8%2016h5%22%2F%3E%3C%2Fsvg%3E")}}
@media(max-width:700px){header nav button[data-view="collection"]:before{content:"";mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16v14H4zM3%203h18v4H3zM9%2011h6%22%2F%3E%3C%2Fsvg%3E")}}

.inline-scene-song{display:block;white-space:normal;break-inside:avoid;margin:12px 0 20px;line-height:1.4}.inline-scene-song button{display:block;width:100%;min-height:52px;padding:14px 18px;border:1px solid #93869f66;border-radius:12px;background:#ede6ef;color:#423b56;text-align:left;cursor:pointer;font:16px/1.5 inherit}.inline-scene-song button::before{content:attr(data-label)}body[data-reader-theme="black"] .inline-scene-song button{background:#302c36;color:#f4edf7;border-color:#70627c}

.music-panel{width:min(540px,calc(100% - 24px));max-height:85dvh;overflow:auto;border-radius:22px;padding:34px 22px;background:#faf6ef;color:#423c4d}.music-panel h2{font-size:24px}.music-panel p{line-height:1.8}.music-actions{display:flex;flex-wrap:wrap;gap:8px}.music-panel button,.music-entry{min-height:44px;border:1px solid #d9ccdc;border-radius:12px;padding:8px 13px;background:#eee5f0;color:#51415e;cursor:pointer}.music-list{list-style:none;padding:0;margin:12px 0 24px}.music-list li{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e5dce5;padding:10px 0}.music-list .music-song{flex:1;min-width:0;text-align:left;background:transparent;border:0}.music-song strong,.music-song small{display:block;overflow-wrap:anywhere}.music-song small{margin-top:4px;opacity:.65}.music-dock{position:fixed;z-index:30;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 24px));display:flex;gap:8px;padding:8px;background:#f8f0f9;box-shadow:0 3px 22px #34233d25;border:1px solid #d8cbdc;border-radius:16px}.music-dock[hidden]{display:none}.music-dock button{min-height:42px;border:0;background:transparent;color:#51415e;font:inherit;font-size:13px}.music-dock button:first-child{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.reading .music-dock{display:none}.reader-overlay-menu .music-entry{width:100%;flex-shrink:0;margin-top:8px}.entrance-actions>.music-entry{display:block;width:100%;margin-top:12px;background:#faf4efdc}.record-music{display:flex;gap:8px;flex-wrap:wrap}.record-music button{min-height:44px;padding:10px 14px;border-radius:12px;border:1px solid #d9ccdc;background:#eee5f0;color:#51415e}
.entrance-actions{flex-direction:column}.entrance-actions>.music-entry{width:auto;max-width:280px;font-size:14px}.reading .reader-overlay-menu{padding-bottom:14px}

.music-entry,.music-dock{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.music-now{flex:1;min-width:110px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.music-buttons{display:flex;gap:4px;flex-wrap:wrap}.music-buttons button{font:inherit;font-size:12px;min-height:44px;padding:7px 9px;border:1px solid #d8ccdc;border-radius:9px;background:#f6eff7;color:#51415e;cursor:pointer}.music-buttons button:disabled{opacity:.4;cursor:default}.entrance-actions>.music-entry{width:min(460px,100%);max-width:460px;padding:12px 14px}.reader-overlay-menu .music-entry{display:flex;width:100%;padding:10px}.music-dock{width:min(620px,calc(100% - 24px))}.music-dock button:first-child{flex:none;text-align:center}.reading .music-entry .music-now{color:inherit}
.music-dock{top:calc(8px + env(safe-area-inset-top));bottom:auto;left:50%;width:min(480px,calc(100% - 32px));padding:0 8px;gap:12px;flex-wrap:nowrap;border:0;border-radius:0;background:transparent;box-shadow:none;color:#48506a;z-index:45}.music-dock .music-now{min-width:0;font-size:11px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:44px;opacity:.8}.music-dock .music-buttons{flex-shrink:0;gap:0;flex-wrap:nowrap;align-items:center}.music-dock .music-buttons button{display:grid;place-items:center;min-width:36px;min-height:40px;padding:8px;border:0;border-radius:0;background:transparent;color:inherit;font-size:10px;letter-spacing:1.4px}.music-dock svg{width:15px;height:15px}.music-dock .music-buttons button:disabled{opacity:.25}.music-dock button:hover:not(:disabled){opacity:.65}.music-dock button:focus-visible{outline:1px solid currentColor;outline-offset:-4px;border-radius:6px}.at-entrance:not(.story-entered) .install-entry,.at-entrance:not(.story-entered) .admin-entry{display:none}.reading .music-dock{display:none}.reading.reader-menu-open .music-dock{display:flex}.reading .reader-overlay-menu{padding-top:52px}.reading[data-reader-theme=black] .music-dock{color:#ded7e5}body.story-entered:not(.reading):not(.at-entrance) header{padding-top:45px;height:auto;min-height:135px}

.music-dock .music-now,.music-entry .music-now{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow:hidden;text-align:left}
.music-now-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
.music-equalizer{display:inline-flex;align-items:flex-end;gap:2px;width:22px;height:16px;flex:0 0 22px;pointer-events:none}
.music-equalizer[hidden]{display:none}
.music-equalizer i{display:block;flex:0 0 2px;height:100%;border-radius:2px;transform:scaleY(.14);transform-origin:center bottom;background:#b99cb4;will-change:transform}
.music-equalizer i:nth-child(2){background:#a1b6cb}.music-equalizer i:nth-child(3){background:#c8aa9b}.music-equalizer i:nth-child(4){background:#afa1c7}.music-equalizer i:nth-child(5){background:#a8b8a5}.music-equalizer i:nth-child(6){background:#c5a1b0}
@media(prefers-reduced-motion:reduce){.music-equalizer i{will-change:auto}}
.music-equalizer{margin-left:auto;margin-right:6px}@media(max-width:600px){.music-dock{width:calc(100% - 16px);padding:0 4px;gap:8px}.music-dock .music-buttons button{min-width:30px;padding:6px}.music-dock .music-now{gap:6px}.music-equalizer{margin-right:2px}}

.music-spectrum-space{display:flex;align-items:center;min-width:30px;flex:1 0 30px;height:16px;pointer-events:none}.music-spectrum-space:before{content:"";flex:2}.music-spectrum-space:after{content:"";flex:3}.music-spectrum-space .music-equalizer{margin:0}

/* Shared translucent paper, with the cover's lavender and warm ivory tones. */
dialog,dialog.music-panel,dialog.record-dialog,dialog.install-help{background:rgba(250,246,239,.77);color:#44465e;border:1px solid rgba(255,255,255,.6);border-radius:22px;box-shadow:0 18px 65px #34304725,inset 0 1px 0 #ffffff80;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
dialog::backdrop,dialog.art-dialog::backdrop{background:rgba(51,48,65,.19);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
dialog.art-dialog{background:rgba(27,27,36,.74);color:#eee}
.record-detail-head{background:rgba(250,246,239,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:10px}
dialog .close{display:grid;place-items:center;width:34px;min-width:34px!important;height:34px;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%;background:rgba(255,255,255,.25);color:#6b627c;font-size:24px;line-height:1;font-weight:300}
dialog .close:hover{background:rgba(255,255,255,.55)}
.music-panel{width:min(460px,calc(100% - 30px));padding:30px 22px 20px;max-height:82dvh;scrollbar-width:thin;scrollbar-color:#aca0b866 transparent}
.music-panel .eyebrow{font-size:8px;letter-spacing:2.4px;opacity:.65}
.music-panel h2{font-size:21px;line-height:1.5;margin:12px 0 8px;font-weight:500}
.music-panel p{font-size:11px;line-height:1.8;margin:8px 0 14px;color:#777084}
.music-panel h3{font-size:13px;font-weight:500;letter-spacing:.5px;margin:22px 0 4px}
.music-actions{display:flex;align-items:center;gap:8px;padding:3px 0 10px;border-bottom:1px solid #86749120}
.music-panel .music-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 11px;border:1px solid #ffffff70;border-radius:18px;background:rgba(255,255,255,.22);color:#6e607e;font-size:11px;letter-spacing:.2px;box-shadow:0 2px 8px #65537305;transition:background .18s,border-color .18s}
.music-panel .music-actions button:hover{background:rgba(255,255,255,.55);border-color:#ffffffa0}
.music-panel .music-actions [data-library]{margin-left:auto;background:rgba(182,162,193,.16);border-color:#b6a2c329}
.music-panel .music-list{margin:6px 0 15px;padding:0}
.music-panel .music-list li{gap:6px;padding:3px 0;min-height:43px;border-bottom:1px solid #86749115;font-size:11px}
.music-panel .music-list .music-song{padding:7px 3px;min-height:37px;border:0;border-radius:7px;background:transparent;box-shadow:none}
.music-panel .music-song strong{font-size:12px;font-weight:500;line-height:1.5;color:#48475e}
.music-panel .music-song small{font-size:9px;line-height:1.5;margin-top:1px;background:none;padding:0;opacity:.65;color:#81758b}
.music-panel .music-list button[data-add],.music-panel .music-list button[data-remove]{flex-shrink:0;min-height:32px;padding:5px 9px;border:0;border-radius:15px;background:transparent;box-shadow:none;font-size:10px;color:#8b779b;white-space:nowrap}
.music-panel .music-list button[data-add]:hover,.music-panel .music-list button[data-remove]:hover{background:#b6a2c31c}
.music-panel [role=status]{font-size:10px;color:#8a7c94;margin:10px 0 6px}
.music-panel button:focus-visible{outline:1px solid #9d89ac;outline-offset:2px}
@media(max-width:360px){.music-panel{padding:28px 16px 16px}.music-panel .music-actions button{padding:6px 8px;font-size:10px}.music-panel .music-song strong{font-size:11px}}
dialog .dialog-back{display:block;width:max-content;min-height:36px;padding:5px 0;margin:0 0 12px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#80738d;font:inherit;font-size:11px;letter-spacing:.4px;cursor:pointer}dialog .dialog-back:hover{color:#4b405e}.art-dialog .dialog-back{color:#ded4e5}.cover-back{position:absolute;z-index:3;left:22px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:44px;padding:10px 0;border:0;background:transparent;color:#716780;font:inherit;font-size:11px;letter-spacing:.5px;cursor:pointer}.dialog-back:focus-visible,.cover-back:focus-visible{outline:1px solid #9d89ac;outline-offset:3px}

.scene-return-back{display:block;min-height:40px;margin:0 0 8px;padding:5px 8px;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;letter-spacing:.3px;cursor:pointer}

body.reading>.scene-return-back{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(66px + env(safe-area-inset-bottom));z-index:60;display:block;min-height:40px;margin:0;padding:8px 13px;border:1px solid #b7a8bf55;border-radius:20px;background:rgba(250,246,239,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#655574;box-shadow:0 2px 12px #44304d0b;font-size:12px}body.reading[data-reader-theme=black]>.scene-return-back{background:#29252ecc;color:#e0d6e7;border-color:#72637f66}

.app-history-back{position:fixed;z-index:65;top:calc(49px + env(safe-area-inset-top));left:max(24px,calc((100vw - 480px)/2 + 8px));display:grid;place-items:center;width:36px;height:36px;padding:8px;border:0;background:transparent;color:#6c627c;cursor:pointer}.app-history-back svg{width:21px;height:21px}.app-history-back:hover{opacity:.65}.app-history-back:focus-visible{outline:1px solid currentColor;border-radius:50%}.reading[data-reader-theme=black] .app-history-back{color:#d7cedf}

body.at-entrance>.app-history-back{display:none}body.reading>.app-history-back{display:none}body.reading.reader-menu-open>.app-history-back{display:grid}

.music-order{display:flex;align-items:center;gap:0;flex-shrink:0}.music-panel .music-order button{display:grid;place-items:center;width:26px;min-height:34px;padding:4px;border:0;background:transparent;color:#8b779b;font-size:14px;border-radius:50%}.music-panel .music-order button:hover:not(:disabled){background:#b6a2c31c}.music-panel .music-order button:disabled{opacity:.2}.reading .music-dock{display:flex}.reading .reading-sheet{padding-top:max(76px,calc(env(safe-area-inset-top) + 64px))}

.music-dock .music-buttons button{min-width:30px;padding:7px}.music-dock .music-buttons [data-repeat][aria-pressed=true]{color:#9871ad;background:#b7a0c51a;border-radius:50%}.music-dock .music-buttons [data-repeat][aria-pressed=true]:after{content:"";position:absolute;bottom:1px;width:3px;height:3px;border-radius:50%;background:currentColor}.music-dock .music-buttons [data-repeat]{position:relative}.music-dock .music-buttons [data-shuffle]:active{color:#9871ad;background:#b7a0c51a;border-radius:50%}

.chapter-records-open{border:0;background:transparent;padding:8px 0;min-height:44px;color:inherit;font:inherit;cursor:pointer;text-align:left}.chapter-records-open:hover{color:#9276a3}.chapter-records-open:focus-visible{outline:1px solid #9d89ac;outline-offset:3px}.chapter-records-dialog{width:min(480px,calc(100% - 30px));padding:32px 24px;max-height:82dvh;overflow:auto}.chapter-records-dialog h2{font-size:23px;font-weight:500}.chapter-records-dialog p{font-size:12px;line-height:1.8}.chapter-records-list{display:grid;gap:0;margin-top:18px}.chapter-records-list>button{text-align:left;padding:16px 2px;border:0;border-bottom:1px solid #86729222;background:transparent;color:inherit;cursor:pointer}.chapter-records-list span,.chapter-records-list strong,.chapter-records-list small{display:block}.chapter-records-list span{font-size:10px;color:#94819e}.chapter-records-list strong{font-size:14px;line-height:1.6;font-weight:500;margin:6px 0}.chapter-records-list small{font-size:10px;background:none;color:#94819e}.chapter-records-list>button:hover{background:#b6a2c312}

#reading-reset{width:min(440px,calc(100% - 28px));padding:34px 24px;max-height:86dvh;overflow:auto}#reading-reset h2{font-size:22px;font-weight:500}#reading-reset p{font-size:12px;line-height:1.9}.reset-option{display:block;width:100%;min-height:44px;padding:12px 8px;margin-top:8px;border:1px solid #ab95b52b;border-radius:12px;background:#ffffff24;color:#756080;font:inherit;font-size:13px;cursor:pointer}.reset-confirm{border-top:1px solid #ab95b52b;margin-top:20px;padding-top:8px}.reading-reset-entry{font-size:11px!important;opacity:.7}.home-reset-entry{position:absolute;left:22px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:44px;padding:10px 0;border:0;background:transparent;color:#85768b;font:inherit;font-size:10px;cursor:pointer}

#reading-reset .reset-primary{background:#81708e;color:#fff;border-color:transparent;margin-top:24px}#reading-reset .reset-error{color:#8d454e}#reading-reset [hidden]{display:none!important}
.home-reset-entry{z-index:2}

.music-actions [data-panel-repeat][aria-pressed=true]{background:#b7a0c52e;color:#78598e;border-color:#ac94bc70}
.publication-preview-banner{position:relative;z-index:5;padding:10px 16px;margin:0 0 16px;border:1px solid #c9b39d;border-radius:12px;background:#f7e9d4;color:#62472d;font:12px/1.6 system-ui,sans-serif}.publication-preview-banner a{text-decoration:underline;margin-left:12px}

.display-picker{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:10px 0}.display-picker button{min-height:36px!important;padding:7px 12px!important;border:1px solid #a99ab433!important;border-radius:20px!important;background:transparent;color:inherit;font:inherit;font-size:11px!important;cursor:pointer}.display-picker button[aria-pressed=true]{background:#b9a7c32c!important}.display-settings{position:absolute;bottom:calc(58px + env(safe-area-inset-bottom));right:22px;z-index:3;min-height:40px;padding:8px 0;border:0;background:transparent;color:#80718b;font:inherit;font-size:11px;cursor:pointer}#display-dialog{width:min(430px,calc(100% - 30px));padding:36px 24px}#display-dialog p{font-size:12px;line-height:1.9}
body.reading[data-display-mode=pc] .reading-sheet{left:50%;right:auto;top:60px;bottom:64px;transform:translateX(-50%);width:min(1200px,calc(100% - 40px));height:calc(100dvh - 124px);padding:40px 42px 48px;border-radius:7px;border:1px solid #d8cfd2;box-shadow:0 8px 35px #43384912}
body.reading[data-display-mode=pc][data-reader-mode=pages] .reading-sheet:after{content:'';position:absolute;left:50%;top:20px;bottom:20px;width:1px;background:linear-gradient(transparent,#b8a9b755,transparent);box-shadow:0 0 18px 5px #55435908;pointer-events:none}
body.reading[data-display-mode=pc] .reader .prose{padding:0;column-gap:48px;column-count:2;column-fill:auto;line-height:2.15}
body.reading[data-display-mode=pc][data-reader-mode=scroll] .reader .prose{column-count:auto;max-width:740px;margin:auto}
body.reading[data-display-mode=pc] .page-controls,body.reading[data-display-mode=pc] .reader-overlay-menu{left:50%;right:auto;transform:translateX(-50%);width:min(1200px,calc(100% - 40px))}
body.reading[data-display-mode=pc] .reader-overlay-menu{top:60px}body.reading[data-display-mode=pc] .page-arrow{display:block;pointer-events:auto}
body.reading[data-display-mode=mobile] .reading-sheet{left:50%;right:auto;top:0;bottom:64px;transform:translateX(-50%);width:min(620px,100%);height:calc(100dvh - 64px);padding:76px 25px 54px;border:0;border-radius:0}
body.reading[data-display-mode=mobile] .reader .prose{column-count:1;column-gap:32px;padding:0;line-height:2.05}
body.reading[data-display-mode=mobile] .page-controls,body.reading[data-display-mode=mobile] .reader-overlay-menu{left:50%;right:auto;transform:translateX(-50%);width:min(620px,100%)}body.reading[data-display-mode=mobile] .reader-overlay-menu{top:0}
body.reading[data-display-mode=pc][data-reader-theme=black] .reading-sheet{border-color:#37333e}
@media(max-width:800px){body.reading[data-display-mode=pc] .reading-sheet{width:calc(100% - 20px);padding-left:20px;padding-right:20px}body.reading[data-display-mode=pc] .reader .prose{column-gap:30px}}

body.reading .reading-sheet.has-scene-song{padding-bottom:max(170px,calc(env(safe-area-inset-bottom) + 150px))}

.turning-leaf{position:absolute;z-index:4;overflow:hidden;pointer-events:none;background:#fdf8f0;backface-visibility:hidden;will-change:transform,opacity;box-shadow:10px 0 25px #46394c20}.turning-leaf:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#51445816,transparent 14%,transparent 75%,#51445812);pointer-events:none}.reading[data-reader-theme=black] .turning-leaf{background:#151518;box-shadow:10px 0 25px #0005}.turning-leaf .reading-text-frame{max-width:none}.reading .reading-sheet{isolation:isolate}@media(prefers-reduced-motion:reduce){.turning-leaf{display:none}}

.reading .reader .prose{-webkit-text-size-adjust:none;text-size-adjust:none}

/* Reading uses the available height; controls reserve no blank page area. */
body.reading[data-display-mode=mobile] .reading-sheet{bottom:0;height:100dvh;padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}
body.reading[data-display-mode=pc] .reading-sheet{bottom:20px;height:calc(100dvh - 80px);padding-bottom:24px}
body.reading[data-display-mode=mobile] .reading-sheet.has-scene-song{padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}
body.reading[data-display-mode=pc] .reading-sheet.has-scene-song{padding-bottom:24px}
.reading .scene-song{display:none}.reading.reader-menu-open .scene-song:not([hidden]){display:flex;bottom:74px}

.page-crossfade{position:absolute;z-index:4;overflow:hidden;pointer-events:none;background:#fdf8f0;will-change:opacity}.reading[data-reader-theme=black] .page-crossfade{background:#151518}.page-crossfade .reading-text-frame{max-width:none}@media(prefers-reduced-motion:reduce){.page-crossfade{display:none}}

.music-dock button.music-now{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left;min-height:40px;padding:0;border:0;background:transparent;line-height:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:inherit;font-size:11px;letter-spacing:.3px;color:inherit;cursor:pointer}.music-dock button.music-now:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
dialog.now-playing{width:min(460px,calc(100% - 24px));max-height:91dvh;overflow:auto;padding:30px 24px 20px;text-align:center;scrollbar-width:thin}.now-playing>.eyebrow{font-size:8px;letter-spacing:3px;opacity:.65}.now-cover{display:block;width:min(220px,65vw);aspect-ratio:1;object-fit:cover;margin:24px auto 18px;border-radius:12px;box-shadow:0 12px 32px #42314f20}.now-no-cover{display:grid;place-items:center;font-size:64px;background:linear-gradient(145deg,#c9bdd3,#e4d2bc);color:#fff9}.now-playing h2{font-size:21px;font-weight:500;line-height:1.6;margin:12px 0 3px}.now-playing .now-artist{font-size:12px;color:#8a7a95;margin:0 0 14px}.now-controls .music-entry{padding:0;background:none;border:0;min-height:40px;display:flex;justify-content:center}.now-controls .music-now{display:none}.now-controls .music-buttons{justify-content:center;gap:6px}.now-controls .music-buttons button{display:grid;place-items:center;width:36px;height:40px;padding:7px;border:0;background:none;color:#6e5c80;font-size:11px}.now-controls svg{width:19px;height:19px}.now-controls [data-repeat][aria-pressed=true]{background:#baa3cd30;color:#9564b1;border-radius:50%}.now-progress{display:flex;align-items:center;gap:10px;margin:14px 0 20px;font-size:10px;color:#95849e;font-variant-numeric:tabular-nums}.now-progress input{flex:1;min-width:0;height:3px;accent-color:#aa8fb8;cursor:pointer}.now-lyrics{border-top:1px solid #8b749b22;padding-top:15px}.now-lyrics-label{font-size:9px;letter-spacing:1px;color:#97849e}.now-lyric-lines{position:relative;max-height:200px;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;margin-top:12px;padding:10px 0 40px;mask-image:linear-gradient(transparent,#000 10%,#000 85%,transparent)}.now-lyric-lines>button{display:block;width:100%;padding:8px 3px;border:0;background:transparent;color:#a197aa;font:inherit;font-size:13px;line-height:1.8;cursor:pointer;transition:color .2s}.now-lyric-lines>button.active{color:#645078;font-weight:600}.now-lyric-lines p{font-size:13px;line-height:1.9;margin:8px 0;color:#8c8197}.now-lyric-lines .now-no-lyrics{font-size:12px}.now-playing button:focus-visible{outline:1px solid #a68eb6;outline-offset:2px;border-radius:8px}@media(max-height:720px){.now-cover{width:150px;margin:14px auto}.now-playing h2{font-size:18px}.now-lyric-lines{max-height:140px}}

.now-controls .music-buttons [data-list]{width:48px;white-space:nowrap;word-break:normal;overflow-wrap:normal;letter-spacing:1px}

.now-lyrics-heading{display:flex;align-items:center;justify-content:center;gap:9px}.lyrics-expand{display:grid;place-items:center;width:32px;height:32px;padding:7px;border:0;border-radius:50%;background:transparent;color:#92809f;cursor:pointer}.lyrics-expand:hover{background:#b6a2c31a}.lyrics-expand svg{width:17px;height:17px}dialog.full-lyrics{width:min(760px,calc(100% - 24px));height:min(90dvh,1000px);max-height:94dvh;overflow:hidden;padding:32px 28px 20px;text-align:center}.full-lyrics h2{font-size:20px;font-weight:500;line-height:1.7;padding:0 16px}.full-lyrics-note{font-size:11px;color:#96859f;line-height:1.8}.full-lyrics-lines{position:relative;overflow:auto;overscroll-behavior:contain;height:calc(100% - 175px);padding:20px 4px 80px;scrollbar-width:thin;mask-image:linear-gradient(transparent,#000 7%,#000 90%,transparent)}.full-lyrics-lines>button{display:block;width:100%;padding:13px 0;border:0;background:transparent;color:#a49aaa;font:inherit;font-size:clamp(19px,4.5vw,28px);line-height:1.9;cursor:pointer;transition:color .2s}.full-lyrics-lines>button.active{color:#68517e;font-weight:600}.full-lyrics-lines>p{font-size:clamp(18px,4vw,26px);line-height:1.9;color:#82728f;margin:15px 0}
dialog.full-lyrics[open]{display:flex;flex-direction:column}.full-lyrics .full-lyrics-lines{height:auto;flex:1;min-height:0}.full-lyrics>.eyebrow,.full-lyrics>h2,.full-lyrics>.full-lyrics-note,.full-lyrics>.dialog-back{flex-shrink:0}

.now-controls .music-buttons{gap:2px}.now-controls .music-buttons [data-previous],.now-controls .music-buttons [data-next]{width:32px}.music-dock .music-buttons button{min-width:27px;padding:6px}.music-song[aria-pressed=true] strong{color:#9470a8}.music-dock .music-now{min-width:0}

/* Keep the current lyric on the second visible row in a roomy mobile panel. */
@media(max-width:700px){
 dialog.now-playing[open]{display:flex;flex-direction:column;height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;padding:12px 20px 16px}
 .now-playing>.dialog-back{flex-shrink:0;margin:0 0 3px;min-height:36px;text-align:left}
 .now-playing>.now-cover{flex:0 0 auto;width:clamp(100px,22dvh,178px);margin:2px auto 8px}
 .now-playing>h2{flex-shrink:0;font-size:18px;line-height:1.4;margin:4px 0 2px}
 .now-playing>.now-artist{flex-shrink:0;margin:0 0 5px}
 .now-playing>.now-controls,.now-playing>.sleep-open,.now-playing>.now-progress{flex-shrink:0}
 .now-playing>.now-progress{margin:6px 0 9px}
 .now-playing>.now-lyrics{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:6px;overflow:hidden}
 .now-playing .now-lyrics-heading{flex-shrink:0}
 .now-playing .now-lyric-lines{flex:1;min-height:0;max-height:none;margin-top:4px;padding-top:6px;mask-image:linear-gradient(#000 0%,#000 90%,transparent);-webkit-mask-image:linear-gradient(#000 0%,#000 90%,transparent)}
 .now-playing .now-lyric-lines>button{font-size:14px;line-height:1.75;padding:7px 3px}
}
@media(max-width:700px) and (max-height:560px){.now-playing>.now-cover{width:76px}.now-playing>h2{font-size:16px}.now-playing>.now-artist{font-size:10px}.now-playing>.dialog-back{margin:0;min-height:28px}}

.selection-save{position:fixed;z-index:300;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border:1px solid #b8adbd;border-radius:24px;padding:12px 22px;background:rgba(249,245,239,.95);color:#49425d;box-shadow:0 4px 24px #30233726;backdrop-filter:blur(16px);font:inherit}.selection-save[hidden]{display:none}.prose{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.reading-sheet:has(.prose.selected-text){touch-action:auto}.saved-moment{display:flex;align-items:flex-start;border-bottom:1px solid #9b8da42b;padding:22px 0;gap:12px}.saved-moment>button:first-child{flex:1;text-align:left;background:none;border:0;color:inherit;font:inherit;min-width:0}.saved-moment small{opacity:.6;font-size:12px}.saved-moment p{white-space:pre-line;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.saved-moment span{font-size:12px;color:#817087}.saved-moment>button:last-child{border:0;background:none;color:inherit;opacity:.6;font-size:22px;padding:8px}.save-bookmark{margin-top:12px}.sleep-options{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.sleep-options button,.sleep-open{border:1px solid #9c8eab45;border-radius:24px;background:#c7bdcf13;padding:10px 18px;color:inherit;font:inherit}.sleep-open{display:flex;align-items:center;gap:8px;margin:10px auto;font-size:12px;padding:7px 13px}.sleep-open.active{background:#baadc52b}.sleep-timer-dialog{max-width:420px}.sleep-timer-dialog small{opacity:.65}

.saved-moment p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.chapter-illustrations-open{border:1px solid #ada0bb66;border-radius:22px;padding:10px 22px;background:#c5b5cf12;color:inherit;margin:8px auto 16px;font:inherit;display:block}

.prose .prose-insert{font-style:italic;font-synthesis:style;font-weight:500;color:inherit;text-decoration:none}

/* Native selection is disabled; mobile sentence saves use the app's own long press. */
.prose,.saved-moment p,.record-scenes q{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
body.reading[data-display-mode=pc][data-reader-mode=pages] .page-controls{visibility:visible;opacity:1;pointer-events:none;background:transparent;border-color:transparent}
body.reading[data-display-mode=pc][data-reader-mode=pages] .page-controls .page-arrow{pointer-events:auto;opacity:.65}
body.reading[data-display-mode=pc][data-reader-mode=pages] .reader-seek-center{visibility:hidden}
body.reading.reader-menu-open[data-display-mode=pc][data-reader-mode=pages] .reader-seek-center{visibility:visible}

.account-dialog{width:min(480px,calc(100vw - 28px));max-height:88dvh;padding:36px 28px;color:#4d4b65;background:rgba(252,248,243,.93);border:1px solid #d8cede;border-radius:22px;box-shadow:0 18px 70px #40304724;backdrop-filter:blur(20px);overflow:auto}.account-dialog h2{font-family:serif;font-size:25px;font-weight:500;margin:16px 0}.account-dialog p{line-height:1.8}.account-dialog .close{float:right}.account-dialog button{cursor:pointer;border:1px solid #cfc5d5;border-radius:12px;background:#eee6ef;padding:10px 15px;color:inherit;font:inherit}.account-dialog button:disabled{opacity:.45;cursor:default}.account-form{display:grid;gap:15px;margin:24px 0}.account-form label,.stats-search label{display:grid;gap:7px;font-size:13px}.account-form input:not([type=checkbox]),.stats-search input{width:100%;padding:13px 14px;background:#ffffff90;border:1px solid #d2c7d8;border-radius:10px;color:inherit;font:inherit}.account-form label.account-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.7}.account-consent input{margin-top:4px}.account-message{font-size:13px;min-height:1.5em;white-space:pre-line}.account-tabs,.account-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:15px}.account-tabs button{border:0;background:none;font-size:12px;padding:7px}.account-note{font-size:12px;color:#777087;line-height:1.8}.account-email{overflow-wrap:anywhere}.account-entry{position:absolute;z-index:3;right:30px;bottom:68px;border:0;background:transparent;color:inherit;font:12px inherit;cursor:pointer}.account-nav{border:0;background:none;color:inherit;cursor:pointer}.stats-dialog{width:min(900px,calc(100vw - 28px))}.stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.stats-summary div{display:grid;text-align:center;padding:18px 5px;background:#eadfeb70;border-radius:12px}.stats-summary strong{font-size:28px;font-weight:500}.stats-summary span{font-size:11px}.stats-table-wrap{overflow:auto}.stats-dialog table{width:100%;border-collapse:collapse;font-size:13px}.stats-dialog td,.stats-dialog th{padding:11px;text-align:left;border-bottom:1px solid #ded5e0}.stats-users details{padding:15px 0;border-bottom:1px solid #ded5e0;overflow-wrap:anywhere}.stats-users summary{cursor:pointer}.stats-users summary small{display:block;color:#82798c;margin-top:4px}.stats-search{display:flex;gap:10px;align-items:end}.stats-search label{flex:1}.stats-stops{max-height:260px;overflow:auto}@media(max-width:600px){.account-dialog{padding:28px 20px}.account-entry{bottom:68px;right:22px}.stats-summary strong{font-size:23px}}

.recovery-code{display:block;overflow-wrap:anywhere;padding:20px;background:#e8dfec88;border:1px solid #cfc0d9;border-radius:12px;font:19px/1.8 monospace;letter-spacing:1px;margin:24px 0;user-select:text;-webkit-user-select:text}
/* A quiet paper card over the existing cover artwork. */
.account-entry-dialog{width:min(440px,calc(100vw - 36px));padding:42px 38px 30px;background:linear-gradient(145deg,#fffaf1e8,#f0e8f1e8 70%,#f8eae3e8);border:1px solid #fff9f4cf;border-radius:24px;box-shadow:0 24px 80px #40314922,inset 0 1px 0 #fff8;backdrop-filter:blur(22px);color:#45445f}.account-entry-dialog::backdrop{background:#39334835;backdrop-filter:blur(3px)}.account-dialog .dialog-back{display:none}.account-entry-dialog>.close{position:absolute;top:15px;right:17px;border:0;background:none;font-size:23px;font-weight:300;line-height:1;padding:5px;color:#8b7f96}.account-entry-dialog>.eyebrow{display:block;font-size:9px;letter-spacing:2.8px;color:#95839f;margin:3px 0 22px}.account-entry-dialog>h2{font-family:'Noto Serif KR',serif;letter-spacing:-.6px;font-size:26px;line-height:1.6;margin:0 0 10px}.account-entry-dialog>p:not(.account-footnote){font-size:12px;line-height:1.9;color:#888092;margin:0;word-break:keep-all}.account-entry-dialog .account-form{gap:18px;margin:30px 0 0}.account-entry-dialog .account-form label{font-size:11px;color:#787185;letter-spacing:.4px;gap:9px}.account-entry-dialog .account-form input:not([type=checkbox]){box-sizing:border-box;background:#fffaf780;border-color:#d8ccdc99;border-radius:12px;min-height:49px;padding:13px 15px;font-size:14px;color:#4b4663;letter-spacing:0}.account-entry-dialog input::placeholder{color:#b0a5b7;font-size:12px}.account-entry-dialog input:focus{outline:2px solid #b4a2c35c;outline-offset:2px;border-color:#ac96b9}.account-submit-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}.account-dialog .account-submit-row button{display:flex;align-items:center;justify-content:center;min-height:49px;padding:12px 10px;border-radius:13px;font-size:13px;letter-spacing:1px}.account-dialog .account-submit-row .primary{background:linear-gradient(115deg,#77708f,#9582a4);border:1px solid #8d7d9c;color:#fffaf7;box-shadow:0 5px 15px #75638716}.account-dialog .account-submit-row .account-secondary{background:#fffaf53b;border:1px solid #c8b9d0;color:#7a6689}.account-submit-row button:focus-visible{outline:2px solid #9b83ad;outline-offset:3px}.account-message:empty{display:none}.account-help-links{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:20px;color:#b9acbf}.account-dialog .account-help-links button{border:0;background:none;padding:6px 0;font-size:10px;letter-spacing:.2px;color:#95879e}.account-entry-dialog .account-footnote{margin:17px 0 0;padding-top:18px;border-top:1px solid #d7cbdb6b;text-align:center;font-family:'Noto Serif KR',serif;font-size:10px;letter-spacing:.1px;color:#a194aa}.account-entry-dialog .account-consent{line-height:1.8;letter-spacing:0}.account-entry-dialog .account-consent span{font-size:10px;line-height:1.9}.account-entry-dialog .account-message{font-size:12px;line-height:1.8;margin:0;color:#86657d}@media(max-width:600px){.account-entry-dialog{padding:35px 25px 25px;border-radius:22px;max-height:calc(100dvh - 40px)}.account-entry-dialog>h2{font-size:23px}.account-entry-dialog>.eyebrow{margin-bottom:17px}.account-entry-dialog .account-form{margin-top:24px;gap:16px}}

.account-entry-dialog .account-form input:not([type=checkbox]){margin:0}.account-dialog .account-submit-row button{margin:0;width:100%;box-sizing:border-box;align-self:stretch}

.analytics-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.analytics-tabs button,.analytics-toolbar button{border:1px solid #baaac255;border-radius:18px;padding:8px 14px;background:#fffaf04d;color:#62536e;font-size:12px}.analytics-tabs button[aria-pressed=true]{background:#ddd3e980;border-color:#9984ad}.analytics-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.analytics-toolbar label{font-size:12px}.analytics-toolbar select{color:inherit;background:transparent;border:1px solid #baaac277;padding:8px;border-radius:12px}.analytics-users{display:grid;gap:10px}.analytics-users>button{text-align:left;display:grid;gap:6px;padding:16px;background:#fffaf044;border:1px solid #baaac244;border-radius:14px;color:inherit}.analytics-users span,.analytics-users small{font-size:12px;color:#7c7185}.analytics-consent{position:fixed;z-index:150;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));padding:22px;background:#faf6eff2;backdrop-filter:blur(18px);border:1px solid #c7b9d3;border-radius:18px;box-shadow:0 12px 50px #382b4a22;color:#514560;font-family:system-ui,sans-serif}.analytics-consent strong{font-size:15px}.analytics-consent p{font-size:12px;line-height:1.8;margin:12px 0}.analytics-consent a{color:inherit;text-underline-offset:3px}.analytics-consent>div{display:flex;gap:12px;justify-content:flex-end}.analytics-consent button{padding:10px 14px;font-size:12px;background:transparent;border:1px solid #a595b755;border-radius:16px;color:inherit}.analytics-settings{font-size:11px!important;background:transparent!important;border:0!important;color:#756780!important;min-height:32px!important;padding:8px 0!important}.stats-dialog .stats-summary{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.stats-dialog table td{max-width:300px;overflow-wrap:anywhere}.reading .analytics-consent{z-index:150}@media(max-width:600px){.analytics-toolbar{align-items:flex-start}.analytics-tabs{gap:6px}.analytics-tabs button{padding:8px 10px}.stats-dialog .stats-table-wrap{max-width:100%;overflow-x:auto}.analytics-consent{padding:18px}}
.growth-intro{margin:22px 0;padding:20px;background:#e7deed66;border-radius:18px}.growth-intro h3{margin:0 0 8px}.growth-intro p{margin:0;color:#655078}.growth-intro small,.growth-cards small,.growth-device small{display:block;font-size:11px;line-height:1.8;color:#81738a}.growth-cards>div{padding:18px 12px!important}.growth-cards span{display:block;margin:6px 0;font-size:12px}.growth-chart{display:grid;gap:10px;margin:18px 0 30px;max-height:360px;overflow:auto}.growth-day{display:grid;grid-template-columns:50px 1fr 38px;gap:10px;align-items:center;font-size:12px}.growth-day>div{height:12px;background:#bbaaca22;border-radius:6px;overflow:hidden}.growth-day i{display:block;height:100%;background:#9c87ad;border-radius:6px}.growth-day strong{text-align:right}.growth-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.growth-steps>div{background:#e6deeb66;border-radius:12px;padding:14px 4px;text-align:center}.growth-steps span,.growth-steps small{display:block;font-size:10px;color:#7f718a}.growth-steps strong{display:block;font-size:23px;margin:8px 0;color:#574362}.growth-sources p{display:flex;justify-content:space-between;gap:12px;padding:10px 0;margin:0;border-bottom:1px solid #baaac333;font-size:13px}.growth-promo{margin:24px 0;font-size:12px}.growth-promo summary{cursor:pointer;min-height:44px}.growth-promo label{display:block}.growth-promo input{width:100%;box-sizing:border-box;font-size:12px;padding:12px;margin:6px 0 14px;background:#fffaf088;border:1px solid #baaac355;border-radius:8px;color:#62536d}.growth-device{padding:20px;border:1px solid #baaac355;border-radius:16px;margin:24px 0}.growth-device h3{margin-top:0}.growth-device button{font-size:12px;margin-bottom:10px}.growth-device p{font-size:13px}
.stats-dialog .stats-summary.visitor-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.visitor-cards p{font-size:12px;margin:8px 0 0;color:#7e7189}.visitor-cards strong small{font-size:11px;font-weight:400}.analytics-toolbar input[type=date]{max-width:175px;min-height:42px;margin:0;padding:8px;font:inherit}.reader-journey{display:grid;gap:12px;margin:20px 0 32px;max-height:420px;overflow:auto;padding-right:6px}.reader-journey>div{display:grid;grid-template-columns:64px 1fr 48px;gap:12px;align-items:center;font-size:13px}.reader-journey>div>div{height:9px;background:#e9e2ed;border-radius:8px;overflow:hidden}.reader-journey i{display:block;height:100%;background:#a390b5;border-radius:8px}.reader-journey strong{text-align:right}.stats-definitions,.basic-counts-details{padding:18px 0;border-top:1px solid #d9d0df;margin-top:22px}.stats-definitions p{font-size:12px;line-height:1.8;color:#817789}@media(max-width:600px){.stats-dialog .stats-summary.visitor-cards{grid-template-columns:1fr}.visitor-cards>div{display:grid;grid-template-columns:1fr 1fr;text-align:left}.visitor-cards p{grid-column:1/-1}.visitor-cards strong{font-size:24px;text-align:right}.analytics-toolbar{align-items:end}}

.growth-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.growth-kpis section{padding:22px;border:1px solid #dcd6df;border-radius:18px;background:linear-gradient(135deg,#f2edf2aa,#faf3e9aa)}.growth-kpis strong{display:block;font-size:32px;margin:12px 0;color:#535b78}.growth-kpis p{margin:8px 0}.growth-kpis small{display:block;line-height:1.7;color:#72758a}@media(max-width:600px){.growth-kpis{grid-template-columns:1fr}.growth-kpis section{padding:18px}}

.account-reader-detail{padding:22px;margin-top:22px;border:1px solid #dcd6df;border-radius:16px;background:#f5eff366}.analytics-users button[aria-pressed=true]{border-color:#8c829c;background:#eee7ef}.stats-definitions input{width:100%;box-sizing:border-box}

.chapter-ad{display:block;box-sizing:border-box;width:100%;max-width:728px;margin:32px auto 40px;padding:16px 0;border-top:1px solid #b9afbf55;border-bottom:1px solid #b9afbf55;flex-shrink:0;user-select:none}
.chapter-ad[hidden]{display:none!important}
.chapter-ad>small{display:block;text-align:center;font:11px/1.5 sans-serif;color:#817789;margin:0 0 12px;letter-spacing:.08em}
.chapter-ad>.adsbygoogle{width:100%;min-height:250px}
.chapter-ending>.primary{position:relative;z-index:1}
.record-detail-page{width:min(760px,100%);margin:80px auto 80px;padding:0 24px;box-sizing:border-box;color:var(--ink)}
.record-detail-page .record-detail-head{position:static;background:none;gap:24px}
.record-detail-page .close{position:static;font-family:inherit;font-size:13px;font-weight:400;line-height:1.5;border:0;background:none;color:var(--muted);min-height:44px;cursor:pointer;white-space:nowrap}
.record-page-open .app-history-back{display:none}
.record-detail-page h2{font-size:26px;line-height:1.6;margin:24px 0 16px}
.record-detail-page .chapter-ad{margin-top:48px}
@media(max-width:700px){.record-detail-page{padding:0 6px}.record-detail-page h2{font-size:22px}.record-detail-page .chapter-ad{margin-bottom:80px}}

.reading .reader-overlay-menu{gap:5px;padding:12px 18px;max-height:180px}
.reading .reader-overlay-menu .reader-current-episode{font-size:11px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 3px}
.reading .reader-overlay-menu .reader-chapter-nav,.reading .reader-overlay-menu .reader-menu-links{display:flex;justify-content:center;gap:8px;width:100%;margin:0}
.reading .reader-overlay-menu button{min-width:0;min-height:34px;padding:5px 13px;font-size:12px}
.reading .reader-overlay-menu .reader-chapter-nav button{flex:1;max-width:160px}
.reading .reader-overlay-menu .reader-menu-links button{flex:1;max-width:160px}
.reading.reader-menu-open .chapter-ending{padding-top:185px}
#reading-settings{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid #cfc5d777;border-radius:18px;background:#faf6efed;backdrop-filter:blur(20px);color:#424b72;box-shadow:0 18px 65px #35304426}
#reading-settings::backdrop{background:#29263745;backdrop-filter:blur(3px)}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-heading h2{font-size:23px;margin:0}.settings-heading>button{border:0;background:none;color:inherit;font-size:24px;min-width:44px;min-height:44px}
.settings-body>section{padding:18px 0;border-bottom:1px solid #b8aec52f}.settings-body>section:last-child{border-bottom:0}.settings-body h3{font-size:12px;font-weight:500;color:#81788e;margin:0 0 12px}
.settings-body button{font-family:inherit;font-size:13px;min-height:40px;padding:8px 13px;border:1px solid #cfc5d7;border-radius:12px;background:#ffffff55;color:#424b72;cursor:pointer}
.settings-body button[aria-pressed=true]{background:#e4ddec;color:#373954;border-color:#a998ba}.settings-body button:disabled{opacity:.4}
.settings-body .reader-theme-picker,.settings-body .display-picker,.settings-body .reader-font-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0;background:none}
.settings-body .reader-theme-picker button,.settings-body .display-picker button{flex:1}.settings-body .reader-font-controls small{display:block;width:100%;color:#81788e;font-size:10px;margin-top:5px}
.settings-body .reader-font-controls span{min-width:45px;text-align:center;font-size:13px}
.entrance-menu [data-open-settings]{opacity:.82}
body.reading[data-display-mode=mobile] .reader-overlay-menu,body.reading[data-display-mode=pc] .reader-overlay-menu{top:calc(60px + env(safe-area-inset-top))}
.app-history-back,.dialog-back{display:none!important}
@media(max-width:700px){.reading .reader-overlay-menu{padding:10px 18px;gap:4px}.reading .reader-overlay-menu button{min-height:32px;padding:4px 10px}#reading-settings{padding:20px}.entrance-menu button{min-height:48px}}

body.webtoon-reading{background:#f7f5f1}body.webtoon-reading #app{max-width:none;padding:0;margin:0}body.webtoon-reading>header{display:none}.webtoon-view{padding-top:calc(66px + env(safe-area-inset-top));color:#514b61}.webtoon-tools{position:sticky;top:calc(52px + env(safe-area-inset-top));z-index:10;display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 8px;background:#faf7f0e8;backdrop-filter:blur(14px)}.webtoon-tools button,.webtoon-entry,.webtoon-intro button,.webtoon-ending button{font:inherit;border:1px solid #d9d0df;border-radius:20px;padding:9px 15px;background:#ffffff60;color:#535570;cursor:pointer}.webtoon-tools button{font-size:12px;padding:7px 10px}.webtoon-tools span{font-size:12px;min-width:35px}.webtoon-intro{text-align:center;padding:40px 20px}.webtoon-intro>span{font-size:11px;letter-spacing:3px}.webtoon-intro h1{font-size:34px;font-weight:400;margin:18px 0}.webtoon-intro p{line-height:1.8;font-size:14px}.webtoon-settings{max-width:720px;margin:auto;padding:20px}.webtoon-settings label{display:flex;gap:15px;align-items:center}.webtoon-settings input{flex:1;min-width:60px}.webtoon-strips{max-width:720px;margin:auto;background:#fff;overflow:hidden}.webtoon-strips .scene{position:relative;margin:0 0 var(--webtoon-gap,0px);background:#fff;isolation:isolate}.webtoon-strips img.strip{display:block;width:100%;height:auto}.webtoon-strips .source-segment{position:relative;overflow:hidden;width:100%}.webtoon-strips .source-segment img{position:absolute;top:0;left:0;display:block;width:100%;height:auto}.webtoon-strips .dark{background:#000;margin-bottom:0}.webtoon-strips .dark+.dark{margin-top:-1px}.webtoon-strips .dark .source-segment:before,.webtoon-strips .dark .source-segment:after{content:'';position:absolute;left:0;right:0;z-index:1;pointer-events:none;height:8%}.webtoon-strips .dark .source-segment:before{top:0;background:linear-gradient(#000,transparent)}.webtoon-strips .dark .source-segment:after{bottom:0;background:linear-gradient(transparent,#000)}.webtoon-strips .scene-caption{margin:0;padding:28px 24px 44px;text-align:center;white-space:pre-line;font:400 clamp(18px,4.3vw,29px)/1.9 serif;color:#eee;background:#000}.webtoon-strips .tonal-bridge{height:clamp(60px,14vw,110px)}.webtoon-strips .into-dark{background:linear-gradient(#fff,#000)}.webtoon-strips .out-of-dark{background:linear-gradient(#000,#fff)}.webtoon-strips .soft-scene:before,.webtoon-strips .soft-scene:after,.webtoon-strips .light-entry:before,.webtoon-strips .memory-entry:before,.webtoon-strips .room-entry:before{content:'';position:absolute;left:0;right:0;top:0;height:clamp(25px,6vw,44px);z-index:1;background:linear-gradient(#fff,transparent);pointer-events:none}.webtoon-strips .soft-scene:after{top:auto;bottom:0;background:linear-gradient(transparent,#fff)}.webtoon-strips .memory-entry{padding-top:60px}.webtoon-strips .memory-entry:before{top:60px}.webtoon-strips .room-entry{padding-top:24px}.webtoon-strips .room-entry:before{top:24px}.webtoon-strips .audience-beat{padding:24px 0 40px}.webtoon-strips .audience-beat:before{top:24px}.webtoon-strips .audience-beat:after{bottom:40px}.webtoon-ending{max-width:720px;margin:auto;text-align:center;padding:85px 20px;background:#fff}.webtoon-ending h2{font-size:36px;font-weight:400}.webtoon-ending>small{letter-spacing:3px}.webtoon-ending>div{margin:50px 0 20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.webtoon-entry{margin-bottom:24px}.webtoon-focus .webtoon-intro,.webtoon-focus .webtoon-settings{display:none}.webtoon-retry{position:absolute;left:20%;right:20%;top:20px;z-index:2;padding:12px;background:#fff;border:1px solid #ddd;border-radius:12px}@media(max-width:500px){.webtoon-tools{gap:4px}.webtoon-tools button{padding:7px 8px;font-size:11px}.webtoon-intro{padding:30px 20px}.webtoon-view{padding-top:calc(60px + env(safe-area-inset-top))}}
body.choosing-reading #app{max-width:none;padding:0;margin:0}body.choosing-reading>header{display:none}.reading-choice{position:relative;height:100dvh;min-height:580px;overflow:hidden;background:#e8ded5}.reading-choice>button{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;cursor:pointer;color:#414966;text-align:left;transition:filter .35s;background-size:cover}.reading-choice>button:hover{filter:brightness(1.05)}.choice-novel{background:linear-gradient(90deg,#fbf4e6e8,#faf0e394),url('cover-reference.png') center/cover;clip-path:polygon(0 0,68% 0,32% 100%,0 100%)}.choice-webtoon{background:linear-gradient(90deg,#29324730,#18202d70),url('https://ordinary-story-webtoon-trial.lusian.chatgpt.site/assets/large-5.webp') center 42%/cover;clip-path:polygon(68.2% 0,100% 0,100% 100%,32.2% 100%)}.reading-choice span{position:absolute;display:grid;gap:18px;top:38%;left:10%;max-width:36%;font-family:serif}.reading-choice strong{font-size:clamp(25px,3.7vw,52px);font-weight:400;letter-spacing:.06em}.reading-choice small{font-size:13px;line-height:1.8}.reading-choice em{font-size:12px;font-style:normal;opacity:.8}.choice-webtoon span{left:auto;right:8%;top:57%;color:white;text-shadow:0 2px 16px #142037}.reading-choice button:focus-visible{filter:brightness(1.2);outline:4px solid #b48c62;outline-offset:-6px}.webtoon-view{padding-top:calc(58px + env(safe-area-inset-top))}.webtoon-tap-menu[hidden]{display:none}.webtoon-tap-menu{position:fixed;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:30;display:flex;gap:8px;padding:10px;background:#faf7f0dc;backdrop-filter:blur(18px);border:1px solid #ffffff9c;border-radius:30px;box-shadow:0 6px 24px #29233814;white-space:nowrap}.webtoon-tap-menu button{border:0;border-radius:20px;background:transparent;color:#515470;padding:12px 22px;font:inherit;font-size:14px;cursor:pointer}.webtoon-tap-menu button:hover{background:#e2dbe377}@media(max-width:600px){.choice-novel{clip-path:polygon(0 0,100% 0,100% 36%,0 64%)}.choice-webtoon{clip-path:polygon(0 64.2%,100% 36.2%,100% 100%,0 100%);background-position:center 48%}.reading-choice span{top:25%;left:9%;max-width:78%}.choice-webtoon span{top:70%;right:8%;left:auto}.reading-choice strong{font-size:34px}.reading-choice small{font-size:12px}.webtoon-view{padding-top:calc(58px + env(safe-area-inset-top))}}
/* Keep both faces inside the visible diagonal half instead of cropping a full-screen image. */
.reading-choice .choice-webtoon{background:#9b8c83;isolation:isolate}.choice-webtoon:before{content:'';position:absolute;inset:9% 0 0 44%;z-index:-1;background:linear-gradient(180deg,#1b203508 25%,#1b20350d 48%,#18202db8 100%),url('https://ordinary-story-webtoon-trial.lusian.chatgpt.site/assets/large-5.webp') center 24%/cover no-repeat}.choice-webtoon span{top:auto;bottom:10%}.reading-choice small{background:none;border-radius:0;padding:0}@media(max-width:600px){.choice-webtoon:before{inset:48% 0 0;background-position:center 15%}.choice-webtoon span{top:auto;bottom:7%;gap:12px}}

/* Optimized episode 1: keep original dialogue and chat layout. */
.webtoon-strips .episode-scene{padding:0 0 clamp(6px,1.8vw,12px)}.webtoon-strips .scene[id]{scroll-margin-top:64px}.webtoon-strips .episode-scene.scene-turn{padding-top:clamp(20px,5vw,36px)}.webtoon-strips .episode-scene img{display:block;width:100%;height:auto}
.webtoon-strips .chat-scene{padding:32px 8% 40px;background:#fff;display:flex;flex-direction:column;gap:19px;font-size:clamp(18px,4.4vw,27px);line-height:1.65}.webtoon-strips .chat-name{font-size:14px;letter-spacing:.1em;color:#8c7e70;padding-bottom:8px}.webtoon-strips .chat-bubble{max-width:86%;padding:13px 19px;border-radius:20px;background:#f1eee8;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.webtoon-strips .chat-bubble.out{background:#e4eee8;align-self:flex-end}.webtoon-strips .chat-bubble.file{background:#f4f1eb;border:1px solid #ded3c5;font-size:.8em;color:#786a59}.webtoon-strips .episode-intro p{max-width:24em;margin:auto}.webtoon-strips .end-actions .next-chapter{background:#51483d;color:#fff}
.webtoon-strips .story-dialogue{display:flex;flex-direction:column;gap:14px;padding:18px 7% 30px;background:white}.webtoon-strips .story-line{max-width:83%;margin:0;padding:12px 20px;border:1px solid #746b61;border-radius:48%;color:#302d2a;background:#fff;white-space:pre-wrap;font:400 clamp(17px,3.8vw,25px)/1.6 serif;align-self:flex-start}.webtoon-strips .story-line.harin{align-self:flex-end}.webtoon-strips .story-line.narration{align-self:center;max-width:100%;border:0;border-radius:0;padding:12px 2px;text-align:center;color:#675e52;font-size:clamp(16px,3.6vw,23px)}.webtoon-strips .speaker{display:none}.webtoon-strips .speaker:empty{display:none}.webtoon-strips .episode-scene:has(.story-dialogue){padding-bottom:8px}.webtoon-strips .source-segment img{max-width:none} 
.webtoon-strips .chat-bubble{margin:0}.webtoon-strips .source-segment img{max-width:none}

.live-scene-stage[hidden]{display:none!important}.live-scene-stage{position:fixed;inset:52px 0 0;z-index:31;outline:none;background:#efe0cc;touch-action:none;overflow:hidden}.live-scene-page{height:100%;position:relative;isolation:isolate;background:#efe0cc;overflow:hidden}.live-scene-page img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;z-index:-2;mask-image:linear-gradient(90deg,transparent 25%,black 58%)}.live-scene-page:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff5e6,#fff5e6c0 29%,transparent 54%);z-index:-1}.live-scene-copy{width:38%;height:100%;padding:30px 40px;color:#423746}.scene-prose{font:var(--scene-font,18px)/1.8 Georgia,'Batang',serif;white-space:pre-wrap;overflow-wrap:anywhere}.scene-lyric{font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-style:italic;font-weight:500;display:inline-block;max-width:100%;border-left:2px solid currentColor;padding-left:12px;letter-spacing:.025em}.live-scene-measure{position:fixed;left:-20000px;top:0;visibility:hidden}.live-scene-active .reader-overlay-menu{z-index:50!important}.live-scene-active .music-bar{z-index:55!important}.scene-source-break{display:none}.scene-effects-enabled .scene-source-break{display:block;break-before:column;height:0}.live-scene-active .reading-sheet{visibility:hidden}.live-scene-active .page-controls{visibility:hidden}@media(max-width:700px){.live-scene-stage{inset:52px 0 0}.live-scene-page img{object-fit:cover;object-position:center;mask-image:none}.live-scene-page:after{background:linear-gradient(transparent 54%,#170e0755 61%,#170e07aa 78%,#170e07bf)}.live-scene-copy{width:100%;padding:calc((100dvh - 52px)*.62) 25px 30px;color:#fff8e9;text-shadow:0 1px 5px #120b04}.scene-prose{line-height:1.7}}

.scene-spread-spacer{break-before:column;height:1px}
.scene-intro-hint{position:fixed;z-index:65;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);box-sizing:border-box;width:min(440px,calc(100% - 32px));padding:16px 18px;border:1px solid rgba(147,132,158,.25);border-radius:18px;background:rgba(250,245,237,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#45445f;box-shadow:0 6px 28px rgba(46,37,56,.13);font:14px/1.65 sans-serif;text-align:left;user-select:none}
.scene-intro-hint strong{font-size:14px;font-weight:600}.scene-intro-hint p{margin:5px 0 0;color:#666078;font-size:13px}.scene-intro-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.scene-intro-actions button{min-height:40px;padding:7px 14px;border:1px solid rgba(147,132,158,.3);border-radius:20px;background:rgba(226,216,234,.45);color:inherit;font:inherit;cursor:pointer}.scene-intro-actions button:last-child{background:transparent}.scene-intro-actions button:focus-visible{outline:2px solid #77718e;outline-offset:3px}

body.scene-effects-enabled[data-reader-mode=scroll] .reading-sheet{padding-top:64px!important}
@media(max-width:700px){.live-scene-stage[data-episode="13"] .live-scene-page img{object-position:right top}}
@media(max-width:700px){.live-scene-stage[data-episode="26"] .live-scene-copy,.live-scene-measure .live-scene-page:has(img[src^="/scene26/"]) .live-scene-copy{padding-top:calc((100dvh - 52px)*.73)}.live-scene-stage[data-episode="26"] .live-scene-page:after{background:linear-gradient(transparent 65%,#170e0766 72%,#170e07c9 84%,#170e07d9)}.live-scene-stage[data-episode="26"] .live-scene-page img{object-position:center top}}
@media(min-width:701px){.live-scene-stage[data-episode="26"] .live-scene-page img{left:auto;right:0;width:auto;mask-image:linear-gradient(90deg,transparent,black 18%)}}

.live-scene-stage[data-scene-kind=art]{background:#f5f0e7}
.art-jacket-page{display:grid;grid-template-columns:40% 60%;background:#f5f0e7;isolation:auto}
.art-jacket-page:after{display:none}
.art-jacket-visual{grid-column:2;grid-row:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow:hidden}
.art-jacket-canvas{position:relative;width:100%;max-width:calc(100dvh - 92px);aspect-ratio:1;flex:none;overflow:hidden;background:#f5f1e7;box-shadow:0 8px 38px #3b353209}
.art-jacket-canvas:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(12deg,#bbac9409 0px,#bbac9409 1px,transparent 1px,transparent 4px)}
.art-jacket-first-lines{position:absolute;inset:0;width:100%;height:100%;transition:opacity 1.5s}
.art-jacket-dot{fill:#23465c}
.art-jacket-thread{fill:none;stroke:#455662;stroke-width:1.25;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3.5s cubic-bezier(.3,.05,.45,1)}
.art-jacket-page img.art-jacket-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:auto;mask-image:none;pointer-events:none;opacity:0;transition:opacity 3.4s ease}
.art-jacket-page img.art-jacket-forms{clip-path:inset(0 0 100% 0);transition:clip-path 3.6s cubic-bezier(.2,.55,.3,1),opacity .8s}
.art-jacket-page img.art-jacket-wash{clip-path:circle(0% at 82% 55%);transition:clip-path 4.2s cubic-bezier(.2,.5,.3,1),opacity 1s}
.art-jacket-canvas:is([data-art-step=thread],[data-art-step=forms],[data-art-step=wash],[data-art-step=complete]) .art-jacket-thread{stroke-dashoffset:0}
.art-jacket-canvas:is([data-art-step=forms],[data-art-step=wash],[data-art-step=complete]) .art-jacket-first-lines{opacity:0}
.art-jacket-canvas:is([data-art-step=forms],[data-art-step=wash],[data-art-step=complete]) img.art-jacket-forms{opacity:1;clip-path:inset(0 0 0 0)}
.art-jacket-canvas:is([data-art-step=wash],[data-art-step=complete]) img.art-jacket-wash{opacity:1;clip-path:circle(130% at 82% 55%)}
.art-jacket-canvas[data-art-step=complete] img.art-jacket-complete{opacity:1}
.art-jacket-page .live-scene-copy{grid-column:1;grid-row:1;min-height:0;width:100%;height:100%;box-sizing:border-box;padding:34px 38px;color:#423b49;text-shadow:none;display:flex;align-items:center}
.art-jacket-page .scene-prose{width:100%;max-height:100%}
body[data-reader-theme=black] .live-scene-stage[data-scene-kind=art],body[data-reader-theme=black] .art-jacket-page{background:#17191e}
body[data-reader-theme=black] .art-jacket-page .live-scene-copy{color:#e3ded7}
body[data-reader-theme=black] .art-jacket-visual{filter:brightness(.88)}
@media(max-width:700px) and (orientation:portrait){.art-jacket-page{grid-template-columns:100%;grid-template-rows:49% 51%}.art-jacket-visual{grid-column:1;grid-row:1;padding:12px 18px 0}.art-jacket-canvas{width:min(100%,calc((100dvh - 52px)*.49 - 12px));max-width:none}.art-jacket-page .live-scene-copy{grid-column:1;grid-row:2;padding:20px 27px max(30px,env(safe-area-inset-bottom));align-items:center}.art-jacket-page .scene-prose{line-height:1.85}}
@media(orientation:landscape){.art-jacket-visual{padding:12px 18px}.art-jacket-canvas{max-width:calc(100dvh - 76px)}.art-jacket-page .live-scene-copy{padding:18px 30px}.art-jacket-page .scene-prose{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.art-jacket-page *{transition:none!important;animation:none!important}}

.melody-jacket-canvas{background:#fbf7ed}
.melody-marks,.melody-sign{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#495969;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.melody-stroke{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.3,.1,.4,1) var(--mark-delay,0s)}
.melody-first{transition-duration:2.7s}
.melody-mouth{--mark-delay:2.2s;stroke:#365773;stroke-width:1.7;transition-duration:1.5s}
.melody-jacket-canvas:not([data-melody-step="-1"]) .melody-first{stroke-dashoffset:0}
.melody-jacket-canvas:is([data-melody-step="1"],[data-melody-step="2"],[data-melody-step="3"],[data-melody-step="4"],[data-melody-step="5"]) .melody-lines .melody-stroke{stroke-dashoffset:0}
.melody-jacket-canvas:is([data-melody-step="2"],[data-melody-step="3"],[data-melody-step="4"],[data-melody-step="5"]) :is(.melody-dots,.melody-stars) .melody-stroke,.melody-jacket-canvas:is([data-melody-step="2"],[data-melody-step="3"],[data-melody-step="4"],[data-melody-step="5"]) .melody-mouth{stroke-dashoffset:0}
.art-jacket-page img.melody-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mask-image:none;z-index:auto;opacity:0;pointer-events:none;transition:opacity 3s ease}
.art-jacket-page img.melody-pigment{clip-path:circle(0% at 52% 61%);transition:opacity 1s,clip-path 4s ease}
.melody-jacket-canvas:is([data-melody-step="3"],[data-melody-step="4"],[data-melody-step="5"]) img.melody-pigment{opacity:1;clip-path:circle(130% at 52% 61%)}
.melody-jacket-canvas:is([data-melody-step="4"],[data-melody-step="5"]) img.melody-unsigned{opacity:1}
.melody-sign{stroke:#365773;stroke-width:1.5;opacity:0;transition:opacity .25s}
.melody-sign path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .65s cubic-bezier(.22,.5,.35,1)}
.melody-sign path:nth-child(2){transition-delay:.75s}
.melody-sign path:nth-child(3){transition-delay:1.5s;transition-duration:.5s}
.melody-sign circle{fill:#365773;stroke:none;opacity:0;transition:opacity .15s 2.15s}
.melody-jacket-canvas[data-melody-step="5"] .melody-sign{opacity:1;animation:melody-sign-handoff 4.3s linear forwards}
.melody-jacket-canvas[data-melody-step="5"] .melody-sign path{stroke-dashoffset:0}
.melody-jacket-canvas[data-melody-step="5"] .melody-sign circle{opacity:1}
.melody-jacket-canvas[data-melody-step="5"] img.melody-finished{opacity:1;transition:opacity 1.5s ease 2.55s}
@keyframes melody-sign-handoff{0%,82%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.melody-jacket-page *{transition:none!important;animation:none!important}.melody-jacket-canvas[data-melody-step="5"] .melody-sign{opacity:0}}
