:root{--bg:#12130f;--panel:#1c1d18;--paper:#f2ead9;--paper2:#e9dfca;--ink:#25251f;--line:#47483e;--gold:#c4a66a;--gold2:#e0c587;--muted:#a7aa9b;--green:#84a98c;--danger:#b36a64;--shadow:0 20px 55px rgba(0,0,0,.34)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#292b21 0,#151610 42%,#0e0f0c 100%);color:#f2f0e7;font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif}button,input,select{font:inherit}.app-shell{max-width:1760px;margin:0 auto;padding:16px 18px 28px}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:11px 16px;border:1px solid #34362c;background:rgba(21,22,17,.9);border-radius:18px;box-shadow:var(--shadow);position:sticky;top:8px;z-index:10;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;min-width:290px}.brand img{width:44px;height:44px;border-radius:12px;object-fit:cover}.brand small,.audio-head small{display:block;font-size:10px;letter-spacing:.22em;color:var(--gold2);font-weight:800}.brand h1{font-size:16px;margin:3px 0 0;letter-spacing:.03em}.brand h1 em{font-style:normal;color:var(--muted);font-size:11px}.book-title{min-width:0;text-align:center}.book-title b{display:block;font-family:Georgia,"Noto Serif KR",serif;font-size:20px}.book-title span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.top-actions{display:flex;gap:8px}.mode,button,.file-btn{border:1px solid #484a3d;background:#25271f;color:#ecebdc;border-radius:11px;padding:9px 12px;cursor:pointer;transition:.18s;text-decoration:none;white-space:nowrap}.mode:hover,button:hover,.file-btn:hover{border-color:#777b63;transform:translateY(-1px)}.mode.active,.primary,.file-btn.primary{background:linear-gradient(180deg,#c8ae76,#a98f5b);border-color:#e6cc92;color:#181711;font-weight:800}.reader-toolbar{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #37392f;background:#191a16;border-radius:14px}.toolbar-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.page-nav input{width:70px;background:#11120e;border:1px solid #4b4d41;color:#fff;border-radius:8px;padding:7px;text-align:center}.page-nav label{color:var(--muted);font-size:12px}.active-page-box{margin-left:auto;padding:6px 10px;background:#10110d;border-radius:10px;border:1px solid #33362b}.active-page-box span{font-size:10px;color:var(--muted);letter-spacing:.12em}.active-page-box b{color:var(--gold2);font-size:13px}.active-page-box em{font-size:11px;color:#b9bcad;font-style:normal}.reader-wrap{position:relative;margin-top:12px}.status-chip{position:absolute;left:14px;top:12px;z-index:3;background:rgba(15,16,12,.82);border:1px solid #444637;padding:7px 10px;border-radius:99px;font-size:11px;color:#d6d6c8;backdrop-filter:blur(10px)}.pdf-stage{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:0;align-items:stretch;min-height:58vh;background:#10110d;border:1px solid #393b31;border-radius:18px;padding:18px;box-shadow:var(--shadow);overflow:hidden}.pdf-stage.single{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}.pdf-stage.single .book-spine,.pdf-stage.single #rightPage{display:none}.pdf-stage.cover-single{grid-template-columns:minmax(0,1fr);max-width:900px;margin:0 auto}.pdf-stage.cover-single .book-spine{display:none}.book-spine{background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(255,255,255,.08),rgba(0,0,0,.4));box-shadow:inset 0 0 8px rgba(0,0,0,.7)}.page-panel{position:relative;min-height:56vh;background:var(--paper);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.07),inset 0 0 35px rgba(70,50,15,.08);cursor:pointer}.page-panel.active{outline:3px solid rgba(224,197,135,.7);outline-offset:-3px}.page-panel canvas{display:block;width:100%;height:100%;object-fit:contain;background:var(--paper)}.page-panel iframe{display:none;width:100%;height:100%;min-height:56vh;border:0;background:#fff}.page-panel.native iframe{display:block}.page-panel.native canvas{display:none}.page-badge{position:absolute;right:9px;top:9px;z-index:2;background:rgba(20,20,17,.72);color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;pointer-events:auto;cursor:pointer}.reader-hint{text-align:center;color:#8f9284;font-size:11px;margin:7px 0 0}.audio-workspace{margin-top:16px;border:1px solid #393b31;background:#171814;border-radius:18px;padding:16px;box-shadow:var(--shadow)}.audio-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.audio-head h2{margin:4px 0 4px;font-size:19px}.audio-head p{margin:0;color:#a9ac9e;font-size:12px;max-width:720px;line-height:1.55}.audio-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.danger-ghost{border-color:#754d4a;color:#e2aaa4;background:#241a18}.mapping-summary{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.mapping-summary span{background:#10110d;border:1px solid #34362c;border-radius:9px;padding:7px 10px;color:#aeb1a3;font-size:11px}.mapping-summary b{color:#e9d39f}.track-list{margin-top:10px;border-top:1px solid #34362d;max-height:340px;overflow:auto}.empty{padding:28px 14px;text-align:center;color:#8c9082}.track-row{display:grid;grid-template-columns:32px 36px minmax(220px,1fr) 112px 86px 104px;align-items:center;gap:8px;padding:8px 6px;border-bottom:1px solid #2b2d25;background:transparent}.track-row.dragging{opacity:.45}.track-row.current{background:#22251d}.drag-handle{cursor:grab;color:#838778;text-align:center;font-size:17px}.track-no{color:#9d9f91;font-size:12px;text-align:center}.track-copy{min-width:0}.track-copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.track-copy small{display:block;color:#7f8376;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-map{display:flex;align-items:center;gap:5px}.page-map input{width:64px;border:1px solid #4a4d3f;background:#0f100d;color:#fff;border-radius:8px;padding:7px;text-align:center}.map-state{font-size:10px;color:#8e9285}.map-state.good{color:#9cc6a5}.row-actions{display:flex;gap:5px;justify-content:flex-end}.row-actions button{padding:6px 8px;border-radius:8px}.playerbar{margin-top:12px;display:grid;grid-template-columns:42px 50px 42px minmax(180px,1fr) auto minmax(150px,1.5fr) auto 76px 145px;gap:9px;align-items:center;padding:10px 12px;border-radius:14px;background:#0f100d;border:1px solid #383a30;position:sticky;bottom:8px}.playerbar button{padding:8px}.playerbar .play{font-size:18px;background:#c9ae73;color:#18170f;border-color:#e1c98e}.now-playing{min-width:0}.now-playing small{display:block;color:#8e9284;font-size:9px;letter-spacing:.15em}.now-playing b,.now-playing span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing b{font-size:12px}.now-playing span{font-size:10px;color:#9b9e91}.playerbar #seek{width:100%}.playerbar select{background:#1d1f19;border:1px solid #414438;color:#fff;padding:7px;border-radius:8px}.volume{display:flex;gap:5px;align-items:center}.volume input{width:105px}footer{margin-top:12px;color:#838678;font-size:10px;line-height:1.5;text-align:center}footer span{display:block}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#efe4ca;color:#232117;border-radius:12px;padding:10px 14px;font-weight:700;font-size:12px;box-shadow:0 16px 40px rgba(0,0,0,.4);transition:.22s;z-index:99}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1050px){.topbar{grid-template-columns:1fr auto}.book-title{grid-column:1/-1;grid-row:2;text-align:left}.brand{min-width:0}.reader-toolbar{justify-content:flex-start}.active-page-box{margin-left:0}.pdf-stage{min-height:50vh;padding:10px}.page-panel{min-height:48vh}.page-panel iframe{min-height:48vh}.audio-head{display:block}.audio-actions{justify-content:flex-start;margin-top:10px}.track-row{grid-template-columns:28px 30px minmax(150px,1fr) 105px 74px}.track-row .row-actions{grid-column:3/-1;justify-content:flex-start}.playerbar{grid-template-columns:36px 44px 36px minmax(140px,1fr) auto;}.playerbar #seek{grid-column:1/-1}.playerbar #duration,.playerbar #speed,.playerbar .volume{display:none}}@media(max-width:720px){.app-shell{padding:8px}.topbar{top:4px;border-radius:12px}.brand h1{font-size:13px}.brand img{width:38px;height:38px}.top-actions{grid-column:1/-1}.top-actions .mode{flex:1}.pdf-stage{display:block}.pdf-stage .book-spine{display:none}.pdf-stage #rightPage{display:none}.pdf-stage.spread #rightPage{display:none}.reader-hint{display:none}.audio-workspace{padding:10px}.track-row{grid-template-columns:28px 28px minmax(130px,1fr) 92px}.track-row .map-state{display:none}.row-actions{grid-column:3/-1}.playerbar{bottom:3px}.audio-actions .file-btn,.audio-actions button{flex:1;text-align:center}.reader-toolbar button,.reader-toolbar .file-btn{padding:8px 9px}}

/* ================================================================
   v18.8.2 FAST UPLOAD — paper-book depth, page curl and turn animation
   ================================================================ */
.fx-toggle.active{background:linear-gradient(180deg,#526a56,#394b3d);border-color:#78947e;color:#f4f6ed;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.reader-wrap{isolation:isolate}
.pdf-stage{position:relative;perspective:2400px;transform-style:preserve-3d;background:radial-gradient(ellipse at 50% 46%,#29271f 0,#181914 54%,#0b0c09 100%);padding:24px 28px 28px;border-color:#454437;box-shadow:0 28px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.035)}
.book-underlay{position:absolute;left:3.2%;right:3.2%;top:20px;bottom:19px;border-radius:10px;background:linear-gradient(90deg,#5d4d35 0,#8e7650 1.1%,#30281d 2.3%,#30281d 97.7%,#8e7650 98.9%,#5d4d35 100%);box-shadow:0 16px 32px rgba(0,0,0,.52);pointer-events:none}
.page-panel{z-index:2;background:linear-gradient(90deg,#eee5d1,#faf5e9 8%,#fffdf7 52%,#f1e8d5);box-shadow:0 10px 20px rgba(0,0,0,.24),inset 0 0 42px rgba(88,61,22,.055);transition:filter .18s ease,box-shadow .18s ease,transform .18s ease;border-top:1px solid rgba(118,90,48,.18);border-bottom:1px solid rgba(118,90,48,.18)}
#leftPage{border-radius:7px 1px 1px 7px;transform-origin:100% 50%;box-shadow:-11px 10px 24px rgba(0,0,0,.22),inset -28px 0 34px rgba(55,38,16,.055),inset 0 0 42px rgba(88,61,22,.04)}
#rightPage{border-radius:1px 7px 7px 1px;transform-origin:0 50%;box-shadow:11px 10px 24px rgba(0,0,0,.22),inset 28px 0 34px rgba(55,38,16,.055),inset 0 0 42px rgba(88,61,22,.04)}
#leftPage::before,#rightPage::before{content:"";position:absolute;z-index:4;top:0;bottom:0;width:44px;pointer-events:none}
#leftPage::before{right:0;background:linear-gradient(90deg,transparent,rgba(44,31,14,.045),rgba(27,20,11,.14))}
#rightPage::before{left:0;background:linear-gradient(90deg,rgba(27,20,11,.15),rgba(44,31,14,.045),transparent)}
#leftPage::after,#rightPage::after{content:"";position:absolute;z-index:5;bottom:0;width:82px;height:82px;pointer-events:none;opacity:.72;transition:opacity .2s ease,transform .2s ease}
#leftPage::after{left:0;background:linear-gradient(45deg,rgba(89,65,31,.13) 0,rgba(255,255,255,.09) 48%,transparent 50%);clip-path:polygon(0 100%,0 18%,82% 100%)}
#rightPage::after{right:0;background:linear-gradient(-45deg,rgba(89,65,31,.13) 0,rgba(255,255,255,.09) 48%,transparent 50%);clip-path:polygon(100% 100%,100% 18%,18% 100%)}
#leftPage:hover::after,#rightPage:hover::after{opacity:1;transform:scale(1.06)}
.page-panel.active{outline:2px solid rgba(224,197,135,.72);outline-offset:-2px;filter:brightness(1.012);box-shadow:0 0 0 1px rgba(229,204,147,.18),0 12px 26px rgba(0,0,0,.25),inset 0 0 35px rgba(86,61,24,.05)}
.book-spine{z-index:4;position:relative;width:16px;margin:0 -2px;background:linear-gradient(90deg,rgba(10,9,7,.72),rgba(75,58,33,.28) 28%,rgba(255,245,211,.16) 50%,rgba(65,50,29,.28) 72%,rgba(10,9,7,.72));box-shadow:-8px 0 16px rgba(0,0,0,.28),8px 0 16px rgba(0,0,0,.28),inset 0 0 7px rgba(0,0,0,.52)}
.book-spine::after{content:"";position:absolute;left:50%;top:2%;bottom:2%;width:1px;background:rgba(255,241,204,.2);box-shadow:0 0 7px rgba(255,235,185,.11)}
.page-badge{top:auto;bottom:10px;right:12px;background:rgba(52,43,27,.68);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(5px)}
#leftPage .page-badge{right:auto;left:12px}
.page-turn-sheet{display:none;position:absolute;z-index:8;top:24px;bottom:28px;width:calc((100% - 72px)/2);pointer-events:none;transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(90deg,#fffdf8 0,#f7efde 69%,#d9c9a8 100%);box-shadow:0 14px 34px rgba(0,0,0,.34)}
.page-turn-sheet::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 48%,rgba(93,65,28,.08) 61%,rgba(255,255,255,.34) 74%,transparent 100%)}
.page-turn-sheet::after{content:"";position:absolute;inset:0;backface-visibility:hidden;transform:rotateY(180deg);background:linear-gradient(270deg,#fffdf8 0,#f5ecd9 68%,#d2c09d 100%)}
.page-turn-highlight{position:absolute;z-index:3;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);opacity:.7}
.page-turn-sheet.turn-next{display:block;right:28px;transform-origin:0 50%;animation:bookTurnNext .56s cubic-bezier(.32,.06,.2,1) both}
.page-turn-sheet.turn-next .page-turn-highlight{right:4%;animation:highlightNext .56s ease both}
.page-turn-sheet.turn-prev{display:block;left:28px;transform-origin:100% 50%;animation:bookTurnPrev .56s cubic-bezier(.32,.06,.2,1) both}
.page-turn-sheet.turn-prev .page-turn-highlight{left:4%;animation:highlightPrev .56s ease both}
.pdf-stage.turning-next #rightPage{animation:pageSettleRight .56s ease both}
.pdf-stage.turning-prev #leftPage{animation:pageSettleLeft .56s ease both}
@keyframes bookTurnNext{0%{transform:rotateY(0deg);filter:brightness(1)}45%{filter:brightness(.92)}100%{transform:rotateY(-180deg);filter:brightness(.98)}}
@keyframes bookTurnPrev{0%{transform:rotateY(0deg);filter:brightness(1)}45%{filter:brightness(.92)}100%{transform:rotateY(180deg);filter:brightness(.98)}}
@keyframes highlightNext{0%{transform:translateX(0);opacity:.2}48%{opacity:.82}100%{transform:translateX(-180%);opacity:0}}
@keyframes highlightPrev{0%{transform:translateX(0);opacity:.2}48%{opacity:.82}100%{transform:translateX(180%);opacity:0}}
@keyframes pageSettleRight{0%,30%{transform:rotateY(-1.2deg)}100%{transform:rotateY(0)}}
@keyframes pageSettleLeft{0%,30%{transform:rotateY(1.2deg)}100%{transform:rotateY(0)}}
.book-edge-nav{position:absolute;z-index:9;top:50%;width:46px;height:76px;margin-top:-38px;padding:0;border-radius:24px;background:rgba(18,18,14,.62);border:1px solid rgba(224,197,135,.28);color:#f0ddb0;font-family:Georgia,serif;font-size:34px;line-height:1;backdrop-filter:blur(8px);opacity:.64;box-shadow:0 8px 26px rgba(0,0,0,.26)}
.book-edge-nav:hover{opacity:1;background:rgba(31,29,21,.9);border-color:rgba(224,197,135,.64);transform:translateY(-1px) scale(1.04)}
.book-edge-nav.prev{left:8px}.book-edge-nav.next{right:8px}
.pdf-stage.single .book-underlay,.pdf-stage.cover-single .book-underlay{left:5%;right:5%}
.pdf-stage.single .page-turn-sheet,.pdf-stage.cover-single .page-turn-sheet{width:calc(100% - 56px)}
.pdf-stage.single .page-turn-sheet.turn-next,.pdf-stage.cover-single .page-turn-sheet.turn-next{right:28px;transform-origin:0 50%}
.pdf-stage.single .page-turn-sheet.turn-prev,.pdf-stage.cover-single .page-turn-sheet.turn-prev{left:28px;transform-origin:100% 50%}
@media(max-width:1050px){.pdf-stage{padding:16px 18px 20px}.page-turn-sheet{top:16px;bottom:20px;width:calc((100% - 52px)/2)}.page-turn-sheet.turn-next{right:18px}.page-turn-sheet.turn-prev{left:18px}.book-underlay{top:14px;bottom:13px}.book-edge-nav{width:40px;height:64px;margin-top:-32px;font-size:30px}.book-edge-nav.prev{left:1px}.book-edge-nav.next{right:1px}}
@media(max-width:720px){.pdf-stage{padding:12px;background:radial-gradient(ellipse at 50% 50%,#28261f 0,#11120e 78%)}.book-underlay{left:8px;right:8px;top:9px;bottom:9px}.page-panel{border-radius:6px!important;box-shadow:0 10px 24px rgba(0,0,0,.34)}.page-turn-sheet{top:12px;bottom:12px;left:12px!important;right:12px!important;width:auto!important;opacity:.92}.page-turn-sheet.turn-next{animation:mobileTurnNext .38s ease both}.page-turn-sheet.turn-prev{animation:mobileTurnPrev .38s ease both}.book-edge-nav{width:38px;height:58px;margin-top:-29px;font-size:27px;opacity:.78}.book-edge-nav.prev{left:5px}.book-edge-nav.next{right:5px}#leftPage::before,#rightPage::before{display:none}}
@keyframes mobileTurnNext{0%{transform:translateX(0) rotateY(0);opacity:.8}100%{transform:translateX(-18%) rotateY(-28deg);opacity:0}}
@keyframes mobileTurnPrev{0%{transform:translateX(0) rotateY(0);opacity:.8}100%{transform:translateX(18%) rotateY(28deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.page-turn-sheet{display:none!important}.pdf-stage.turning-next #rightPage,.pdf-stage.turning-prev #leftPage{animation:none!important}}

/* ================================================================
   v18.8.2 FAST UPLOAD — progress, throughput, ETA, storage guidance
   ================================================================ */
.fast-link{background:linear-gradient(180deg,#34493d,#26362f);border-color:#607968;color:#eff6ef;font-weight:800}
.fast-link:hover{border-color:#89a995;filter:brightness(1.07)}
.upload-panel{margin:10px 0 12px;padding:12px 14px;border:1px solid #3e4035;border-radius:12px;background:linear-gradient(180deg,rgba(29,31,25,.96),rgba(18,20,16,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .2s ease,background .2s ease}
.upload-panel.idle{border-color:#35372e}.upload-panel.preparing{border-color:#766c47}.upload-panel.running{border-color:#7d7148;background:linear-gradient(180deg,rgba(38,36,25,.98),rgba(20,21,17,.98))}.upload-panel.done{border-color:#4f7158}.upload-panel.error{border-color:#83524b}
.upload-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.upload-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.upload-copy small{font-size:9px;letter-spacing:.12em;color:#c7ac70;font-weight:800}.upload-copy b{font-size:13px;color:#f0ead9}.upload-copy span{font-size:10px;color:#a6a99d;line-height:1.45;word-break:keep-all}
.upload-percent-box{min-width:110px;text-align:right;display:flex;flex-direction:column}.upload-percent-box b{font-size:22px;line-height:1;color:#e4ca88;font-variant-numeric:tabular-nums}.upload-percent-box span{margin-top:4px;font-size:10px;color:#b8baa9;white-space:nowrap}
.upload-progress{position:relative;height:12px;margin:10px 0 9px;overflow:hidden;border-radius:999px;background:#0d0f0c;border:1px solid #34362e;box-shadow:inset 0 1px 5px rgba(0,0,0,.7)}.upload-progress i{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#8f7a49,#d7bd7d,#9b8957);box-shadow:0 0 14px rgba(218,190,118,.16);transition:width .18s ease}.upload-panel.done .upload-progress i{background:linear-gradient(90deg,#49694f,#7ba184,#94b29a)}.upload-panel.error .upload-progress i{background:linear-gradient(90deg,#7b443d,#a46057)}
.upload-stats{display:grid;grid-template-columns:repeat(6,minmax(80px,1fr));gap:6px}.upload-stats span{min-width:0;padding:6px 8px;border-radius:8px;background:#11130f;border:1px solid #2f3129;display:flex;flex-direction:column}.upload-stats em{font-style:normal;font-size:9px;color:#81877b}.upload-stats b{margin-top:2px;font-size:11px;color:#e8e3d4;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-chart-wrap{height:58px;margin-top:7px;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#11130f,#0d0f0c);border:1px solid #2e3028}.upload-chart-wrap canvas{display:block;width:100%;height:100%}
.upload-advice{margin-top:7px;padding:7px 9px;border-radius:8px;background:#151811;border-left:3px solid #7e714a;color:#aeb1a3;font-size:10px;line-height:1.5}.upload-advice strong{color:#ead59e}.upload-advice.good{border-left-color:#5d8566}.upload-advice.warn{border-left-color:#aa814f;color:#d4c4a2}.upload-advice.bad{border-left-color:#a45c53;color:#e0b6ae}
.track-copy small .source-pill{display:inline-block;margin-right:5px;padding:1px 5px;border-radius:7px;background:#26362f;border:1px solid #496454;color:#cce0d0;font-size:8px;font-weight:800}
@media(max-width:1050px){.upload-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.upload-panel{padding:10px}.upload-headline{display:block}.upload-percent-box{margin-top:7px;min-width:0;text-align:left;flex-direction:row;align-items:baseline;gap:10px}.upload-percent-box b{font-size:19px}.upload-stats{grid-template-columns:repeat(2,1fr)}.upload-chart-wrap{height:48px}.fast-link{flex:1}}


/* ================================================================
   v18.8.7 DRIVE BOOKSHELF + COVER + RESUME — original MP3 streaming
   ================================================================ */
.drive-primary{background:linear-gradient(180deg,#3e5f8c,#2c466c);border-color:#6787b3;color:#f4f7ff;font-weight:800}.drive-primary:hover{border-color:#8fb1df;filter:brightness(1.06)}
.drive-import{background:#202a37;border-color:#40536d;color:#dce9fb}
.drive-panel{margin:12px 0;border:1px solid #43536a;border-radius:13px;background:linear-gradient(180deg,rgba(25,33,44,.98),rgba(17,21,27,.98));padding:13px 14px;transition:.2s}.drive-panel.collapsed{display:none}
.drive-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.drive-panel-head>div{display:flex;flex-direction:column;gap:2px}.drive-panel-head small{color:#91b5e7;font-size:9px;letter-spacing:.14em;font-weight:800}.drive-panel-head b{font-size:15px}.drive-panel-head span{color:#aeb9c7;font-size:10px;line-height:1.45}
.drive-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:12px;margin-top:10px}.drive-field{display:flex;flex-direction:column;gap:5px}.drive-field>span{font-size:10px;color:#aeb9c7}.drive-field textarea,.drive-field input{width:100%;border:1px solid #4b5d74;border-radius:9px;background:#0f151d;color:#edf4ff;padding:9px 10px;outline:none}.drive-field textarea{resize:vertical;min-height:112px;font-family:Consolas,"Malgun Gothic",sans-serif;font-size:11px;line-height:1.45}.drive-field textarea:focus,.drive-field input:focus{border-color:#7da6d8;box-shadow:0 0 0 2px rgba(93,137,190,.16)}
.drive-side{display:flex;flex-direction:column;gap:9px}.drive-actions-row{display:flex;gap:7px;flex-wrap:wrap}.drive-actions-row button{flex:1}.drive-status{padding:8px 9px;border:1px solid #34465c;border-radius:9px;background:#101821;color:#bdd0e7;font-size:10px;line-height:1.45}.drive-note{margin:9px 0 0;padding:7px 9px;border-left:3px solid #607fa8;background:#121922;color:#aeb9c6;border-radius:7px;font-size:10px;line-height:1.5}.drive-note b{color:#d7e7fb}
.track-copy small .source-pill.drive{background:#21364f;border-color:#46678e;color:#cfe3ff}.track-copy small .source-pill.local{background:#26362f;border-color:#496454;color:#cce0d0}
.drive-health{display:inline-block;margin-left:4px;color:#9bc7ff}
@media(max-width:900px){.drive-grid{grid-template-columns:1fr}}@media(max-width:720px){.drive-panel{padding:10px}.drive-panel-head{display:block}.drive-panel-head>button{margin-top:7px}.drive-actions-row button{min-width:140px}}

.drive-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:11px}.drive-picker-card{border:1px solid #3b526d;border-radius:12px;background:#111924;padding:12px;display:flex;flex-direction:column;gap:7px}.drive-picker-card>small{color:#91b5e7;font-size:9px;letter-spacing:.14em;font-weight:800}.drive-picker-card>b{font-size:14px}.drive-picker-card>p{margin:0;color:#9eafc2;font-size:10px;line-height:1.45}.drive-inline-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.drive-inline-row .drive-page-field{flex:0 1 150px}.drive-inline-row>button{min-height:38px;flex:1}.drive-check{display:flex;align-items:center;gap:7px;color:#c5d3e3;font-size:11px;min-height:38px;flex:1}.drive-check input{width:16px;height:16px}.drive-mini-status{min-height:30px;padding:7px 8px;border-radius:8px;background:#0d141d;border:1px solid #2d4056;color:#9fb5cc;font-size:10px;line-height:1.45}.drive-mini-status.busy{color:#e6cf93;border-color:#675a37}.drive-mini-status.good{color:#a8d5b0;border-color:#3f6548}.drive-mini-status.error{color:#e6aaa5;border-color:#754b48}.drive-advanced{margin-top:10px;border-top:1px solid #34465a;padding-top:9px}.drive-advanced summary{cursor:pointer;color:#b7c9dc;font-size:11px;font-weight:700;padding:4px 0}.drive-advanced[open] summary{color:#e1ebf7}.drive-advanced .drive-grid{margin-top:8px}
@media(max-width:1180px){.drive-picker-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.drive-picker-grid{grid-template-columns:1fr}}


/* v18.8.7 Drive bookshelf + folder import monitor */
.bookshelf-panel{margin:9px auto 10px;max-width:calc(100% - 24px);border:1px solid #3d4438;border-radius:13px;background:linear-gradient(180deg,rgba(23,27,21,.98),rgba(15,18,14,.98));padding:11px 12px}
.bookshelf-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bookshelf-head>div{display:flex;flex-direction:column;min-width:0}.bookshelf-head small{font-size:9px;letter-spacing:.14em;color:#d0b475;font-weight:800}.bookshelf-head b{font-size:14px;color:#eee8d9}.bookshelf-head span{font-size:10px;color:#9da79a;line-height:1.4}.bookshelf-head button{white-space:nowrap}
.bookshelf-list{display:flex;gap:9px;overflow-x:auto;padding:10px 1px 2px;scrollbar-width:thin}.book-card{position:relative;flex:0 0 176px;min-height:116px;padding:10px 10px 9px;border:1px solid #44493d;border-radius:10px;background:linear-gradient(145deg,#292b24,#171a15);text-align:left;color:#e9e4d7;cursor:pointer;overflow:hidden}.book-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#8f7848,#534628)}.book-card:hover{border-color:#806e49}.book-card.current{border-color:#c5aa69;box-shadow:inset 0 0 0 1px rgba(197,170,105,.22)}.book-card .book-mark{font-size:9px;color:#cbb374;font-weight:800;letter-spacing:.08em}.book-card h3{margin:6px 0 5px;font-size:13px;line-height:1.3;max-height:34px;overflow:hidden}.book-card p{margin:0;color:#9fa69a;font-size:9px;line-height:1.45}.book-card .book-stats{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.book-card .book-stats span{border:1px solid #3b4035;border-radius:999px;padding:2px 5px;font-size:8px;color:#b8bbaa;background:#11140f}.book-card .book-delete{position:absolute;right:5px;top:5px;width:25px;height:25px;padding:0;border-radius:50%;opacity:.72}.book-card.add-book{display:flex;align-items:center;justify-content:center;flex-direction:column;border-style:dashed;color:#b9c1b3;background:#141713}.book-card.add-book b{font-size:21px}.book-card.add-book span{font-size:9px;margin-top:5px}
.drive-folder-monitor{margin-top:4px;padding:9px;border:1px solid #34465b;border-radius:9px;background:#0b121a}.drive-folder-monitor.idle{opacity:.8}.drive-folder-monitor.running{border-color:#6d6a43}.drive-folder-monitor.done{border-color:#426a4c}.drive-folder-monitor.error{border-color:#754b48}.drive-monitor-top{display:flex;justify-content:space-between;gap:10px;font-size:10px}.drive-monitor-top b{color:#dbe7f5}.drive-monitor-top span{color:#e4cd8d;font-variant-numeric:tabular-nums}.drive-monitor-bar{height:9px;margin:7px 0;border-radius:999px;overflow:hidden;border:1px solid #2c3b4d;background:#091018}.drive-monitor-bar i{display:block;width:0%;height:100%;background:linear-gradient(90deg,#49698d,#8bb0dc);transition:width .18s ease}.drive-folder-monitor.done .drive-monitor-bar i{background:linear-gradient(90deg,#4e7457,#88ac8f)}.drive-folder-monitor.error .drive-monitor-bar i{background:#965c55}.drive-monitor-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.drive-monitor-stats span{display:flex;flex-direction:column;padding:5px 6px;background:#0e1620;border:1px solid #26374a;border-radius:6px}.drive-monitor-stats em{font-style:normal;font-size:8px;color:#8193a7}.drive-monitor-stats b{font-size:10px;color:#e3ebf6;margin-top:1px}.drive-current-file{margin-top:6px;font-size:9px;color:#9fb0c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.bookshelf-panel{max-width:calc(100% - 12px);padding:9px}.bookshelf-head{align-items:flex-start;flex-direction:column}.bookshelf-head button{width:100%}.book-card{flex-basis:150px;min-height:106px}.drive-monitor-stats{grid-template-columns:repeat(2,1fr)}}

/* v18.8.7 cover thumbnails, resume status, parent-folder bookshelf import */
.book-card{flex-basis:164px;min-height:250px;padding:8px 9px 10px;display:flex;flex-direction:column}
.book-cover{position:relative;width:100%;aspect-ratio:2/3;margin:2px 0 7px;border:1px solid #4c5145;border-radius:6px;overflow:hidden;background:linear-gradient(145deg,#30352e,#151912);display:flex;align-items:center;justify-content:center}
.book-cover canvas{display:block;width:100%;height:100%;object-fit:cover;background:#ece9df}
.book-cover .cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;color:#b7b8aa;font-size:10px;line-height:1.45;background:linear-gradient(145deg,#2a2d27,#151812)}
.book-cover.ready .cover-fallback{display:none}.book-cover.loading:after{content:'PDF COVER';position:absolute;right:5px;bottom:5px;padding:2px 4px;border-radius:4px;background:rgba(0,0,0,.55);font-size:7px;color:#d2c7aa;letter-spacing:.08em}
.book-card h3{margin:2px 0 4px}.book-card p{min-height:26px}.book-card .book-stats{margin-top:6px}.book-resume{margin-top:auto;padding-top:7px;font-size:8px;color:#d6c28b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-card.add-book{min-height:250px}
.parent-folder-card{border-color:#5a4d38;background:linear-gradient(180deg,#171a20,#111720)}
.parent-folder-card>small{color:#dabd7c}
@media(max-width:720px){.book-card{flex-basis:140px;min-height:226px}.book-card.add-book{min-height:226px}}


/* v18.8.8 bookshelf sort + cross-device resume + Drive refresh */
.bookshelf-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.bookshelf-controls label{display:flex;align-items:center;gap:6px;color:#aeb4a8;font-size:9px}.bookshelf-controls select{min-height:34px;border:1px solid #4a5043;border-radius:8px;background:#11140f;color:#e9e4d7;padding:0 8px;font-size:10px}.bookshelf-controls button{min-height:34px}.bookshelf-refresh-status{margin-top:7px;padding:6px 8px;border:1px solid #343b31;border-radius:7px;background:#11140f;color:#8f9a8c;font-size:9px;line-height:1.4}.bookshelf-refresh-status.busy{border-color:#6d633f;color:#e2ca8b}.bookshelf-refresh-status.good{border-color:#426a4c;color:#abd6b4}.bookshelf-refresh-status.warn{border-color:#765d36;color:#e4c281}.bookshelf-refresh-status.error{border-color:#754b48;color:#e6aaa5}
.book-card.source-missing{border-color:#745b35}.book-card.source-missing:after{content:'DRIVE MISSING';position:absolute;left:9px;top:31px;padding:2px 5px;border-radius:4px;background:#5b4328;color:#f0d19a;font-size:7px;font-weight:800;letter-spacing:.06em}.book-manual-controls{display:none;position:absolute;right:5px;bottom:5px;gap:3px}.bookshelf-panel.manual-sort .book-manual-controls{display:flex}.book-manual-controls span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #4c5145;border-radius:6px;background:#11140f;color:#d6c28b;font-size:11px;cursor:pointer}.book-manual-controls span:hover{border-color:#8a7750}
.resume-modal[hidden]{display:none}.resume-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(5,7,6,.72);backdrop-filter:blur(3px)}.resume-dialog{width:min(520px,100%);border:1px solid #5a5749;border-radius:16px;background:linear-gradient(180deg,#20231d,#121510);padding:20px;color:#eee9db;box-shadow:0 20px 60px rgba(0,0,0,.45)}.resume-dialog>small{color:#d3b978;font-size:9px;letter-spacing:.15em;font-weight:800}.resume-dialog h2{margin:5px 0 8px;font-size:22px}.resume-dialog p{margin:0 0 12px;color:#b7bdb2;font-size:12px;line-height:1.55}.resume-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 15px}.resume-summary span{padding:9px;border:1px solid #3d4338;border-radius:8px;background:#0f120e;color:#d7d3c6;font-size:10px;text-align:center}.resume-actions{display:flex;justify-content:flex-end;gap:8px}.resume-actions button{min-width:118px;min-height:40px}
@media(max-width:720px){.bookshelf-controls{width:100%;justify-content:stretch}.bookshelf-controls label{width:100%;justify-content:space-between}.bookshelf-controls select{flex:1}.bookshelf-controls button{flex:1}.resume-summary{grid-template-columns:1fr}.resume-actions{flex-direction:column-reverse}.resume-actions button{width:100%}}

/* v18.8.9 base: Drive report, book status, chapter TOC */
.bookshelf-refresh-details{margin-top:6px;border:1px solid #343b31;border-radius:8px;background:#0f120e;color:#a9b2a5;font-size:9px}.bookshelf-refresh-details summary{cursor:pointer;padding:7px 9px;color:#c4ccb9;font-weight:700}.refresh-details-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 8px 8px}.refresh-group{min-width:0;border:1px solid #30372d;border-radius:7px;padding:7px;background:#121610}.refresh-group>b{display:block;margin-bottom:5px;font-size:9px;color:#d8d6c9}.refresh-group span{display:block;padding:3px 0;border-top:1px dotted #2e352b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9fa99b}.refresh-group.new{border-color:#3c6848}.refresh-group.changed{border-color:#76673e}.refresh-group.missing{border-color:#76513f}.refresh-no-change{grid-column:1/-1;padding:8px;color:#879183}.book-favorite{position:absolute;right:7px;top:31px;z-index:3;font-size:20px;line-height:1;color:#756f58;cursor:pointer}.book-card.favorite .book-favorite{color:#e0bb5c}.reading-status{cursor:pointer!important}.reading-status.reading{border-color:#6f623d!important;color:#e2c985!important}.reading-status.complete{border-color:#3c6749!important;color:#9dd3aa!important}.reading-status.unread{color:#9ca59a!important}.bookshelf-empty{display:flex;align-items:center;justify-content:center;min-width:220px;padding:20px;border:1px dashed #40473c;border-radius:10px;color:#8f998c;font-size:10px}.chapter-toc-panel{max-width:calc(100% - 24px);margin:0 auto 10px;border:1px solid #3b4450;border-radius:12px;background:#111820;padding:10px 11px;color:#dfe7ee}.chapter-toc-panel.collapsed{display:none}.chapter-toc-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.chapter-toc-head>div:first-child{display:flex;flex-direction:column;min-width:0}.chapter-toc-head small{font-size:9px;letter-spacing:.14em;color:#91b5e7;font-weight:800}.chapter-toc-head b{font-size:14px}.chapter-toc-head span{font-size:9px;color:#9dacbb;line-height:1.45}.chapter-toc-head>div:last-child{display:flex;gap:7px}.chapter-toc-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px;max-height:260px;overflow:auto}.chapter-toc-item{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:2px 7px;align-items:center;text-align:left;border:1px solid #334254;border-radius:8px;background:#0e151d;color:#dce5ed;padding:7px;min-width:0}.chapter-toc-item:hover,.chapter-toc-item.active{border-color:#7e9bbb;background:#162230}.chapter-no{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:26px;height:30px;border-radius:6px;background:#1b2a39;color:#a9c9ed;font-size:10px;font-weight:800}.chapter-toc-item b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-toc-item em{font-style:normal;font-size:8px;color:#8fa1b2}.chapter-toc-empty{grid-column:1/-1;padding:12px;border:1px dashed #344556;border-radius:8px;color:#8fa0af;font-size:10px}.toolbar-group #toggleChapterToc.active{border-color:#7f9cbd;color:#c7dcf2;background:#182534}
@media(max-width:900px){.refresh-details-list,.chapter-toc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.refresh-details-list,.chapter-toc-list{grid-template-columns:1fr}.chapter-toc-panel{max-width:calc(100% - 12px);padding:9px}.chapter-toc-head{align-items:flex-start;flex-direction:column}.chapter-toc-head>div:last-child{width:100%}.chapter-toc-head button{flex:1}.book-favorite{top:30px}}

/* v18.8.10 chapter progress, completion history, file diff */
.book-history{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;font-size:8px;color:#9ca89a}.book-history span{border:1px solid #323a30;border-radius:999px;padding:2px 5px;background:#10140f}.book-history .completed-date{border-color:#41674b;color:#a8d2b1}
.chapter-toc-item{grid-template-rows:auto auto auto}.chapter-toc-item.current-chapter{border-color:#9ab8d8;background:#192839;box-shadow:inset 0 0 0 1px rgba(154,184,216,.22)}.chapter-toc-item.current-chapter .chapter-no{background:#29435c;color:#d7eaff}.chapter-toc-item em strong{color:#b8d3ef;font-weight:800}.chapter-progress{grid-column:2;display:block;height:4px;border-radius:999px;background:#273440;overflow:hidden;margin-top:3px}.chapter-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#6e8baa,#aac2dc);transition:width .22s ease}
.refresh-changed-wide{grid-column:span 2}.file-diff-book{margin-top:5px;border-top:1px dotted #4a4937}.file-diff-book summary{cursor:pointer;padding:6px 0;color:#d7cb9e;white-space:normal}.file-diff-table{display:grid;gap:2px;padding-bottom:5px}.file-diff-row{display:grid;grid-template-columns:62px 48px minmax(120px,1fr) 115px;gap:6px;align-items:center;padding:5px 4px;border-radius:5px;background:#0e120d;color:#9faa9b}.file-diff-row.head{background:#171c15;color:#c3cbbc}.file-diff-row>span:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #465044;border-radius:999px;padding:2px 4px;font-size:7px;font-weight:900;letter-spacing:.05em}.diff-badge.add{border-color:#3f6c4b;color:#a5d4ae}.diff-badge.remove{border-color:#744d45;color:#e0a59c}.diff-badge.change{border-color:#75663d;color:#e0c77f}
@media(max-width:720px){.refresh-changed-wide{grid-column:1/-1}.file-diff-row{grid-template-columns:54px 42px minmax(100px,1fr)}.file-diff-row>span:last-child,.file-diff-row.head>b:last-child{display:none}}


/* v18.8.11 SIMPLE READER ------------------------------------------------ */
:root{--simple-bg:#11100d;--simple-paper:#f7f1e5;--simple-line:rgba(255,255,255,.14);--simple-soft:rgba(20,18,13,.82)}
.simple-chrome{position:fixed;z-index:70;left:0;right:0;top:0;padding:10px 14px 0;pointer-events:none}.simple-topline{max-width:1180px;margin:auto;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;pointer-events:auto}.simple-icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--simple-line);background:rgba(15,14,11,.7);color:#f6f0e3;font-size:20px;backdrop-filter:blur(14px)}.simple-title-wrap{min-width:0;text-align:center;color:#f7f1e5;text-shadow:0 1px 4px #000}.simple-title-wrap b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-title-wrap span{font-size:11px;opacity:.68}.simple-progress{pointer-events:auto;position:relative;max-width:480px;height:3px;margin:7px auto 0;background:rgba(255,255,255,.12);border-radius:999px}.simple-progress i{display:block;height:100%;width:0;background:#e6d29c;border-radius:inherit;transition:width .2s}.simple-progress span,.simple-progress em{position:absolute;top:5px;font-size:10px;color:rgba(255,255,255,.68);font-style:normal}.simple-progress span{left:0}.simple-progress em{right:0}
.simple-drawer{position:fixed;z-index:120;right:14px;top:14px;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:rgba(24,22,17,.96);color:#f6f0e3;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.simple-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.simple-drawer-head small{display:block;font-size:10px;letter-spacing:.15em;opacity:.58}.simple-drawer-head b{font-size:22px}.simple-drawer-head button{width:40px;height:40px;border-radius:50%;font-size:24px}.simple-setting-section{padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}.simple-setting-label{display:block;font-size:12px;opacity:.66;margin-bottom:9px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:rgba(255,255,255,.06);border-radius:12px;padding:4px;gap:3px}.segmented button{border:0;background:transparent;color:#e9e1d2;border-radius:9px;padding:10px 6px;font-size:12px}.segmented button.active{background:#f4ead6;color:#191711;font-weight:800}.simple-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}.simple-quick-grid button{padding:12px 8px}.simple-info-card{border-top:1px solid rgba(255,255,255,.1);padding-top:14px}.simple-info-card span,.simple-info-card em{display:block;font-size:11px;opacity:.58;font-style:normal}.simple-info-card b{display:block;margin:3px 0;font-size:15px}.drawer-backdrop{position:fixed;z-index:110;inset:0;background:rgba(0,0,0,.36);backdrop-filter:blur(2px)}
.simple-bottom-bar{position:fixed;z-index:75;left:50%;bottom:14px;transform:translateX(-50%);display:grid;grid-template-columns:48px 48px minmax(120px,220px) 48px;align-items:center;gap:6px;padding:6px;border:1px solid rgba(255,255,255,.13);background:rgba(18,17,13,.78);border-radius:999px;backdrop-filter:blur(18px);box-shadow:0 10px 36px rgba(0,0,0,.28)}.simple-bottom-bar button{width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:22px}.simple-page-info{text-align:center;color:#fff;min-width:0}.simple-page-info b{display:block;font-size:12px}.simple-page-info span{display:block;font-size:10px;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-bottom-bar #simplePlayMini[hidden]{display:none}
body.simple-ui{background:#0e0d0a;overflow-x:hidden}body.simple-ui:not(.advanced-open) .topbar,body.simple-ui:not(.advanced-open) .bookshelf-panel,body.simple-ui:not(.advanced-open) .reader-toolbar,body.simple-ui:not(.advanced-open) .chapter-toc-panel,body.simple-ui:not(.advanced-open) .audio-workspace,body.simple-ui:not(.advanced-open) footer{display:none!important}body.simple-ui:not(.advanced-open) .app-shell{max-width:none;padding:0;margin:0;background:transparent}body.simple-ui:not(.advanced-open) .reader-wrap{margin:0;padding:62px 10px 78px;min-height:100vh;background:radial-gradient(circle at 50% 40%,#29251d 0,#15130f 55%,#0c0b09 100%)}body.simple-ui:not(.advanced-open) .reader-hint,body.simple-ui:not(.advanced-open) #pdfStatus{display:none!important}body.simple-ui:not(.advanced-open) .pdf-stage{width:min(1480px,96vw);height:calc(100vh - 148px);min-height:520px;margin:auto}body.simple-ui:not(.advanced-open) .page-panel{height:100%;max-height:none;background:#f8f2e6}body.simple-ui.view-slide:not(.advanced-open) .pdf-stage{width:min(920px,94vw)}body.simple-ui.view-slide:not(.advanced-open) #rightPage{display:none!important}body.simple-ui.view-slide:not(.advanced-open) .book-spine,body.simple-ui.view-slide:not(.advanced-open) .book-underlay{display:none!important}body.simple-ui.view-slide:not(.advanced-open) #leftPage{width:100%;max-width:900px;margin:auto;box-shadow:0 22px 70px rgba(0,0,0,.46);border-radius:7px;overflow:hidden}body.simple-ui.view-slide.page-forward #leftPage{animation:simpleSlideNext .28s ease}body.simple-ui.view-slide.page-back #leftPage{animation:simpleSlidePrev .28s ease}@keyframes simpleSlideNext{from{opacity:.55;transform:translateX(22px) scale(.99)}to{opacity:1;transform:none}}@keyframes simpleSlidePrev{from{opacity:.55;transform:translateX(-22px) scale(.99)}to{opacity:1;transform:none}}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage{width:min(1480px,97vw)}body.simple-ui.view-single:not(.advanced-open) .pdf-stage{width:min(920px,94vw)}
body.simple-ui.mode-audio:not(.advanced-open) .reader-wrap{display:none!important}body.simple-ui.mode-audio:not(.advanced-open) .simple-audio-stage{display:flex!important}body.simple-ui.mode-ebook:not(.advanced-open) #simplePlayMini{display:none!important}body.simple-ui.mode-ebook:not(.advanced-open) .simple-audio-stage{display:none!important}body.simple-ui.mode-hybrid:not(.advanced-open) .simple-audio-stage{display:none!important}.simple-audio-stage{min-height:100vh;padding:90px 20px 110px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;background:radial-gradient(circle at 50% 35%,#3a3325 0,#171510 52%,#0d0c09 100%);color:#fff}.simple-audio-cover{width:min(420px,78vw);aspect-ratio:2/2.7;border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:42px 34px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#40392b,#181610);box-shadow:0 30px 80px rgba(0,0,0,.45)}.simple-audio-cover span{font-size:11px;letter-spacing:.18em;opacity:.55}.simple-audio-cover b{font-size:30px;line-height:1.15;margin:8px 0}.simple-audio-cover em{font-size:13px;opacity:.7;font-style:normal}.simple-audio-controls{display:flex;align-items:center;gap:26px}.simple-audio-controls button{width:54px;height:54px;border-radius:50%;font-size:22px}.simple-audio-controls .big-play{width:74px;height:74px;background:#f5ead4;color:#171510;border:0;font-size:27px}.simple-audio-seek{width:min(560px,86vw);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;font-size:11px;opacity:.9}
.reader-modal{position:fixed;z-index:150;inset:0;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:18px}.reader-modal[hidden]{display:none}.reader-modal-card{width:min(760px,96vw);max-height:88vh;overflow:auto;background:#191713;color:#f4ecdd;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.reader-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.reader-modal-head small{font-size:10px;letter-spacing:.16em;opacity:.55}.reader-modal-head h2{margin:3px 0 0}.reader-modal-head button{width:40px;height:40px;border-radius:50%;font-size:22px}.stats-period,.note-type-row{display:flex;gap:6px;margin:16px 0}.stats-period button,.note-type-row button{flex:1}.stats-period button.active,.note-type-row button.active{background:#f3e8d0;color:#15130f}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{background:rgba(255,255,255,.06);border-radius:14px;padding:14px}.stat-card span{display:block;font-size:11px;opacity:.55}.stat-card b{display:block;font-size:18px;margin-top:4px}.stats-books{margin-top:14px;display:grid;gap:7px}.stats-book-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;background:rgba(255,255,255,.045);border-radius:12px}.stats-book-row b{font-size:13px}.stats-book-row span{font-size:11px;opacity:.7}.note-editor textarea{width:100%;box-sizing:border-box;background:#0e0d0b;color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:12px;resize:vertical}.note-editor>button{width:100%;margin-top:8px}.notes-list{margin-top:16px;display:grid;gap:8px}.note-item{display:grid;grid-template-columns:72px 1fr 34px;gap:10px;align-items:start;padding:11px;background:rgba(255,255,255,.05);border-radius:12px}.note-type-badge{font-size:10px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.09);text-align:center}.note-item button{width:32px;height:32px;padding:0}.note-body b{display:block;font-size:12px}.note-body p{margin:4px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.5}.note-body em{display:block;font-style:normal;font-size:10px;opacity:.5;margin-top:5px}
.book-overall-progress{margin-top:7px}.book-overall-progress>span{display:flex;justify-content:space-between;font-size:10px;opacity:.68}.book-overall-progress>i{display:block;height:4px;margin-top:4px;background:rgba(0,0,0,.1);border-radius:999px;overflow:hidden}.book-overall-progress>i:after{content:'';display:block;width:var(--progress,0%);height:100%;background:currentColor}.book-overall-progress>em{display:block;font-style:normal;font-size:10px;margin-top:4px;opacity:.58}
body.advanced-open .simple-chrome,body.advanced-open .simple-bottom-bar{display:none!important}body.advanced-open .app-shell{padding-top:0}.advanced-back-btn{display:none}
@media(max-width:720px){.simple-chrome{padding:7px 9px 0}.simple-topline{grid-template-columns:44px 1fr 44px}.simple-icon-btn{width:42px;height:42px}.simple-title-wrap b{font-size:14px}.simple-bottom-bar{bottom:8px;width:calc(100vw - 18px);grid-template-columns:44px 44px 1fr 44px}.simple-bottom-bar button{width:42px;height:42px}.simple-progress{max-width:72vw}body.simple-ui:not(.advanced-open) .reader-wrap{padding:54px 4px 66px}body.simple-ui:not(.advanced-open) .pdf-stage{width:99vw;height:calc(100vh - 122px);min-height:430px}body.simple-ui.view-spread:not(.advanced-open) #rightPage{display:none!important}body.simple-ui.view-spread:not(.advanced-open) .book-spine{display:none!important}body.simple-ui.view-spread:not(.advanced-open) #leftPage{width:100%;max-width:none}.stats-summary{grid-template-columns:1fr 1fr}.stats-book-row{grid-template-columns:1fr}.simple-drawer{right:7px;top:7px;width:calc(100vw - 14px);max-height:calc(100vh - 14px)}}


/* v18.8.12 SIMPLE LIBRARY + PAGE DRAG + SENTENCE NOTES ---------------- */
.simple-library-view{position:fixed;z-index:180;inset:0;overflow:auto;background:linear-gradient(180deg,#11100d 0%,#181611 55%,#0f0e0b 100%);color:#f6f0e3;padding:42px 22px 70px}.simple-library-head{text-align:center;max-width:760px;margin:0 auto 28px}.simple-library-head small{display:block;letter-spacing:.22em;font-size:10px;opacity:.55}.simple-library-head h1{margin:7px 0 4px;font-size:clamp(28px,4vw,48px);font-weight:650;letter-spacing:.08em}.simple-library-head p,.simple-library-tip{margin:0;color:rgba(246,240,227,.58);font-size:12px}.simple-library-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:28px 22px;align-items:start}.simple-library-card{appearance:none;border:0;background:transparent;color:#f6f0e3;text-align:left;padding:0;min-width:0;cursor:pointer}.simple-library-cover{position:relative;aspect-ratio:2/3;border-radius:5px 12px 12px 5px;overflow:hidden;background:linear-gradient(135deg,#34302a,#171511);box-shadow:0 18px 42px rgba(0,0,0,.35),inset 5px 0 0 rgba(255,255,255,.06);transition:transform .2s ease,box-shadow .2s ease}.simple-library-card:hover .simple-library-cover,.simple-library-card:focus-visible .simple-library-cover{transform:translateY(-6px) rotateY(-2deg);box-shadow:0 26px 54px rgba(0,0,0,.45)}.simple-library-cover canvas{display:block;width:100%;height:100%;object-fit:cover}.simple-library-cover .cover-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:18px;text-align:center;font-size:14px;line-height:1.45;background:linear-gradient(145deg,#2d2a24,#171512);color:#eee2ca}.simple-library-cover.ready .cover-fallback{display:none}.simple-library-card h3{margin:11px 2px 4px;font-size:14px;line-height:1.35;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-library-card .library-meta{display:flex;justify-content:space-between;gap:8px;margin:0 2px;font-size:10px;color:rgba(246,240,227,.5)}.simple-library-card .library-progress{height:3px;background:rgba(255,255,255,.1);margin:7px 2px 0;border-radius:999px;overflow:hidden}.simple-library-card .library-progress i{display:block;height:100%;width:var(--p,0%);background:#ddc68d}.simple-library-card.add .simple-library-cover{display:grid;place-items:center;border:1px dashed rgba(255,255,255,.2);box-shadow:none}.simple-library-card.add .simple-library-cover b{font-size:42px;font-weight:300}.simple-library-tip{text-align:center;margin-top:36px}.simple-library-view[hidden]{display:none!important}body.library-open .simple-chrome,body.library-open .simple-bottom-bar,body.library-open #simpleAudioStage,body.library-open .app-shell{display:none!important}
.page-drag-zone{position:absolute;z-index:35;top:0;bottom:0;width:min(92px,16%);touch-action:pan-y;user-select:none;cursor:grab}.page-drag-zone:active{cursor:grabbing}.page-drag-zone.prev{left:0}.page-drag-zone.next{right:0}.page-drag-zone::after{content:'';position:absolute;bottom:0;width:42px;height:42px;opacity:.0;transition:opacity .18s;background:linear-gradient(135deg,transparent 0 48%,rgba(148,125,79,.22) 49% 61%,rgba(255,255,255,.12) 62% 100%)}.page-drag-zone.prev::after{left:0;transform:scaleX(-1)}.page-drag-zone.next::after{right:0}.pdf-stage:hover .page-drag-zone::after{opacity:1}.page-turn-sheet.manual-drag{display:block!important;opacity:1!important;pointer-events:none;transition:none!important;backface-visibility:hidden}.pdf-stage.drag-next .page-turn-sheet.manual-drag{left:50%;right:auto;width:50%;transform-origin:left center;transform:perspective(1500px) rotateY(calc(-165deg * var(--drag-progress,0)));box-shadow:calc(-30px * var(--drag-progress,0)) 0 calc(50px * var(--drag-progress,0)) rgba(0,0,0,.28)}.pdf-stage.drag-prev .page-turn-sheet.manual-drag{left:0;right:auto;width:50%;transform-origin:right center;transform:perspective(1500px) rotateY(calc(165deg * var(--drag-progress,0)));box-shadow:calc(30px * var(--drag-progress,0)) 0 calc(50px * var(--drag-progress,0)) rgba(0,0,0,.28)}.pdf-stage.page-dragging{cursor:grabbing}.pdf-stage.page-dragging .page-drag-zone{cursor:grabbing}.note-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.note-action-row button{min-height:42px}.sentence-print-note{font-size:11px;color:#786d59;margin-top:6px}
@media(max-width:700px){.simple-library-view{padding:28px 15px 60px}.simple-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.simple-library-card h3{font-size:12px}.page-drag-zone{width:22%}.note-action-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.simple-library-cover{transition:none}.page-turn-sheet.manual-drag{transition:none!important}}


/* v18.8.13 3D LIBRARY + PAGE SOUND + IMMERSIVE READER ---------------- */
/* 3D wooden bookshelf. The repeating shelf line keeps the layout responsive. */
.simple-library-view{
  background:
    radial-gradient(ellipse at 50% -20%,rgba(214,172,111,.13),transparent 44%),
    linear-gradient(90deg,rgba(0,0,0,.26),transparent 8%,transparent 92%,rgba(0,0,0,.28)),
    linear-gradient(180deg,#21150e 0%,#17100b 54%,#100b08 100%);
}
.simple-library-head small{color:#d6b98d;opacity:.72}
.simple-library-head h1{text-shadow:0 5px 20px rgba(0,0,0,.55)}
.simple-library-grid{
  position:relative;
  perspective:1300px;
  grid-auto-rows:334px;
  align-items:end;
  gap:0 22px;
  padding:0 30px 28px;
  border-left:12px solid #3a2416;
  border-right:12px solid #3a2416;
  border-top:10px solid #53361f;
  border-radius:8px 8px 3px 3px;
  box-shadow:inset 0 0 70px rgba(0,0,0,.46),0 24px 58px rgba(0,0,0,.32);
  background:
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 22%,transparent 78%,rgba(0,0,0,.18)),
    repeating-linear-gradient(to bottom,
      #21160f 0px,#1c130d 278px,
      #765034 279px,#9a6d47 287px,
      #56371f 288px,#352014 301px,
      #1b110b 302px,#1b110b 333px);
}
.simple-library-grid::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 2px,rgba(0,0,0,.02) 3px 6px);mix-blend-mode:soft-light}
.simple-library-card{align-self:end;transform-style:preserve-3d;padding:0 0 35px;position:relative;z-index:1}
.simple-library-cover{
  transform:perspective(950px) rotateY(-5deg) translateZ(0);
  transform-origin:left center;
  border-radius:3px 11px 11px 3px;
  box-shadow:13px 17px 24px rgba(0,0,0,.42),inset 7px 0 8px rgba(255,255,255,.055),inset -3px 0 4px rgba(0,0,0,.2);
}
.simple-library-cover::before{content:"";position:absolute;z-index:5;left:0;top:0;bottom:0;width:9px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.12),rgba(0,0,0,.08));pointer-events:none}
.simple-library-cover::after{content:"";position:absolute;z-index:5;right:0;top:2%;bottom:2%;width:5px;background:repeating-linear-gradient(180deg,#f5eddb 0 2px,#ded3bd 3px 4px);opacity:.42;pointer-events:none}
.simple-library-card::after{content:"";position:absolute;left:5%;right:0;bottom:30px;height:8px;border-radius:50%;background:rgba(0,0,0,.38);filter:blur(5px);transform:translateZ(-20px);pointer-events:none}
.simple-library-card:hover .simple-library-cover,.simple-library-card:focus-visible .simple-library-cover{transform:perspective(950px) rotateY(0deg) translateY(-8px) translateZ(18px);box-shadow:15px 25px 38px rgba(0,0,0,.48)}
.simple-library-card.add .simple-library-cover{transform:perspective(950px) rotateY(-5deg);background:linear-gradient(145deg,#3c2b1f,#1f1712)}
.simple-library-card h3,.simple-library-card .library-meta,.simple-library-card .library-progress{position:relative;z-index:3}
.simple-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.simple-toggle-grid button{min-height:44px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:#eee5d5;border-radius:11px;font-size:12px}
.simple-toggle-grid button.active,.simple-toggle-grid button[aria-pressed="true"]{background:#f3ead8;color:#191711;font-weight:800}
.simple-setting-help{margin:8px 2px 0;font-size:10px;line-height:1.5;color:rgba(246,240,227,.5)}

/* Immersive reader: controls are tap-to-show and otherwise disappear. */
.simple-chrome,.simple-bottom-bar{transition:opacity .22s ease,transform .22s ease}
body.immersive-reader:not(.immersive-controls) .simple-chrome{opacity:0;transform:translateY(-12px);pointer-events:none}
body.immersive-reader:not(.immersive-controls) .simple-bottom-bar{opacity:0;transform:translate(-50%,18px);pointer-events:none}
body.immersive-reader.immersive-controls .simple-chrome,body.immersive-reader.immersive-controls .simple-bottom-bar{opacity:1;pointer-events:auto}
body.immersive-reader:not(.advanced-open) .reader-wrap{padding:4px!important}
body.immersive-reader:not(.advanced-open) .pdf-stage{width:calc(100vw - 8px)!important;height:calc(100vh - 8px)!important;max-width:none!important;min-height:0!important;border-radius:0!important}
body.immersive-reader:not(.advanced-open) .simple-audio-stage{min-height:calc(100vh - 12px);padding-top:8px;padding-bottom:8px}
body.immersive-reader.controls-hidden{cursor:none}
.immersive-hint{position:fixed;z-index:150;left:50%;bottom:34px;transform:translate(-50%,12px);padding:9px 14px;border-radius:999px;background:rgba(12,11,9,.82);border:1px solid rgba(255,255,255,.13);color:#f5eddd;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(12px)}
.immersive-hint.show{opacity:1;transform:translate(-50%,0)}
body.library-open .immersive-hint,body.advanced-open .immersive-hint{display:none}
@media(max-width:700px){
  .simple-library-grid{grid-auto-rows:292px;gap:0 14px;padding:0 14px 22px;border-left-width:7px;border-right-width:7px;border-top-width:7px;background:linear-gradient(90deg,rgba(255,255,255,.02),transparent 30%,transparent 70%,rgba(0,0,0,.15)),repeating-linear-gradient(to bottom,#21160f 0,#1c130d 238px,#765034 239px,#976843 247px,#53351f 248px,#321f13 260px,#1b110b 261px,#1b110b 291px)}
  .simple-library-card{padding-bottom:30px}.simple-library-card::after{bottom:26px}.simple-toggle-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.simple-chrome,.simple-bottom-bar,.immersive-hint{transition:none}.simple-library-cover{transition:none}}
\n\n/* v18.8.14 SMART LIBRARY + TOUCH ZONES + COMPLETION ---------------- */\n.simple-library-tools{width:min(760px,100%);margin:18px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;text-align:left}.simple-library-tools label{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.11);background:rgba(13,9,6,.38);border-radius:12px;backdrop-filter:blur(8px)}.simple-library-tools label span{font-size:10px;letter-spacing:.08em;color:rgba(246,240,227,.55);white-space:nowrap}.simple-library-tools input,.simple-library-tools select,.simple-genre-select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f4ead8;padding:5px;font-size:13px}.simple-library-tools select option,.simple-genre-select option{background:#241811;color:#f4ead8}.simple-genre-select{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px;background:rgba(255,255,255,.05)}.recent-ribbon{position:absolute;z-index:9;top:9px;right:8px;font-style:normal;font-size:8px;letter-spacing:.1em;padding:4px 6px;border-radius:999px;background:rgba(13,10,7,.76);border:1px solid rgba(255,255,255,.18);color:#ead6a7}.library-reflection{margin:6px 2px 0;color:rgba(246,240,227,.55);font-size:9px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-library-empty{grid-column:1/-1;align-self:center;text-align:center;padding:36px 20px 54px;color:rgba(246,240,227,.56)}.simple-library-empty b{display:block;color:#efe1c6;margin-bottom:6px}.simple-library-empty span{font-size:11px}.immersive-touch-zone{display:none;position:fixed;z-index:125;top:12%;bottom:12%;width:20%;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;transform:none!important}.immersive-touch-zone.prev{left:0}.immersive-touch-zone.next{right:0}.immersive-touch-zone span{position:absolute;top:50%;transform:translateY(-50%);font-size:44px;color:rgba(255,255,255,.0);transition:color .18s}.immersive-touch-zone.prev span{left:18px}.immersive-touch-zone.next span{right:18px}body.immersive-reader:not(.immersive-controls):not(.library-open) .immersive-touch-zone{display:block}body.immersive-reader:not(.immersive-controls) .immersive-touch-zone:active span{color:rgba(255,255,255,.45)}.completion-card{max-width:620px;text-align:center;padding:34px 30px}.completion-mark{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:linear-gradient(145deg,#e1c78c,#9e8050);color:#17130d;font-size:36px;font-weight:900;box-shadow:0 16px 34px rgba(0,0,0,.25)}.completion-card>small{letter-spacing:.18em;color:#a68b59}.completion-card h2{font-family:Georgia,"Noto Serif KR",serif;font-size:26px;margin:7px 0 5px}.completion-card>p{margin:0 0 18px;color:#a6a092}.completion-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px}.completion-stats>div{padding:10px 8px;border-radius:10px;background:#161713;border:1px solid #34362d}.completion-stats span{display:block;font-size:9px;color:#919487}.completion-stats b{display:block;margin-top:4px;font-size:12px;color:#ead7a9}.completion-reflection{display:block;text-align:left}.completion-reflection span{display:block;font-size:11px;color:#aaa394;margin-bottom:7px}.completion-reflection textarea{width:100%;resize:vertical;min-height:86px;border:1px solid #45483b;border-radius:12px;background:#11120f;color:#f2ead9;padding:12px;font:inherit;line-height:1.55}.completion-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.completion-actions button{min-width:112px}.completion-modal[hidden]{display:none!important}@media(max-width:700px){.simple-library-tools{grid-template-columns:1fr;gap:7px;margin-top:14px}.completion-card{padding:26px 16px}.completion-stats{grid-template-columns:repeat(2,1fr)}.immersive-touch-zone{width:24%}.immersive-touch-zone.prev span{left:8px}.immersive-touch-zone.next span{right:8px}}\n

/* v18.8.17 PREVIEW TOC + READING GRAPH + LANDSCAPE SPREAD -------- */
.book-preview-card{max-width:760px;position:relative;padding:24px}.preview-close{position:absolute;right:13px;top:13px;z-index:4;width:40px;height:40px;padding:0;border-radius:50%}.book-preview-layout{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:26px;align-items:center}.book-preview-cover{aspect-ratio:2/3;max-height:390px;border-radius:5px 13px 13px 5px;overflow:hidden;background:#17150f;box-shadow:14px 18px 28px rgba(0,0,0,.35),inset 8px 0 10px rgba(255,255,255,.05)}.book-preview-cover canvas{width:100%;height:100%;display:block;object-fit:cover}.book-preview-copy small{letter-spacing:.16em;color:#b89a63}.book-preview-copy h2{font-family:Georgia,"Noto Serif KR",serif;font-size:25px;line-height:1.3;margin:5px 42px 4px 0}.preview-meta{font-size:11px;color:#a6a193;margin:0 0 16px}.preview-intro{margin:0 0 14px;color:#ddd4c1;font-size:13px;line-height:1.65}.preview-progress{height:7px;border-radius:99px;background:#151611;overflow:hidden;border:1px solid #35372d}.preview-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#9a8152,#e0c587);transition:width .25s ease}.preview-progress-text{display:block;margin:6px 0 14px;font-size:11px;color:#d7c398}.preview-location{padding:11px 12px;border-radius:11px;background:#151611;border:1px solid #34362d}.preview-location span{display:block;color:#8e9184;font-size:9px;letter-spacing:.08em}.preview-location b{display:block;margin-top:4px;font-size:12px;color:#eee4d0}.preview-reflection{margin:13px 0 0;padding:10px 12px;border-left:3px solid #9f8658;background:rgba(255,255,255,.035);color:#d9cfbc;font-size:12px}.preview-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.stats-export-row{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid #34362d}.stats-export-row button{background:linear-gradient(180deg,#c8ae76,#a98f5b);border-color:#e6cc92;color:#181711;font-weight:800}.simple-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.book-preview-card{padding:18px 14px}.book-preview-layout{grid-template-columns:108px minmax(0,1fr);gap:14px;align-items:start}.book-preview-cover{max-height:none}.book-preview-copy h2{font-size:18px;margin-right:32px}.preview-intro{font-size:11px}.preview-actions{grid-column:1/-1}.preview-actions button{flex:1}.simple-toggle-grid{grid-template-columns:1fr}.stats-export-row button{width:100%}}
@media (orientation:landscape) and (max-width:900px){body.simple-ui.view-spread:not(.advanced-open) .pdf-stage{display:grid!important;grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;gap:0!important;max-width:none!important}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-spine{display:block!important}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage{display:block!important}body.simple-ui.view-spread:not(.advanced-open) .page-panel{min-height:72vh}}


/* v18.8.17 PREVIEW TOC + READING GRAPH + LANDSCAPE SPREAD -------- */
.preview-toc-box{margin-top:12px;padding:10px 11px;border:1px solid #34362d;border-radius:11px;background:#12130f}.preview-toc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.preview-toc-head span{font-size:10px;color:#cdb47d;font-weight:800;letter-spacing:.05em}.preview-toc-head em{font-size:9px;color:#777b70;font-style:normal}.preview-toc-list{display:grid;gap:5px}.preview-toc-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;padding:6px 8px;border-radius:8px;border:1px solid #2c2e26;background:#191a15;color:#e8e0d0;text-align:left}.preview-toc-item:hover{border-color:#8d774d;background:#202117}.preview-toc-item span{font-size:9px;color:#c5a96e;text-align:center}.preview-toc-item b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-toc-item em{font-size:9px;color:#8f9286;font-style:normal}.preview-toc-empty{font-size:10px;color:#868a7d;line-height:1.45}
@media(max-width:700px){.preview-toc-box{grid-column:1/-1;margin-top:4px}.preview-toc-item{padding:7px 8px}}
@media (orientation:landscape) and (max-width:950px){body.simple-ui:not(.advanced-open) .reader-wrap{padding:2px!important;min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage{width:calc(100vw - 4px)!important;max-width:none!important;height:calc(100vh - 4px)!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr)!important;gap:0!important;margin:0!important;align-items:stretch!important}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-spine{display:block!important;width:10px!important;height:100%!important;min-height:0!important;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.08),rgba(0,0,0,.3))!important}body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage,body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage{display:block!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;border-radius:0!important;box-shadow:none!important}body.simple-ui.view-spread:not(.advanced-open) .page-panel iframe,body.simple-ui.view-spread:not(.advanced-open) .page-panel canvas{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}.simple-chrome{pointer-events:none}.simple-chrome button,.simple-bottom-bar{pointer-events:auto}}


/* v18.8.17 FULL TOC + READING ANALYTICS + CURVED SPINE -------- */
.preview-toc-list{max-height:250px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#5f5745 #171812}.preview-toc-list::-webkit-scrollbar{width:7px}.preview-toc-list::-webkit-scrollbar-track{background:#171812;border-radius:99px}.preview-toc-list::-webkit-scrollbar-thumb{background:#5f5745;border-radius:99px}.preview-toc-item.current{border-color:#c1a46a;background:#252318;box-shadow:inset 3px 0 0 #c1a46a}.preview-toc-item.current b{color:#fff4d8}.preview-toc-head em{min-width:42px;text-align:right}
@media(max-width:700px){.preview-toc-list{max-height:210px}}
@media (orientation:landscape) and (max-width:950px){
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)!important;perspective:1600px!important;background:radial-gradient(ellipse at center,rgba(0,0,0,.18),transparent 58%)!important;overflow:visible!important}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-spine{position:relative!important;display:block!important;width:16px!important;height:100%!important;min-height:0!important;border-radius:55% / 8%!important;background:radial-gradient(ellipse at center,rgba(255,255,255,.18) 0 10%,rgba(64,52,39,.34) 38%,rgba(0,0,0,.5) 72%,rgba(255,255,255,.05) 100%)!important;box-shadow:inset 3px 0 5px rgba(255,255,255,.10),inset -4px 0 7px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.42)!important;transform:translateZ(8px)!important;z-index:4!important}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-spine::before{content:"";position:absolute;inset:0 3px;border-radius:50%;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.13),rgba(0,0,0,.34));opacity:.9}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage{box-shadow:inset -24px 0 28px -22px rgba(0,0,0,.75),inset -6px 0 9px -6px rgba(100,80,55,.32)!important;border-radius:2px 12px 12px 2px!important;transform-origin:right center!important;transform:perspective(1500px) rotateY(1.15deg)!important;z-index:2!important}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage{box-shadow:inset 24px 0 28px -22px rgba(0,0,0,.75),inset 6px 0 9px -6px rgba(100,80,55,.32)!important;border-radius:12px 2px 2px 12px!important;transform-origin:left center!important;transform:perspective(1500px) rotateY(-1.15deg)!important;z-index:2!important}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage::after,body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage::before{content:"";position:absolute;top:0;bottom:0;width:18px;pointer-events:none;z-index:4}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage::after{right:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.14))}
  body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage::before{left:0;background:linear-gradient(90deg,rgba(0,0,0,.14),transparent)}
}

/* v18.8.19 SIMPLE CORE FLOW -------------------------------------- */
.quick-home{padding:30px 20px 54px!important;background:radial-gradient(circle at 50% -10%,#2d2b23 0,#171713 52%,#10110e 100%)!important;overflow:auto!important;align-items:stretch!important;justify-content:flex-start!important}.quick-home-head{text-align:center;max-width:760px;margin:0 auto 22px}.quick-home-head small{letter-spacing:.22em;color:#d0b476;font-weight:800}.quick-home-head h1{font:700 clamp(28px,4vw,46px)/1.15 Georgia,"Noto Serif KR",serif;margin:7px 0 6px}.quick-home-head p{margin:0;color:#aaa799;font-size:13px}.quick-current-card{width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;padding:24px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:rgba(28,28,23,.86);box-shadow:0 22px 54px rgba(0,0,0,.30)}.quick-current-cover{aspect-ratio:2/3;border-radius:7px 15px 15px 7px;overflow:hidden;background:#161610;box-shadow:14px 18px 30px rgba(0,0,0,.35),inset 8px 0 10px rgba(255,255,255,.05);cursor:pointer;position:relative}.quick-current-cover canvas{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2}.quick-current-cover .cover-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#b8ad94;font-weight:800}.quick-current-copy{min-width:0}.quick-kicker{display:block;color:#c3a76c;font-size:10px;letter-spacing:.16em;font-weight:800}.quick-current-copy h2{font:700 clamp(24px,3vw,34px)/1.25 Georgia,"Noto Serif KR",serif;margin:6px 0 10px}.quick-data-status,.preview-data-status{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.quick-data-status span,.preview-data-status span{border:1px solid #414338;border-radius:999px;padding:6px 9px;font-size:11px;background:#151610}.quick-data-status .ready,.preview-data-status .ready{border-color:#55735d;color:#b8ddb9;background:#172019}.quick-data-status .missing,.preview-data-status .missing{border-color:#584841;color:#bba49b;background:#201916}.quick-data-status .neutral,.preview-data-status .neutral{color:#bbb8aa}.quick-status-message{margin:10px 0 17px;color:#b7b3a4;line-height:1.6;font-size:13px}.quick-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.quick-mode-card{min-height:104px;text-align:left;padding:13px;border-radius:14px;background:#1b1c17;border:1px solid #44463b;white-space:normal}.quick-mode-card span{font-size:24px;display:block;margin-bottom:7px}.quick-mode-card b{display:block;font-size:14px}.quick-mode-card em{display:block;font-style:normal;color:#979a8d;font-size:10px;margin-top:4px;line-height:1.45}.quick-mode-card:disabled,.setup-mode-grid button:disabled,.preview-mode-actions button:disabled{opacity:.34;cursor:not-allowed;transform:none}.quick-primary-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.quick-primary-actions button{min-height:44px}.quick-start-primary{background:linear-gradient(180deg,#d9bf83,#ab8e56)!important;border-color:#eed79e!important;color:#17160f!important;font-weight:900!important}.quick-steps{width:min(1040px,100%);margin:16px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-step{display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:13px;border:1px solid #35372f;border-radius:14px;background:#171814}.quick-step>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#c9ad72;color:#17150f;font-weight:900}.quick-step b{font-size:12px}.quick-step em{font-style:normal;color:#878b7d;font-size:9px}.quick-step button{grid-row:1/3;grid-column:3;padding:7px 9px;font-size:10px}.quick-library-details{width:min(1040px,100%);margin:16px auto 0;border:1px solid #34362e;border-radius:14px;background:#141510;overflow:hidden}.quick-library-details>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;font-weight:800}.quick-library-details>summary span{font-size:10px;color:#aaa58f}.quick-library-details .simple-library-tools{padding:0 14px;margin:0 auto 10px}.compact-library.simple-library-grid{min-height:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(122px,1fr))!important;grid-auto-rows:auto!important;gap:14px!important;padding:16px!important;border:0!important;border-radius:0!important;background:#0f100d!important;box-shadow:none!important}.compact-library.simple-library-grid::before{display:none}.compact-library .simple-library-card{padding:0!important;align-self:start!important}.compact-library .simple-library-card::after{display:none}.compact-library .simple-library-cover{height:auto!important;aspect-ratio:2/3!important;transform:none!important}.compact-library .simple-library-card h3{font-size:11px;margin:7px 0 3px;text-align:left}.compact-library .library-meta{font-size:8px}.compact-library .library-progress{margin-top:5px}.simple-library-tip{max-width:1040px;margin:14px auto 0!important;text-align:center!important;color:#777b70!important}.quick-setup-card{max-width:850px}.setup-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:4px 0 22px}.setup-progress span{font-size:10px;padding:6px 9px;border-radius:999px;border:1px solid #41443a;color:#888b7d}.setup-progress span.active{background:#d6bd84;color:#17150f;border-color:#ead29a;font-weight:900}.setup-progress i{height:1px;background:#3b3d34}.setup-step{display:none}.setup-step.active{display:block}.setup-step h3{font-size:17px;margin:0 0 13px}.setup-source-grid,.setup-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.setup-source-grid button,.setup-mode-grid button{position:relative;text-align:left;min-height:92px;padding:14px;white-space:normal;border-radius:13px}.setup-source-grid b,.setup-mode-grid b{display:block;font-size:13px}.setup-source-grid span,.setup-mode-grid em{display:block;color:#949789;font-size:10px;font-style:normal;margin-top:5px;line-height:1.45}.setup-source-grid button em{position:absolute;top:8px;right:8px;font-size:8px;font-style:normal;background:#c9ad72;color:#17150f;padding:3px 6px;border-radius:999px}.setup-source-grid button.selected,.setup-mode-grid button.selected{border-color:#d7bd82;background:#2c281e;box-shadow:0 0 0 1px rgba(215,189,130,.3)}.setup-input-box{margin-top:12px;padding:13px;border:1px solid #3a3d33;border-radius:13px;background:#11120f}.setup-input-box label{display:block;font-size:10px;color:#aaa99b;margin-bottom:10px}.setup-input-box input[type="url"],.setup-input-box input[type="text"],.setup-input-box input[type="number"]{width:100%;margin-top:5px;background:#0d0e0b;color:#fff;border:1px solid #46493d;border-radius:9px;padding:10px}.setup-check{display:flex!important;align-items:center;gap:7px}.setup-input-box .drive-primary{width:100%;margin-top:4px}.setup-advanced-link{text-align:right;margin-top:10px}.setup-advanced-link button{font-size:10px;background:transparent}.setup-result-card{padding:18px;border-radius:14px;border:1px solid #3c3e34;background:#13140f}.setup-result-card>b{display:block;font-size:16px;margin-bottom:9px}.setup-result-card>div{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.setup-result-card>span{color:#9b9e90;font-size:11px}.setup-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-mode-grid button{text-align:center}.setup-mode-grid button>span{font-size:27px;display:block;margin-bottom:7px}.setup-mode-hint{margin:12px 0;padding:10px;border-radius:10px;background:#151611;color:#a8aa9e;font-size:11px;text-align:center}.setup-finish-row{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.preview-mode-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.preview-mode-actions button{padding:8px;font-size:11px}.reader-modal[hidden],.quick-setup-modal[hidden]{display:none!important}
@media(max-width:760px){.quick-home{padding:18px 10px 34px!important}.quick-current-card{grid-template-columns:100px minmax(0,1fr);gap:14px;padding:14px}.quick-current-copy h2{font-size:20px}.quick-mode-row{grid-template-columns:1fr}.quick-mode-card{min-height:70px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:0 8px}.quick-mode-card span{grid-row:1/3;margin:0;font-size:22px}.quick-mode-card b,.quick-mode-card em{grid-column:2}.quick-steps{grid-template-columns:1fr}.quick-step{grid-template-columns:34px 1fr auto}.setup-source-grid,.setup-mode-grid{grid-template-columns:1fr}.quick-setup-card{padding:18px 13px}.setup-progress{gap:4px}.setup-progress span{font-size:8px;padding:5px 6px}.preview-mode-actions{grid-template-columns:1fr}.compact-library.simple-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:12px!important}}


/* v18.8.24: Drive search + multi-select + mode recommendation */
.drive-browse-button{width:100%;min-height:76px;border:1px solid rgba(124,170,230,.5);background:linear-gradient(135deg,rgba(39,88,145,.42),rgba(21,40,63,.7));border-radius:14px;color:#f7fbff;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;text-align:left;gap:2px 10px;padding:13px 15px;cursor:pointer}
.drive-browse-button>span{grid-row:1/3;font-size:28px;align-self:center}.drive-browse-button>b{font-size:15px;align-self:end}.drive-browse-button>em{font-style:normal;font-size:12px;color:#b8c9dd;align-self:start}.drive-browse-button:hover{border-color:#8eb9ef;background:linear-gradient(135deg,rgba(51,107,174,.55),rgba(23,45,73,.8))}.drive-browse-button.compact{min-height:68px;margin:10px 0 8px}.drive-selected-line{border:1px solid rgba(116,151,191,.25);background:rgba(7,17,28,.55);border-radius:10px;padding:10px 12px;color:#b9c9d9;font-size:12px;min-height:38px;display:flex;align-items:center}.drive-selected-line.selected{border-color:rgba(115,196,151,.55);color:#d8f6e4;background:rgba(28,82,54,.2)}
.drive-link-fallback{margin-top:8px}.drive-link-fallback>summary{cursor:pointer;color:#8293a5;font-size:11px}.drive-link-fallback[open]>summary{margin-bottom:8px}.drive-browse-first .drive-link-fallback label{display:grid;gap:5px}
.drive-browser-modal{z-index:1200}.drive-browser-card{width:min(760px,94vw);max-height:88vh;display:flex;flex-direction:column}.drive-browser-toolbar{display:flex;align-items:center;gap:8px;margin:12px 0 8px}.drive-browser-toolbar button{min-height:38px}.drive-browser-breadcrumb{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c9d8e8;font-size:12px;border:1px solid rgba(140,165,194,.2);border-radius:10px;padding:9px 11px;background:rgba(8,18,29,.55)}.drive-browser-status{font-size:12px;color:#9fb0c2;padding:6px 2px}.drive-browser-list{min-height:280px;max-height:52vh;overflow:auto;border:1px solid rgba(122,151,184,.25);border-radius:13px;background:rgba(6,14,23,.72);padding:6px}.drive-browser-row{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;border:0;border-bottom:1px solid rgba(126,151,180,.12);background:transparent;color:#eef5fc;text-align:left;padding:11px 10px;cursor:pointer}.drive-browser-row:last-child{border-bottom:0}.drive-browser-row:hover,.drive-browser-row:focus-visible{background:rgba(67,107,153,.2);outline:none}.drive-browser-row .icon{font-size:22px;text-align:center}.drive-browser-row .copy{min-width:0}.drive-browser-row .copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.drive-browser-row .copy small{display:block;color:#8297ac;margin-top:2px}.drive-browser-row .action{color:#8eb9ef;font-size:11px}.drive-browser-row.disabled{opacity:.45;cursor:default}.drive-browser-empty{padding:34px 18px;text-align:center;color:#8ea0b2}.drive-browser-footer{display:flex;gap:10px;align-items:center;margin-top:10px}.drive-browser-footer>span{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9fb0c2;font-size:12px}.drive-browser-footer button{min-width:145px}.drive-browser-card.file-mode #driveBrowserSelectCurrent{display:none}
@media(max-width:640px){.drive-browser-card{width:96vw}.drive-browser-list{max-height:56vh}.drive-browser-row{grid-template-columns:34px 1fr auto;padding:12px 8px}.drive-browser-footer{align-items:stretch;flex-direction:column}.drive-browser-footer button{width:100%}}


/* v18.8.24 Drive browser search / multi-select / recommendation */
.drive-browser-search-row{display:flex;gap:8px;align-items:end;margin:2px 0 8px}.drive-browser-search-row label{display:grid;gap:4px;flex:1;min-width:0}.drive-browser-search-row label span{font-size:10px;color:#91a6bb;font-weight:700}.drive-browser-search-row input{min-height:40px;border:1px solid rgba(130,160,193,.34);border-radius:10px;background:#0a131e;color:#eef6ff;padding:8px 11px;font-size:14px}.drive-browser-search-row button,.drive-browser-file-tools button{min-height:38px}.drive-browser-file-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0 8px}.drive-browser-file-tools span{margin-left:auto;color:#c7d7e8;font-size:12px;font-weight:800}.drive-browser-check{width:20px;height:20px;border:1px solid #6685a6;border-radius:5px;display:grid;place-items:center;color:#fff;background:#0a1521;font-size:13px}.drive-browser-row.selected{background:rgba(62,122,92,.28);outline:1px solid rgba(113,205,151,.45)}.drive-browser-row.selected .drive-browser-check{background:#2c7c52;border-color:#77d7a0}.drive-browser-card.file-mode #driveBrowserSelectCurrent{display:inline-flex}.drive-browser-card.file-mode #driveBrowserFileTools{display:flex!important}.drive-folder-analysis{border:1px solid rgba(123,151,184,.28);border-radius:10px;padding:9px 10px;background:rgba(8,17,27,.55);font-size:11px;line-height:1.55;color:#9eb2c7}.drive-folder-analysis.busy{border-color:#6f613a;color:#e6d291}.drive-folder-analysis.good{border-color:#3e7250;color:#c9efd5;background:rgba(29,84,52,.18)}.drive-folder-analysis.error{border-color:#824b4b;color:#f0b4ae}.drive-folder-analysis b{color:#fff}.mode-recommend-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;margin-left:5px;background:#254b75;color:#dcecff;font-weight:800}@media(max-width:640px){.drive-browser-search-row{align-items:stretch;flex-direction:column}.drive-browser-search-row button{width:100%}.drive-browser-file-tools span{width:100%;margin-left:0}.drive-browser-file-tools button{flex:1}}
\n\n/* v18.8.24: global Home + cloud connection status */\n.global-home-btn{position:fixed;top:12px;left:12px;z-index:5000;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(221,197,143,.55);background:rgba(24,24,19,.92);color:#f7ecd4;font-weight:900;font-size:12px;box-shadow:0 6px 20px rgba(0,0,0,.28);backdrop-filter:blur(8px);cursor:pointer}\n.global-home-btn:hover,.global-home-btn:focus-visible{background:#d6bd84;color:#17150f;outline:none}\n.reader-modal:not([hidden])~.global-home-btn{display:block}\n.cloud-connection-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:11px 12px;border-radius:12px;border:1px solid #43483c;background:#11140f}\n.cloud-connection-status>div:first-child{display:grid;grid-template-columns:16px 1fr;column-gap:8px;min-width:0}\n.cloud-connection-status .cloud-dot{width:10px;height:10px;border-radius:50%;grid-row:1/3;align-self:center;background:#9b8b5e;box-shadow:0 0 0 4px rgba(155,139,94,.12)}\n.cloud-connection-status b{font-size:12px;color:#f3ead8}.cloud-connection-status em{font-style:normal;font-size:10px;color:#9ea190;margin-top:2px;line-height:1.45}\n.cloud-connection-status.good{border-color:#3f7352;background:rgba(30,83,52,.18)}.cloud-connection-status.good .cloud-dot{background:#69cf8d;box-shadow:0 0 0 4px rgba(105,207,141,.12)}\n.cloud-connection-status.warn{border-color:#7c6630;background:rgba(101,77,24,.16)}.cloud-connection-status.warn .cloud-dot{background:#e0bb59}\n.cloud-connection-status.error{border-color:#814646;background:rgba(105,35,35,.16)}.cloud-connection-status.error .cloud-dot{background:#e07872}\n.cloud-connection-status.checking .cloud-dot{animation:cloudPulse 1.2s infinite alternate}\n.cloud-status-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.cloud-status-actions button{min-height:36px;font-size:10px;white-space:nowrap}\n@keyframes cloudPulse{from{opacity:.35}to{opacity:1}}\n@media(max-width:720px){.global-home-btn{top:8px;left:8px;min-height:38px;padding:0 11px;font-size:11px}.cloud-connection-status{align-items:stretch;flex-direction:column}.cloud-status-actions{justify-content:stretch}.cloud-status-actions button{flex:1}}\n

/* v18.8.25: in-app APP_KEY registration */
.cloud-key-modal{position:fixed;inset:0;z-index:6200;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.cloud-key-modal[hidden]{display:none!important}
.cloud-key-dialog{position:relative;width:min(620px,95vw);padding:24px;border:1px solid #585342;border-radius:20px;background:#171812;color:#f5eddb;box-shadow:0 24px 70px rgba(0,0,0,.52)}
.cloud-key-dialog>small{display:block;color:#bea66c;font-size:9px;font-weight:900;letter-spacing:.16em}.cloud-key-dialog h2{margin:7px 0 8px;font-size:22px}.cloud-key-dialog>p{margin:0 0 18px;color:#b7b3a5;font-size:12px;line-height:1.65}
.cloud-key-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;font-size:24px;line-height:1;padding:0}
.cloud-key-field{display:block}.cloud-key-field>span{display:block;margin-bottom:7px;color:#d6c7a5;font-size:11px;font-weight:800}.cloud-key-field>div{display:grid;grid-template-columns:1fr auto;gap:8px}.cloud-key-field input{min-width:0;width:100%;height:46px;border:1px solid #56584b;border-radius:11px;background:#0c0e0b;color:#fff;padding:0 13px;font-size:16px;letter-spacing:.04em}.cloud-key-field button{min-width:70px}
.cloud-key-help{display:grid;grid-template-columns:72px 1fr;gap:7px 10px;margin:14px 0;padding:12px;border:1px solid #33372e;border-radius:12px;background:#11130f;font-size:10px;line-height:1.55}.cloud-key-help b{color:#d6bf87}.cloud-key-help span{color:#9ea294;overflow-wrap:anywhere}
.cloud-key-result{min-height:42px;padding:11px 12px;border:1px solid #3d4137;border-radius:11px;background:#10120e;color:#aeb1a4;font-size:11px;line-height:1.55}.cloud-key-result.checking{border-color:#6d633c;color:#d9c886}.cloud-key-result.good{border-color:#3f7352;background:rgba(30,83,52,.18);color:#9be0b3}.cloud-key-result.error{border-color:#814646;background:rgba(105,35,35,.16);color:#efaaa5}
.cloud-key-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.cloud-key-actions button{min-height:42px}
@media(max-width:620px){.cloud-key-dialog{padding:20px 15px}.cloud-key-actions{display:grid;grid-template-columns:1fr}.cloud-key-field>div{grid-template-columns:1fr auto}.cloud-key-help{grid-template-columns:1fr}.cloud-key-help b{margin-top:3px}}

/* v18.8.26: reading mode action/status fix */
.mode-status{margin:9px 2px 0!important;padding:9px 10px;border-radius:9px;background:rgba(255,255,255,.055);color:#c8c0af!important;line-height:1.5}.mode-status.good{background:rgba(56,117,78,.18);color:#cdebd5!important}.mode-status.warn{background:rgba(133,103,43,.18);color:#ead39f!important}.mode-status.error{background:rgba(137,68,68,.2);color:#f2b9b3!important}.segmented button[aria-pressed="true"]{background:#f4ead6;color:#191711;font-weight:800}.segmented button.mode-needs-data{outline:1px dashed rgba(229,184,94,.55);color:#e7cb91}.simple-icon-btn[aria-expanded="true"]{background:#f4ead6!important;color:#191711!important}

/* v18.8.28 playlist apply + player fix */
.playlist-workflow{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #57523f;background:linear-gradient(180deg,#1d1e18,#151611);border-radius:14px}.playlist-workflow-copy{min-width:0}.playlist-workflow-copy small{display:block;color:var(--gold2);font-size:9px;letter-spacing:.16em;font-weight:800}.playlist-workflow-copy b{display:block;margin-top:3px;font-size:14px}.playlist-workflow-copy span{display:block;margin-top:4px;color:#aeb1a3;font-size:11px}.playlist-workflow-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.playlist-count{font-size:11px;color:#aeb1a3;padding:7px 9px;border:1px solid #3a3c31;border-radius:9px;background:#10110d}.playlist-count b{color:var(--gold2)}.playlist-workflow button:disabled{opacity:.45;cursor:not-allowed;transform:none}.track-row{grid-template-columns:32px 36px minmax(220px,1fr) 132px 86px 206px}.page-map input{width:78px}.page-map span{font-size:10px;color:#aeb1a3;white-space:nowrap}.row-actions .select-track{padding-left:9px;padding-right:9px;color:#f3ddb0;border-color:#6d6248}.track-row.current .select-track{background:#c9ae73;color:#18170f;border-color:#e1c98e}.playerbar{z-index:8}.now-playing b{color:#f0dfb9}@media(max-width:1050px){.playlist-workflow{align-items:flex-start;flex-direction:column}.playlist-workflow-actions{justify-content:flex-start}.track-row{grid-template-columns:28px 30px minmax(150px,1fr) 120px 74px}.track-row .row-actions{grid-column:3/-1;justify-content:flex-start}}@media(max-width:720px){.playlist-workflow-actions button{flex:1}.track-row{grid-template-columns:28px 28px minmax(130px,1fr) 112px}.page-map input{width:72px}.row-actions{grid-column:3/-1}}


/* v18.8.29: mode-player sync + global loading feedback */
.global-task-loader{position:fixed;inset:0;z-index:9000;display:grid;place-items:start center;padding:18px;background:rgba(0,0,0,.28);pointer-events:none}.global-task-loader[hidden]{display:none!important}.global-task-card{pointer-events:none;margin-top:58px;width:min(720px,94vw);display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:14px 16px;border:1px solid rgba(221,196,135,.42);border-radius:15px;background:rgba(19,20,16,.96);box-shadow:0 18px 48px rgba(0,0,0,.4);backdrop-filter:blur(12px);color:#f5ecd9}.global-task-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.16);border-top-color:#d9bd7d;animation:globalTaskSpin .8s linear infinite;grid-row:1/3}.global-task-copy{display:grid;gap:3px;min-width:0}.global-task-copy b{font-size:13px}.global-task-copy span{font-size:10px;color:#b8b3a5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-task-time{display:grid;gap:2px;text-align:right}.global-task-time b{font-size:10px;color:#f0dca8}.global-task-time span{font-size:9px;color:#9ea294}.global-task-progress{grid-column:2/4;height:5px;border-radius:99px;overflow:hidden;background:#2a2c24}.global-task-progress i{display:block;width:5%;height:100%;border-radius:99px;background:linear-gradient(90deg,#b99a58,#eed494);transition:width .25s ease}@keyframes globalTaskSpin{to{transform:rotate(360deg)}}
.player-mode-banner{margin:10px 0 -2px;padding:7px 10px;border-radius:9px;border:1px solid #3c4034;background:#11130f;color:#bfc1b4;font-size:10px}.playerbar.mode-ebook .now-playing small::after{content:' · ELECTRONIC BOOK'}.playerbar.mode-audio .now-playing small::after{content:' · AUDIO'}.playerbar.mode-hybrid .now-playing small::after{content:' · BOOK + AUDIO'}
@media(max-width:680px){.global-task-card{grid-template-columns:32px minmax(0,1fr);margin-top:46px}.global-task-time{grid-column:2;text-align:left;display:flex;gap:10px}.global-task-progress{grid-column:1/3}.global-task-copy span{white-space:normal}.global-task-loader{padding:10px}}
@media(prefers-reduced-motion:reduce){.global-task-spinner{animation:none}}

/* v18.8.34 Drive -> D1 sync status */
.d1-sync-status{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;margin:10px 0 14px;padding:12px 14px;border:1px solid #435063;border-radius:12px;background:#111820;color:#dfe8f4}.d1-sync-copy{display:grid;gap:3px;min-width:0}.d1-sync-copy small{font-size:9px;letter-spacing:.14em;color:#84aee6}.d1-sync-copy b{font-size:14px}.d1-sync-copy em{font-size:11px;font-style:normal;color:#9cabbc}.d1-sync-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.d1-sync-metrics span{border:1px solid #334155;border-radius:999px;padding:5px 8px;font-size:10px;white-space:nowrap}.d1-sync-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.d1-sync-status.good{border-color:#355c4c;background:#101a16}.d1-sync-status.warn{border-color:#7b6636;background:#1a1710}.d1-sync-status.error{border-color:#7d4141;background:#1d1212}.d1-sync-status.running{border-color:#456b95;background:#111a25}.d1-sync-status.running #d1SyncTitle:after{content:' …';animation:d1pulse 1s steps(3,end) infinite}@keyframes d1pulse{50%{opacity:.35}}@media(max-width:850px){.d1-sync-status{grid-template-columns:1fr}.d1-sync-metrics,.d1-sync-actions{justify-content:flex-start}}

/* v18.8.38 PDF recovery overlay */
.pdf-stage{position:relative}.pdf-inline-error{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:rgba(13,13,11,.82);padding:20px}.pdf-inline-error[hidden]{display:none!important}.pdf-inline-error>div{max-width:560px;padding:22px 24px;border:1px solid #7f6b42;border-radius:16px;background:#f7f2e7;color:#26241d;box-shadow:0 18px 50px rgba(0,0,0,.45);text-align:center}.pdf-inline-error b{display:block;font-size:18px;margin-bottom:9px}.pdf-inline-error span{display:block;line-height:1.55;margin-bottom:14px;color:#5e584a}.pdf-inline-error button{background:#315f9b;color:#fff;border-color:#4d78ae}

/* v18.8.38 - stable mode switching + chapter synchronized navigation */
.simple-chapter-nav{pointer-events:auto;display:grid;grid-template-columns:auto minmax(150px,320px) auto;gap:6px;align-items:center;max-width:520px;margin:18px auto 0;padding:5px 7px;border:1px solid rgba(229,208,154,.32);background:rgba(20,18,14,.82);border-radius:999px;backdrop-filter:blur(16px);box-shadow:0 8px 24px rgba(0,0,0,.24)}
.simple-chapter-nav[hidden]{display:none!important}.simple-chapter-nav button,.simple-chapter-nav select{height:32px;border:1px solid rgba(255,255,255,.12);background:#1d1b16;color:#f5eddc;border-radius:999px;font:inherit}.simple-chapter-nav button{padding:0 12px;font-size:11px;cursor:pointer}.simple-chapter-nav button:disabled{opacity:.35;cursor:default}.simple-chapter-nav select{width:100%;padding:0 12px;font-size:11px;outline:none}.simple-chapter-nav select:focus{border-color:#d8c28b}
@media(max-width:720px){.simple-chapter-nav{max-width:calc(100vw - 28px);grid-template-columns:54px minmax(0,1fr) 54px;margin-top:17px}.simple-chapter-nav button{padding:0 6px}.simple-chapter-nav select{font-size:10px;padding:0 8px}}

.player-chapter-nav{margin:8px 0 0;display:grid;grid-template-columns:auto auto minmax(180px,340px) auto;gap:7px;align-items:center;padding:8px 10px;border:1px solid #3b3d32;background:#11120e;border-radius:10px}.player-chapter-nav[hidden]{display:none!important}.player-chapter-nav>b{font-size:10px;color:#d9c58f;letter-spacing:.04em}.player-chapter-nav button,.player-chapter-nav select{height:34px;border:1px solid #45483b;background:#20221b;color:#eee9da;border-radius:8px}.player-chapter-nav button{padding:0 10px}.player-chapter-nav select{padding:0 9px;min-width:0}.player-chapter-nav button:disabled{opacity:.35}.player-chapter-nav select:focus{outline:1px solid #c9ae73}@media(max-width:720px){.player-chapter-nav{grid-template-columns:1fr 1fr}.player-chapter-nav>b{grid-column:1/-1}.player-chapter-nav select{grid-column:1/-1;grid-row:2}.player-chapter-nav #playerPrevChapter{grid-row:3}.player-chapter-nav #playerNextChapter{grid-row:3}}


/* v18.8.38 - balanced book spread + large chapter navigation ---------------- */
body.simple-ui.view-spread:not(.advanced-open) .reader-wrap{
  width:min(96vw,112vh);
  max-width:1400px;
  margin:10px auto 0;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage{
  width:100%;
  aspect-ratio:1.42/1;
  min-height:0!important;
  max-height:none!important;
  grid-template-columns:minmax(0,1fr) 6px minmax(0,1fr)!important;
  gap:0!important;
  padding:10px 12px 12px!important;
  border-radius:12px!important;
  background:radial-gradient(ellipse at 50% 46%,#2a261d 0,#171711 58%,#0b0c09 100%)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-underlay{
  left:10px!important;right:10px!important;top:8px!important;bottom:8px!important;
  border-radius:8px!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .book-spine{
  width:6px!important;
  min-width:6px!important;
  background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(128,102,66,.25) 42%,rgba(255,255,255,.08) 50%,rgba(81,61,37,.24) 58%,rgba(0,0,0,.58))!important;
  box-shadow:inset 0 0 4px rgba(0,0,0,.75),0 0 5px rgba(0,0,0,.25)!important;
  z-index:5!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage .page-panel{
  min-height:0!important;
  height:100%!important;
  background:#fbf7ec!important;
  border-radius:2px!important;
  box-shadow:0 8px 16px rgba(0,0,0,.18),inset 0 0 18px rgba(91,68,27,.045)!important;
  transform:none!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage{
  border-radius:5px 1px 1px 5px!important;
  box-shadow:0 8px 16px rgba(0,0,0,.18),inset -10px 0 14px -14px rgba(35,25,10,.26),inset 0 0 18px rgba(91,68,27,.04)!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage{
  border-radius:1px 5px 5px 1px!important;
  box-shadow:0 8px 16px rgba(0,0,0,.18),inset 10px 0 14px -14px rgba(35,25,10,.26),inset 0 0 18px rgba(91,68,27,.04)!important;
}
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #leftPage::after,
body.simple-ui.view-spread:not(.advanced-open) .pdf-stage #rightPage::before{
  width:8px!important;
  opacity:.55!important;
}
body.simple-ui.view-spread:not(.advanced-open) .page-panel canvas,
body.simple-ui.view-spread:not(.advanced-open) .page-panel iframe{
  width:100%!important;height:100%!important;min-height:0!important;
}
body.simple-ui.view-spread:not(.advanced-open) .book-edge-nav{
  width:44px;height:76px;border-radius:22px;background:rgba(22,21,17,.72);backdrop-filter:blur(8px);
}

.simple-chapter-quick{
  display:flex;
  gap:8px;
  width:min(92vw,980px);
  margin:8px auto 0;
  padding:4px 2px 8px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#7d6b45 transparent;
  scroll-snap-type:x proximity;
}
.simple-chapter-quick[hidden]{display:none!important}
.chapter-quick-btn{
  flex:0 0 auto;
  min-width:64px;
  height:42px;
  padding:0 15px;
  border-radius:12px;
  border:1px solid rgba(229,208,154,.26);
  background:#1c1b16;
  color:#eee6d7;
  font-weight:750;
  font-size:13px;
  scroll-snap-align:center;
}
.chapter-quick-btn.active{
  background:linear-gradient(180deg,#ddc58e,#b89b63);
  border-color:#ecd39a;
  color:#17150f;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
#chapterAutoAdvanceToggle.active{background:linear-gradient(180deg,#526a56,#394b3d);border-color:#78947e;color:#f4f6ed;font-weight:800}

@media(max-width:900px){
  body.simple-ui.view-spread:not(.advanced-open) .reader-wrap{width:min(98vw,108vh)}
  .simple-chapter-nav{grid-template-columns:88px minmax(0,1fr) 88px;max-width:calc(100vw - 20px);margin-top:12px}
  .simple-chapter-nav button{height:42px!important;font-size:12px!important;font-weight:750!important}
  .simple-chapter-nav select{height:42px!important;font-size:12px!important}
  .simple-chapter-quick{width:calc(100vw - 20px);gap:7px;padding-bottom:10px}
  .chapter-quick-btn{min-width:70px;height:46px;font-size:14px;padding:0 16px}
}
@media(max-width:720px){
  .simple-chapter-nav{grid-template-columns:82px minmax(0,1fr) 82px!important}
  .simple-chapter-nav button{padding:0 8px!important}
  .simple-chapter-nav select{font-size:12px!important;padding:0 8px!important}
  .chapter-quick-btn{min-width:72px;height:48px;font-size:14px}
}


/* v18.8.41 public/viewer mode: reading only, no administration */
html.viewer-mode #quickAddMaterial,
html.viewer-mode #quickStepAdd,
html.viewer-mode #quickStepMode,
html.viewer-mode #quickStepStart,
html.viewer-mode .quick-steps,
html.viewer-mode #quickSetupModal,
html.viewer-mode #driveBrowserModal,
html.viewer-mode #cloudKeyModal,
html.viewer-mode #simpleDriveBtn,
html.viewer-mode #simplePdfBtn,
html.viewer-mode #simpleAdvancedBtn,
html.viewer-mode #simpleNotesBtn,
html.viewer-mode #simpleStatsBtn,
html.viewer-mode #drivePanel,
html.viewer-mode #uploadPanel,
html.viewer-mode .advanced-app,
html.viewer-mode .app-shell > header,
html.viewer-mode .app-shell .bookshelf-panel,
html.viewer-mode #pdfInput,
html.viewer-mode #audioInput { display:none !important; }
html.viewer-mode .quick-current-actions #quickContinue{display:inline-flex!important}
html.viewer-mode .quick-current-card{max-width:1040px;margin-inline:auto}
html.viewer-mode .quick-home-head small::after{content:' · VIEWER';color:#d8bd7a;margin-left:.45rem}
html.viewer-mode #simpleDrawer .drawer-section:has(#simpleDriveBtn),
html.viewer-mode #simpleDrawer .drawer-section:has(#simpleAdvancedBtn){display:none!important}
@media(max-width:720px){html.viewer-mode .quick-mode-grid{grid-template-columns:1fr}html.viewer-mode .quick-current-card{padding:18px}}


/* v18.8.41 public sharing controls */
.quick-public-toggle{border-color:#6d8b69!important}.quick-public-toggle.active{background:#1f5b38!important;color:#fff!important;border-color:#72c28d!important}.quick-public-count{display:inline-flex;align-items:center;padding:0 10px;border:1px solid #3b3b31;border-radius:999px;font-size:12px;color:#cfc6ac}.book-public-toggle{position:absolute;left:10px;bottom:10px;z-index:6;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#241d18;border:1px solid #5a5240;color:#d6cdb5}.book-public-toggle.on{background:#17462e;border-color:#5fa879;color:#d9ffe5}.book-card.public-on{box-shadow:0 0 0 1px rgba(95,168,121,.35),0 16px 35px rgba(0,0,0,.24)}

/* Public viewer first screen: covers first, almost no controls. */
html.viewer-mode .quick-current-card,html.viewer-mode .quick-library-details>summary,html.viewer-mode .simple-library-tools,html.viewer-mode .simple-library-tip{display:none!important}
html.viewer-mode #quickLibraryDetails{display:block!important;border:0!important;padding:0!important;margin:0!important}
html.viewer-mode .quick-home{min-height:100vh;max-width:1180px;margin:auto;padding:32px 18px 54px;background:radial-gradient(circle at 50% 0%,rgba(116,87,47,.16),transparent 42%)}
html.viewer-mode .quick-home-head{text-align:center;margin:0 auto 28px;max-width:720px}
html.viewer-mode .quick-home-head small{letter-spacing:.22em;color:#bba571}
html.viewer-mode .quick-home-head h1{font-size:clamp(32px,7vw,58px);margin:.25em 0 .15em}
html.viewer-mode .quick-home-head p{font-size:15px;color:#b8b1a4}
html.viewer-mode .public-mobile-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,220px));gap:28px;justify-content:center;align-items:start;padding:12px 0 40px}
html.viewer-mode .public-mobile-book{appearance:none;border:0;background:transparent;color:inherit;text-align:center;padding:0;cursor:pointer;min-width:0}
html.viewer-mode .public-mobile-cover{width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;box-shadow:0 22px 46px rgba(0,0,0,.48),0 0 0 1px rgba(220,196,139,.22);transition:.18s transform,.18s box-shadow;background:#211d17}
html.viewer-mode .public-mobile-book:hover .public-mobile-cover,html.viewer-mode .public-mobile-book:focus-visible .public-mobile-cover{transform:translateY(-5px) scale(1.015);box-shadow:0 28px 56px rgba(0,0,0,.58),0 0 0 2px rgba(220,196,139,.46)}
html.viewer-mode .public-mobile-cover canvas{width:100%!important;height:100%!important;object-fit:cover;display:block}
html.viewer-mode .public-mobile-book h3{font-size:16px;line-height:1.35;margin:12px 4px 4px;color:#f1eadb;white-space:normal}
html.viewer-mode .public-mobile-book>span{font-size:12px;color:#ad9f83}
html.viewer-mode .public-library-empty{grid-column:1/-1;text-align:center;padding:64px 20px;border:1px dashed #544b3b;border-radius:20px;color:#c8bfaa}.public-library-empty b,.public-library-empty span{display:block}.public-library-empty span{margin-top:8px;color:#8f8779}
@media(max-width:600px){html.viewer-mode .quick-home{padding:20px 12px 44px}html.viewer-mode .quick-home-head{margin-bottom:20px}html.viewer-mode .public-mobile-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding-inline:2px}html.viewer-mode .public-mobile-book h3{font-size:14px}html.viewer-mode .book-preview-layout{grid-template-columns:1fr!important}html.viewer-mode .book-preview-cover{max-width:180px;margin:auto}}
@media(max-width:360px){html.viewer-mode .public-mobile-library{grid-template-columns:1fr;max-width:220px;margin:auto}}

.quick-public-meta,.quick-public-qr{white-space:nowrap}
.public-meta-card{max-width:620px}.public-meta-form{display:grid;gap:14px;margin-top:14px}.public-meta-form label{display:grid;gap:6px}.public-meta-form input,.public-meta-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(150,126,86,.45);border-radius:10px;background:rgba(21,19,16,.85);color:#f2eadb;padding:11px 12px;font:inherit}.public-meta-form textarea{resize:vertical}.public-meta-form p{font-size:12px;color:#ad9f83;margin:0}.public-qr-card{max-width:520px}.public-qr-body{display:grid;justify-items:center;gap:16px;padding:20px 8px}.public-qr-body img{width:min(72vw,320px);height:auto;background:#fff;border-radius:12px;padding:12px}.public-qr-body a{color:#d8c18c;word-break:break-all;text-align:center}.public-qr-missing{padding:24px;text-align:center;color:#c8bda8;border:1px dashed rgba(200,180,135,.35);border-radius:12px}
html.viewer-mode .public-mobile-book{display:flex;flex-direction:column;align-items:stretch}
html.viewer-mode .public-mobile-author{font-size:12px;color:#d5c39d;margin:2px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.viewer-mode .public-mobile-intro{font-size:12px;line-height:1.45;color:#9f9584;margin:6px 4px 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
html.viewer-mode .public-mobile-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;font-size:11px;color:#bcae91;margin:0 4px}
html.viewer-mode .public-mobile-resume{font-size:11px;color:#d8c18c;margin:7px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){html.viewer-mode .public-mobile-intro{font-size:11px}html.viewer-mode .public-mobile-meta{font-size:10px}.quick-primary-actions{gap:7px}.quick-public-meta,.quick-public-qr{font-size:12px;padding-inline:9px}}
\n\n/* v18.8.42 PUBLIC BOOKSTORE + SHARE + PER-BOOK QR ---------------- */
html.viewer-mode .quick-home{max-width:1240px;padding:38px 22px 64px;background:radial-gradient(circle at 50% -5%,rgba(184,145,78,.16),transparent 34%),linear-gradient(180deg,#12110e 0%,#17140f 52%,#0e0d0b 100%)!important}
html.viewer-mode .quick-home-head{max-width:820px;margin-bottom:34px}
html.viewer-mode .quick-home-head small{font-size:11px;letter-spacing:.28em;color:#d0b277;text-transform:uppercase}
html.viewer-mode .quick-home-head h1{font-family:Georgia,"Noto Serif KR",serif;font-weight:650;letter-spacing:.02em;color:#f6eddb;text-shadow:0 10px 28px rgba(0,0,0,.45)}
html.viewer-mode .quick-home-head p{max-width:680px;margin:10px auto 0;line-height:1.7;color:#a99f8d}
html.viewer-mode .public-mobile-library{grid-template-columns:repeat(auto-fit,minmax(210px,248px));gap:30px 22px;align-items:stretch}
html.viewer-mode .public-mobile-book{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(211,182,126,.16);border-radius:18px;background:linear-gradient(180deg,rgba(39,34,26,.72),rgba(22,19,15,.82));box-shadow:0 16px 40px rgba(0,0,0,.22);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
html.viewer-mode .public-mobile-book:hover{transform:translateY(-4px);border-color:rgba(222,190,126,.34);box-shadow:0 26px 55px rgba(0,0,0,.34)}
html.viewer-mode .public-book-open{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:14px 14px 8px;cursor:pointer;display:flex;flex-direction:column;flex:1;min-width:0}
html.viewer-mode .public-mobile-cover{border-radius:7px 13px 13px 7px;box-shadow:0 18px 38px rgba(0,0,0,.45),0 0 0 1px rgba(220,196,139,.18);position:relative}
html.viewer-mode .public-book-open:hover .public-mobile-cover,html.viewer-mode .public-book-open:focus-visible .public-mobile-cover{transform:translateY(-3px) perspective(900px) rotateY(-1deg);box-shadow:0 24px 48px rgba(0,0,0,.56),0 0 0 1px rgba(230,203,144,.42)}
html.viewer-mode .public-format-badge{position:absolute;z-index:7;left:10px;bottom:10px;font-style:normal;font-size:9px;letter-spacing:.06em;padding:5px 8px;border-radius:999px;background:rgba(16,13,10,.78);color:#ead6aa;border:1px solid rgba(236,210,155,.28);backdrop-filter:blur(6px)}
html.viewer-mode .public-book-copy{padding:4px 3px 6px;display:flex;flex-direction:column;flex:1}
html.viewer-mode .public-mobile-book h3{font-family:Georgia,"Noto Serif KR",serif;font-size:17px;margin:13px 0 4px;line-height:1.4;color:#f5ecdc;text-align:left}
html.viewer-mode .public-mobile-author{font-size:11px;color:#ceb986;margin:0 0 7px;text-align:left}
html.viewer-mode .public-mobile-intro{font-size:11px;line-height:1.6;color:#a89f90;margin:0 0 10px;min-height:3.3em;-webkit-line-clamp:2;text-align:left}
html.viewer-mode .public-mobile-meta{justify-content:flex-start;gap:6px;margin:0 0 5px;text-align:left}
html.viewer-mode .public-mobile-meta span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);font-size:9px;color:#beb39f}
html.viewer-mode .public-mobile-resume{margin-top:auto;padding-top:8px;font-size:10px;text-align:left;color:#d8c18c}
html.viewer-mode .public-book-actions{display:grid;grid-template-columns:1.25fr repeat(3,.8fr);gap:5px;padding:9px 10px 11px;border-top:1px solid rgba(255,255,255,.06);background:rgba(8,7,6,.26)}
html.viewer-mode .public-book-actions button{min-width:0;padding:8px 5px;border:1px solid rgba(211,182,126,.16);border-radius:9px;background:#171510;color:#bfb5a2;font-size:9px;white-space:nowrap;cursor:pointer}
html.viewer-mode .public-book-actions .public-open-action{background:linear-gradient(180deg,#d5ba80,#aa8b53);color:#17140f;border-color:#e1ca98;font-weight:900}
html.viewer-mode .public-book-actions button:hover{border-color:rgba(224,193,132,.45);color:#f4e8d2}
html.viewer-mode .public-book-actions .public-open-action:hover{color:#17140f}
html.viewer-mode .public-qr-card #publicQrTitle{font-family:Georgia,"Noto Serif KR",serif}
@media(max-width:720px){html.viewer-mode .quick-home{padding:24px 12px 50px!important}html.viewer-mode .quick-home-head{margin-bottom:24px}html.viewer-mode .quick-home-head h1{font-size:clamp(29px,9vw,42px)}html.viewer-mode .public-mobile-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}html.viewer-mode .public-mobile-book{border-radius:13px}html.viewer-mode .public-book-open{padding:9px 9px 6px}html.viewer-mode .public-mobile-book h3{font-size:13px;margin-top:9px}html.viewer-mode .public-mobile-author{font-size:9px}html.viewer-mode .public-mobile-intro{font-size:9px;line-height:1.5;min-height:3em}html.viewer-mode .public-mobile-meta span{font-size:8px;padding:3px 5px}html.viewer-mode .public-mobile-resume{font-size:9px}html.viewer-mode .public-book-actions{grid-template-columns:1fr 1fr;padding:7px;gap:5px}html.viewer-mode .public-book-actions button{font-size:9px;padding:7px 4px}}
@media(max-width:370px){html.viewer-mode .public-mobile-library{grid-template-columns:1fr;max-width:250px;margin-inline:auto}}
