:root{--paper:#f4f0e7;--page:#fffdf7;--ink:#171512;--text:#4a453c;--muted:#7a7267;--line:#ddd3c1;--line-strong:#c9b99b;--green:#1f4b2c;--soft-green:#e8efdf;--serif:"Noto Serif KR", "Nanum Myeongjo", Georgia, "Times New Roman", serif;--sans:Inter, Pretendard, "Segoe UI", system-ui, sans-serif;color:var(--text);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #1f4b2c5c}p{margin:0}#root{min-height:100vh}.home-app{background:radial-gradient(circle at 0 0,#c6b89629,#0000 24%),linear-gradient(#fffcf6eb,#f4f0e7fa);min-height:100vh}.home-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#fcf9f2f0;border-bottom:1px solid #a2927129;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:72px;padding:0 32px;display:grid;position:sticky;top:0}.home-brand,.home-nav button,.home-icon-shell,.home-login-shell,.home-search-box button{background:0 0;border:0}.home-brand{color:var(--ink);cursor:pointer;font:800 27px/1 var(--serif);text-align:left;padding:8px 0}.home-nav{justify-content:center;align-items:center;gap:34px;display:flex}.home-nav button{color:#3d3b36;cursor:pointer;padding:0;font-size:15px;font-weight:700}.home-nav button.active{color:var(--ink)}.home-actions{align-items:center;gap:14px;display:inline-flex}.home-icon-shell,.home-login-shell{height:42px;color:var(--ink);border:1px solid #75674a24;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.home-icon-shell{width:42px}.home-login-shell{background:var(--green);color:#fff;gap:6px;min-width:104px;padding:0 16px;font-size:14px;font-weight:760}.home-main{width:min(1220px,100vw - 56px);margin:0 auto;padding:34px 0 72px;position:relative}.home-flourish{opacity:.28;pointer-events:none;width:132px;height:360px;position:absolute;top:48px;left:-92px}.home-flourish:before,.home-flourish:after{content:"";border-left:1px solid #ab97787a;border-radius:100px;position:absolute;inset:0}.home-flourish:after{border-top:1px solid #ab97787a;border-bottom:1px solid #ab97787a;border-left:0;border-radius:120px 0 0 120px;width:74px;height:270px;inset:20px 0 0 26px}.home-section{position:relative}.home-section+.home-section{margin-top:46px}.home-section-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.home-section-head.compact{align-items:start}.home-section-head h1,.home-section-head h2{color:var(--ink);font-family:var(--serif);letter-spacing:0;margin:0}.home-section-head h1{font-size:42px;line-height:1.08}.home-section-head h2{font-size:30px;line-height:1.14}.home-section-head p{max-width:440px;color:var(--muted);line-height:1.65}.section-kicker{color:var(--green);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:780;display:inline-block}.home-alert,.upload-placeholder,.empty-home-state{background:#fffdf7e0;border:1px solid #7c6c4b26;border-radius:10px;padding:18px 20px}.home-alert{margin-bottom:24px}.home-alert strong,.upload-placeholder strong{color:var(--ink);margin-bottom:6px;display:block}.home-alert p,.upload-placeholder p,.empty-home-state p{color:var(--muted);line-height:1.6}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.shelf-top-section{margin-bottom:28px}.featured-book-card,.continue-card,.home-book-card,.preview-card{color:inherit;cursor:pointer;text-align:left;background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;padding:18px;box-shadow:0 18px 46px #2e23120d}.featured-book-card{grid-template-columns:168px minmax(0,1fr);align-items:center;gap:22px;min-height:282px;display:grid}.featured-cover,.continue-cover,.home-book-cover,.preview-cover{background:var(--cover);border-radius:7px;display:block;box-shadow:0 18px 32px #1d170e1f,inset 0 0 0 1px #0000002e}.featured-cover{width:168px;height:236px}.featured-copy,.continue-copy,.home-book-copy,.preview-copy{flex-direction:column;min-width:0;display:flex}.featured-copy strong,.continue-copy strong,.home-book-copy strong,.preview-copy strong{color:var(--ink);font-family:var(--serif);font-size:29px;line-height:1.18}.featured-copy small,.continue-copy small,.home-book-copy small,.preview-copy small{color:var(--muted);margin-top:8px;font-size:14px}.featured-copy span{color:var(--text);margin-top:18px;line-height:1.7}.featured-rank{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-style:normal;font-weight:800}.featured-stats,.classic-card-stats{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.featured-stats span,.classic-card-stats span{color:var(--green);background:#f3eee4e6;border:1px solid #4f422a1f;border-radius:999px;align-items:center;gap:5px;margin-top:0;padding:4px 9px;font-size:12px;font-weight:740;display:inline-flex}.continue-card{grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.continue-cover{width:108px;height:148px}.continue-copy strong{font-size:27px}.continue-copy span{color:var(--green);margin-top:10px;font-size:14px;font-weight:700}.continue-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.home-shelf-tabs{border-bottom:1px solid #8e7a5533;align-items:center;gap:6px;margin-bottom:18px;display:inline-flex}.home-shelf-tabs button,.shelf-mode-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 4px;font-size:15px;font-weight:760}.home-shelf-tabs button.active,.shelf-mode-tabs button.active{border-bottom-color:var(--green);color:var(--ink)}.home-search-box{width:min(420px,100%);height:44px;color:var(--muted);background:#fffef9eb;border:1px solid #7e705429;border-radius:999px;align-items:center;gap:9px;margin:0 0 20px auto;padding:0 14px;display:flex}.home-search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.home-search-box button{color:var(--muted);cursor:pointer;padding:0}.classic-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.classic-controls .home-search-box{margin:0}.classic-sort-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.classic-sort-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:#fffef9e6;border:1px solid #7e705424;border-radius:999px;padding:0 14px;font-size:13px;font-weight:760}.classic-sort-tabs button.active{color:var(--green);background:#eef5eaeb;border-color:#314d2c38}.home-book-grid,.preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.home-book-card,.preview-card{flex-direction:column;gap:14px;min-height:100%;display:flex}.home-book-cover{aspect-ratio:.74;width:100%}.home-book-copy strong,.preview-copy strong{font-size:22px}.home-book-copy span,.home-book-copy em,.preview-copy p{color:var(--muted);margin-top:8px;font-size:13px;font-style:normal}.home-book-copy p{color:var(--text);margin-top:12px;line-height:1.62}.home-book-cover.compact{aspect-ratio:.72;width:52px;min-width:52px}.preview-cover{aspect-ratio:.82;width:100%}.preview-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.preview-tags span{color:var(--green);background:#f3eee4e6;border:1px solid #4f422a1f;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:740}.playlist-preview-card{gap:18px}.classic-author-groups{flex-direction:column;gap:26px;display:flex}.classic-author-group header{border-bottom:1px solid #8e7a5529;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;display:flex}.classic-author-group h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:24px}.classic-author-group span{color:var(--muted);font-size:13px}.playlist-preview-stack{min-height:174px;position:relative}.preview-cover.stacked{aspect-ratio:.72;width:54%;position:absolute}.preview-cover.stacked:first-child{top:18px;left:0}.preview-cover.stacked:nth-child(2){top:9px;left:22%}.preview-cover.stacked:nth-child(3){top:0;left:44%}.preview-cover.stacked.empty{background:linear-gradient(145deg,#ede6d8,#c6bca8);width:56%;position:relative;top:16px;left:0}.save-menu-backdrop{z-index:60;position:fixed;inset:0}.save-menu{background:#fffcf6fa;border:1px solid #7c6c4b29;border-radius:12px;width:min(340px,100vw - 24px);padding:16px;position:fixed;box-shadow:0 26px 54px #1c140a2e}.save-menu.sheet{width:min(420px,100vw - 20px);inset:auto auto 12px 50%;transform:translate(-50%)}.save-menu header,.save-menu-book,.save-menu-create label,.library-pane-head,.playlist-main,.playlist-actions,.playlist-book-main,.playlist-book-copy{align-items:center;display:flex}.save-menu header,.library-pane-head{justify-content:space-between;gap:12px}.save-menu header strong{color:var(--ink);font-size:16px;font-weight:800}.save-menu header button,.playlist-actions button,.playlist-select-button{cursor:pointer;background:0 0;border:0}.save-menu-book{gap:12px;margin-top:14px}.save-menu-book strong{color:var(--ink);display:block}.save-menu-book small{color:var(--muted);font-size:13px}.save-menu-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.save-menu-list button{color:var(--ink);cursor:pointer;text-align:left;background:#f9f5eccc;border:1px solid #7e705424;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.save-menu-list button:disabled{cursor:default;opacity:.62}.save-menu-list small,.save-menu-empty,.playlist-row small,.playlist-book-copy span,.library-pane-head p{color:var(--muted);font-size:13px}.save-menu-empty{margin:4px 0 0}.save-menu-create{border-top:1px solid #7e70541f;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.save-menu-create label{color:var(--ink);font-size:13px;font-weight:700}.save-menu-create div,.playlist-create-form{gap:8px;display:flex}.save-menu-create input,.playlist-create-form input,.playlist-main input{width:100%;color:var(--ink);background:#fffefaf0;border:1px solid #7e70542e;border-radius:10px;outline:0;min-height:42px;padding:0 12px}.save-menu-create button,.playlist-create-form button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;min-width:82px;padding:0 14px;font-size:14px;font-weight:760}.library-main{padding-bottom:88px}.mypage-overview-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);gap:18px;margin-bottom:22px;display:grid}.mypage-profile-card,.mypage-summary-card{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;padding:18px;box-shadow:0 18px 46px #2e23120d}.mypage-profile-card header,.mypage-summary-card{align-items:center;gap:14px;display:flex}.mypage-summary-card{justify-content:space-between}.mypage-avatar{width:46px;height:46px;color:var(--green);background:#25432b14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mypage-profile-card strong,.mypage-summary-card strong{color:var(--ink);display:block}.mypage-profile-card span,.mypage-summary-card p,.mypage-note{color:var(--muted);font-size:13px;line-height:1.6}.mypage-summary-card p{margin:6px 0 0}.mypage-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.mypage-profile-stats span{background:#f8f5ecdb;border:1px solid #7e70541f;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.mypage-profile-stats strong{font-size:20px}.mypage-profile-stats small{color:var(--muted);font-size:12px}.mypage-note{margin:12px 0 0}.mypage-works-section,.mypage-library-section{margin-top:28px}.admin-main{padding-bottom:88px}.admin-layout{flex-direction:column;gap:18px;display:flex}.admin-card,.admin-user-row{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;box-shadow:0 18px 46px #2e23120d}.admin-card{flex-direction:column;gap:16px;padding:18px;display:flex}.admin-card header,.admin-user-row,.admin-row-actions,.admin-badges,.admin-grant-form,.admin-search{align-items:center;gap:12px;display:flex}.admin-card header{justify-content:space-between}.admin-card strong,.admin-user-row strong{color:var(--ink);display:block}.admin-card span,.admin-user-row span,.admin-user-row small{color:var(--muted);font-size:13px;line-height:1.55}.admin-grant-form,.admin-search{width:min(560px,100%)}.admin-grant-form input,.admin-search input{width:100%;min-height:42px;color:var(--ink);background:#fffefaf0;border:1px solid #7e70542e;border-radius:10px;outline:0;padding:0 12px}.admin-search{color:var(--muted);background:#fffefaf0;border:1px solid #7e70542e;border-radius:999px;padding:0 14px}.admin-search input{background:0 0;border:0;padding:0}.admin-user-list{flex-direction:column;gap:10px;display:flex}.admin-user-row{justify-content:space-between;padding:14px}.admin-user-row>div:first-child{min-width:0}.admin-user-row>div:first-child span,.admin-user-row>div:first-child small{overflow-wrap:anywhere;display:block}.admin-badges span{color:var(--green);background:#2b3f241a;border-radius:999px;min-height:26px;padding:5px 10px;font-weight:780}.admin-badges span.danger{color:#8b3d32;background:#924b3d1f}.admin-row-actions{flex-wrap:wrap;justify-content:end}.library-layout{grid-template-columns:320px minmax(0,1fr);gap:22px;display:grid}.library-playlists,.library-books-stage{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;padding:18px;box-shadow:0 18px 46px #2e23120d}.library-pane-head h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:28px}.playlist-pane-head{flex-direction:column;align-items:flex-start}.playlist-pane-head .playlist-create-form{width:100%}.playlist-list,.playlist-book-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.playlist-row,.playlist-book-row{background:#f8f5ecdb;border:1px solid #7e70541f;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.playlist-row.active,.playlist-book-row{box-shadow:0 10px 28px #22190c0f}.playlist-main,.playlist-book-main{color:var(--ink);gap:12px;min-width:0}.playlist-main{flex:1}.playlist-main>span,.playlist-book-copy,.playlist-select-button{min-width:0}.playlist-select-button{color:inherit;text-align:left;flex-direction:column;gap:4px;display:flex}.playlist-select-button strong,.playlist-book-copy strong{color:var(--ink);font-size:15px;line-height:1.3;display:block}.playlist-book-main{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;padding:0}.playlist-book-copy{flex-direction:column;align-items:flex-start;gap:4px}.playlist-actions{gap:4px}.playlist-actions button{width:32px;height:32px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.playlist-actions button:hover,.playlist-select-button:hover{color:var(--ink)}.library-empty-state{margin-top:12px}.library-toast{color:#fff;z-index:64;background:#2c3829f5;border:1px solid #5c4c2e1f;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 44px #1518123d}.reader-app{background:linear-gradient(90deg, #48371f0d, transparent 18%, transparent 82%, #48371f0d), var(--paper);min-height:100vh}.reader-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;background:#f8f5edf0;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:10px 24px;display:flex;position:sticky;top:0}.brand-lockup{align-items:baseline;gap:14px;min-width:320px;display:flex}.brand-lockup button{cursor:pointer;color:var(--ink);font:800 28px/1 var(--serif);background:0 0;border:0;padding:6px 0}.brand-lockup span{color:var(--muted);font-size:13px}.topbar-tools{flex:1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.search-box{border:1px solid var(--line);background:var(--page);width:min(35vw,420px);min-width:220px;height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-box button,.font-controls button,.panel-toggle,.page-top button,.tool-card button,.delete-button,.page-note-card button,.margin-popover button{color:var(--ink);cursor:pointer;background:0 0;border:0}.font-controls,.panel-toggle{border:1px solid var(--line);background:var(--page);height:40px;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.font-controls span{text-align:center;min-width:42px;color:var(--muted);font-size:13px}.panel-toggle{font-weight:750}.workspace{grid-template-columns:282px minmax(0,1fr) 360px;min-height:calc(100vh - 68px);display:grid}.workspace.panel-hidden{grid-template-columns:282px minmax(0,1fr)}.library-pane{border-right:1px solid var(--line);background:#f4f0e7db;height:calc(100vh - 68px);padding:18px;position:sticky;top:68px;overflow:auto}.book-picker h2,.chapter-picker h2,.tool-card h2{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:850;display:flex}.book-picker-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.pane-caption{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.55}.shelf-mode-tabs{align-items:center;gap:12px;display:inline-flex}.chapter-picker{margin-top:24px}.chapter-picker h2{font-size:15px}.chapter-audio-card{background:#fcf9f2e6;border:1px solid #7e705424;border-radius:10px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.chapter-audio-card p{color:var(--ink);margin:0;font-size:12px;line-height:1.5}.chapter-audio-card audio{width:100%}.chapter-audio-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.chapter-audio-card-head span,.chapter-audio-card-head small{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.chapter-title-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.chapter-audio-badge{color:var(--muted);border:1px solid #7e705429;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 7px;font-size:10px;display:inline-flex}.book-list,.chapter-list,.page-note-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.book-list button,.chapter-list button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px}.book-list button{grid-template-columns:44px 1fr;gap:11px;padding:10px;display:grid}.chapter-list button{flex-direction:column;gap:3px;padding:9px 10px;display:flex}.book-list button.active,.chapter-list button.active{border-color:var(--line-strong);background:var(--page);box-shadow:0 8px 22px #31271614}.book-list strong{color:var(--ink);font-size:14px;line-height:1.25;display:block}.book-list small,.chapter-list small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.mini-cover{background:var(--cover);border-radius:4px;width:42px;height:58px;box-shadow:inset 0 0 0 1px #0000002e}.cover-austen{--cover:linear-gradient(145deg, #f2d9a7, #9a6b34)}.cover-frankenstein{--cover:linear-gradient(145deg, #203327, #71825f)}.cover-alice{--cover:linear-gradient(145deg, #24394d, #d2c290)}.cover-zarathustra{--cover:linear-gradient(145deg, #33251f, #8c5b45 48%, #d2b26d)}.cover-tragedy{--cover:linear-gradient(145deg, #2f2440, #7e5e4f 52%, #d9bb7a)}.cover-human{--cover:linear-gradient(145deg, #2d3131, #7f7260 52%, #d8c9af)}.cover-joy{--cover:linear-gradient(145deg, #1f3c52, #3a7084 48%, #d6bc7d)}.cover-beyond{--cover:linear-gradient(145deg, #1e2a35, #5b4a3f 52%, #c7aa75)}.cover-genealogy{--cover:linear-gradient(145deg, #362318, #70503f 48%, #ccb18c)}.cover-twilight{--cover:linear-gradient(145deg, #3e1f1f, #8e5e46 48%, #d1a36c)}.cover-ecce{--cover:linear-gradient(145deg, #30313d, #6f6b84 48%, #d5c6a0)}.chapter-list{max-height:54vh;padding-right:4px;overflow:auto}.book-stage{padding:28px 30px 64px;overflow:auto}.search-results{border:1px solid var(--line);background:#fffdf7f5;border-radius:10px;width:min(980px,100%);margin:0 auto 18px;overflow:hidden;box-shadow:0 18px 50px #3d2e1714}.search-results header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;display:flex}.search-results header strong{color:var(--ink)}.search-results header span,.empty-search{color:var(--muted);font-size:13px}.search-results div{max-height:280px;overflow:auto}.search-results button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;width:100%;padding:12px 14px}.search-results button:hover{background:#f5f1e5}.search-results strong{color:var(--green);margin-bottom:4px;display:block}.search-results span{color:var(--text);line-height:1.5}.empty-search{padding:16px 14px}.book-page{width:min(980px,100%);margin:0 auto}.book-header{justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:24px;display:flex}.book-header p{color:var(--muted);text-transform:uppercase;font-size:13px}.book-header h1{color:var(--ink);font:800 36px/1.12 var(--serif);margin:0}.book-header span{color:var(--muted);margin-top:8px;display:block}.book-header a,.reader-mode-panel>button,.reader-team-actions button{color:var(--green);white-space:nowrap;align-items:center;gap:6px;font-weight:800;text-decoration:none;display:inline-flex}.reader-mode-panel{flex-direction:column;align-items:flex-end;gap:9px;min-width:250px;display:flex}.reader-mode-tabs{border:1px solid var(--line);background:#f8f5edc2;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.reader-mode-tabs button,.reader-team-actions button{color:var(--muted);cursor:pointer;min-height:31px;font:800 12px/1 var(--sans);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 11px;display:inline-flex}.reader-mode-tabs button.active{background:var(--green);color:#fffdf5;box-shadow:0 8px 18px #234d2d2e}.reader-team-actions button{border:1px solid var(--line);background:#fffdf7db}.reader-mode-status{color:var(--muted);font-size:12px}.page-top{grid-template-columns:140px 1fr 140px;align-items:center;gap:20px;margin:0 0 18px;display:grid}.page-top div{text-align:center}.page-top p{color:var(--muted);font-size:13px}.page-top h2{color:var(--ink);font:800 25px/1.25 var(--serif);margin:4px 0 0}.page-top button{border:1px solid var(--line);background:#f8f5edb3;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:42px;display:inline-flex}.page-top button:disabled{opacity:.35;cursor:not-allowed}.page-sheet{background:var(--page);border:1px solid var(--line);min-height:calc(100vh - 240px);padding:52px 48px 56px;position:relative;overflow:visible;box-shadow:0 30px 80px #3d2e1714,inset 28px 0 46px #5b442208,inset -28px 0 46px #5b442206}.page-sheet.mode-draw{cursor:crosshair}.page-sheet.mode-draw.draw-tool-highlight{cursor:text}.page-sheet.draw-tool-eraser{cursor:cell}.page-sheet.mode-draw .page-text{-webkit-user-select:none;user-select:none;pointer-events:none}.page-sheet.mode-draw.draw-tool-highlight .page-text{-webkit-user-select:text;user-select:text;pointer-events:auto}.page-sheet.mode-draw .margin-pin,.page-sheet.mode-draw .margin-popover{pointer-events:none}.page-sheet-grid{z-index:2;grid-template-columns:86px minmax(0,1fr) 86px;gap:18px;min-height:100%;display:grid;position:relative}.page-margin{min-height:100%}.page-text{color:var(--ink);font-family:var(--serif);font-size:var(--reader-font-size);-webkit-user-select:text;user-select:text;line-height:1.9}.page-item-block{padding:4px 0 8px;position:relative}.reader-paragraph{color:var(--ink);margin:0}.reader-paragraph.heading{text-align:center;letter-spacing:.04em;padding:26px 0 6px;font-size:1.18em;font-weight:850}.flash-item{animation:1.1s flashParagraph}.color-yellow{--annotation:#f4dc5c;--annotation-soft:#f4dc5c6b;--annotation-line:#ad8d11}.color-green{--annotation:#9ed08f;--annotation-soft:#9ed08f57;--annotation-line:#4f8b43}.color-blue{--annotation:#9ec7e8;--annotation-soft:#9ec7e85c;--annotation-line:#3b78a3}.color-pink{--annotation:#ed9bb6;--annotation-soft:#ed9bb657;--annotation-line:#b85373}.color-purple{--annotation:#b8a3e6;--annotation-soft:#b8a3e657;--annotation-line:#7058a5}.color-orange{--annotation:#eba14d;--annotation-soft:#eba14d57;--annotation-line:#a96417}.color-gray{--annotation:#c9c1b2;--annotation-soft:#c9c1b26b;--annotation-line:#7b7061}.annot-mark{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;border-radius:3px;padding:1px 2px}.annot-mark.tool-highlight{background:var(--annotation-soft)}.annot-mark.tool-underline{text-decoration-line:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--annotation-line);text-decoration-color:var(--annotation-line);text-underline-offset:4px}.annot-mark.tool-tag{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--annotation-line);text-decoration-color:var(--annotation-line);text-underline-offset:4px}.annot-mark.active{box-shadow:0 0 0 2px #1d4a2947}.annot-mark.connected{box-shadow:0 0 0 2px #1d4a2933}.annot-mark.connect-candidate{outline-offset:2px;outline:2px dashed #1f4b2c6b}.inline-annotation{border-left:1px dashed var(--annotation-line);font-family:var(--sans);grid-template-columns:24px minmax(0,1fr) 32px;gap:8px;margin:8px 0 12px 20px;padding-left:14px;display:grid}.inline-annotation.readonly{grid-template-columns:24px minmax(0,1fr)}.thread-glyph{color:var(--annotation-line);font-weight:900;line-height:1.4}.annotation-content header{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.annotation-kind{border:1px solid var(--annotation-line);color:var(--green);background:#fffdf7cc;border-radius:999px;padding:2px 8px;font-weight:850}.annotation-author{color:var(--ink);font-weight:700}.annotation-content blockquote{color:var(--ink);font-family:var(--serif);margin:8px 0;line-height:1.6}.annotation-content p{color:var(--text);line-height:1.55}.annotation-engagement{border-top:1px solid #7e70541f;flex-direction:column;gap:10px;margin-top:10px;padding-top:10px;display:flex}.annotation-engagement-actions,.annotation-overlap-head,.annotation-comment-card header,.annotation-overlap-item header,.annotation-overlap-item footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.annotation-engagement-actions button,.annotation-overlap-sort button,.annotation-comment-card button{color:var(--muted);cursor:pointer;background:#fffef9eb;border:1px solid #7e705424;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;display:inline-flex}.annotation-engagement-actions button.active,.annotation-overlap-sort button.active{color:#a33a45;background:#fff0f2eb;border-color:#a33a453d}.annotation-engagement-actions span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.annotation-overlap-head strong{font-size:13px}.annotation-overlap-sort{align-items:center;gap:6px;display:inline-flex}.annotation-overlap-items,.annotation-comment-thread{flex-direction:column;gap:8px;display:flex}.annotation-overlap-item,.annotation-comment-card{background:#f8f5ecdb;border:1px solid #7e70541f;border-radius:10px;padding:10px 12px}.annotation-overlap-item blockquote,.annotation-overlap-item p,.annotation-comment-card p{margin:8px 0 0}.annotation-overlap-item footer,.annotation-comment-card time,.annotation-overlap-item span{color:var(--muted);font-size:12px}.annotation-comment-form{flex-direction:column;gap:8px;display:flex}.annotation-comment-form textarea{min-height:72px}.annotation-comment-form button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:999px;align-self:flex-end;align-items:center;gap:6px;min-height:34px;padding:0 12px;display:inline-flex}.concept-tag{background:var(--green);color:#fff;border-radius:999px;width:fit-content;margin-bottom:7px;padding:3px 9px;font-size:12px;display:inline-flex}.delete-button,.page-note-card button,.margin-popover button,.selection-summary button{border:1px solid var(--line);color:var(--muted);background:#fffdf7b8;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 10px;display:inline-flex}.delete-button{width:32px;padding:0}.delete-button:hover,.page-note-card button:hover,.margin-popover button:hover,.selection-summary button:hover{color:#9b3028;border-color:#d7b6ae}.drawing-canvas{z-index:4;pointer-events:none;color:#332a1ee6;width:100%;height:100%;display:block;position:absolute;inset:0}.drawing-canvas.active{pointer-events:auto}.drawing-canvas .drawing-shape{pointer-events:stroke;cursor:pointer}.drawing-canvas.active .drawing-shape{pointer-events:stroke}.drawing-line{color:var(--annotation-line)}.drawing-shape.active{filter:drop-shadow(0 0 .7px #1f4b2ccc)}.drawing-shape.connection .drawing-line{stroke-width:.42px}.drawing-shape.connection.active .drawing-line{filter:drop-shadow(0 0 .7px #1f4b2ccc)}.drawing-shape.draft{color:#1f4b2c8c}.margin-pin{z-index:6;border:1px solid var(--annotation-line);width:30px;height:30px;color:var(--annotation-line);cursor:pointer;touch-action:none;background:#fffdf7f2;border-radius:999px;place-items:center;margin:-15px 0 0 -15px;display:inline-grid;position:absolute;box-shadow:0 8px 20px #261f121f}.page-sheet.mode-margin .margin-pin{cursor:grab}.page-sheet.mode-margin .margin-pin:active{cursor:grabbing}.margin-pin.active,.margin-pin.pending{box-shadow:0 0 0 2px #1f4b2c38}.margin-pin.connected{box-shadow:0 0 0 2px #1f4b2c2e,0 8px 20px #261f121f}.margin-pin.connect-candidate{outline-offset:3px;outline:2px dashed #1f4b2c6b}.margin-popover{z-index:7;border:1px solid var(--annotation-line);background:linear-gradient(#fffdf7fa,#fcf8eefa);border-radius:10px;width:220px;padding:28px 12px 12px;position:absolute;box-shadow:0 18px 42px #2d231226}.margin-popover.left{margin-left:22px}.margin-popover.right{transform:translate(calc(-100% - 22px))}.margin-popover header{color:var(--muted);flex-wrap:wrap;gap:6px 10px;margin-bottom:8px;font-size:12px;display:flex}.margin-popover p{color:var(--text);margin-bottom:10px;line-height:1.6}.annotation-info-popover{flex-direction:column;gap:6px;min-width:0;padding-right:18px;display:flex}.annotation-info-popover header{color:var(--muted);font-family:var(--sans);flex-direction:column;gap:2px;font-size:11px;display:flex}.annotation-info-popover strong{color:var(--ink);font-size:12px}.annotation-info-popover button,.connection-memo-popover button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fffdf7d1;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:26px;padding:0 8px;font-size:12px;display:inline-flex}.tool-popover-close{z-index:2;width:22px;min-height:22px;color:var(--muted);cursor:pointer;background:#fffdf7e0;border:1px solid #7e70542e;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:absolute;top:6px;right:6px}.tool-popover-close:hover{color:#9b3028;border-color:#d7b6ae}.margin-popover .tool-popover-close,.page-side-popover .tool-popover-close{width:22px;min-height:22px;color:var(--muted);background:#fffdf7e0;border:1px solid #7e70542e;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:absolute;top:6px;right:6px}.connection-memo-pin{z-index:6;border:1px solid var(--line-strong);width:18px;height:18px;color:var(--green);cursor:pointer;background:#fffdf7f0;border-radius:999px;place-items:center;margin:0;display:inline-grid;position:absolute;box-shadow:0 8px 20px #261f121f}.connection-memo-pin.page-side-pin.left{transform:translate(calc(-100% - 8px),-50%)}.connection-memo-pin.page-side-pin.right{transform:translate(8px,-50%)}.connection-memo-pin.active{border-color:var(--green);box-shadow:0 0 0 2px #1f4b2c33,0 8px 20px #261f121f}.connection-menu-popover,.connection-memo-popover,.drawing-info-popover,.highlight-info-popover{z-index:8;border:1px solid var(--line-strong);background:#fffdf7fa;border-radius:10px;padding:28px 8px 8px;position:absolute;box-shadow:0 18px 42px #2d231229}.page-side-popover{width:min(190px,100vw - 72px);max-height:min(240px,58vh);font-family:var(--sans);overflow:auto}.page-side-popover.left{transform:translate(calc(-100% - 12px),-50%)}.page-side-popover.right{transform:translate(12px,-50%)}.connection-menu-popover{flex-direction:column;gap:6px;display:flex}.connection-menu-popover button:not(.tool-popover-close){border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;background:#fffdf7d1;border-radius:7px;min-height:30px;padding:0 10px}.connection-memo-popover{flex-direction:column;gap:7px;width:min(190px,100vw - 72px);display:flex}.connection-memo-popover form{flex-direction:column;gap:6px;display:flex}.connection-memo-popover textarea{border:1px solid var(--line);min-height:42px;max-height:88px;font:12px/1.45 var(--sans);resize:vertical;border-radius:8px;padding:7px}.drawing-info-popover,.highlight-info-popover{width:min(180px,100vw - 72px)}.highlight-tool-form{flex-direction:column;gap:10px;display:flex}.highlight-inline-delete{color:var(--muted);cursor:pointer;background:#fffdf7db;border:1px solid #7e705429;border-radius:999px;align-items:center;gap:5px;min-height:28px;margin:6px 0 4px;padding:0 10px;display:inline-flex}.highlight-inline-delete.annotation-info-popover{display:flex}.highlight-inline-delete:hover{color:#9b3028;border-color:#d7b6ae}.tool-pane{border-left:1px solid var(--line);background:#faf8f2e6;flex-direction:column;gap:14px;height:calc(100vh - 68px);padding:18px;display:flex;position:sticky;top:68px;overflow:auto}.tool-card{border:1px solid var(--line);background:#fffdf7db;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.tool-card blockquote{border-left:3px solid var(--line-strong);color:var(--ink);font-family:var(--serif);background:#f7f2e7;margin:0;padding:10px 12px;line-height:1.6}.tool-card .muted,.margin-status{color:var(--muted);font-size:13px;line-height:1.55}.mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mode-tabs button,.tool-grid button,.category-row button{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fffef9;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.mode-tabs button.active,.tool-grid button.active,.category-row button.active{border-color:var(--line-strong);color:var(--ink);background:#f3ecdf;box-shadow:inset 0 0 0 1px #79613314}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tool-grid button span{font-size:13px}.color-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.color-row span{color:var(--muted);align-items:center;gap:6px;min-width:54px;font-size:13px;display:inline-flex}.color-row button{background:var(--swatch);border:2px solid #0000;border-radius:999px;width:24px;height:24px;padding:0}.color-row button.active{border-color:#1f4b2cbf;box-shadow:0 0 0 2px #1f4b2c24}.category-row{flex-wrap:wrap;gap:8px;display:flex}.category-row button{min-height:36px}.tool-card input,.tool-card textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fffef9;border-radius:8px;padding:10px 12px}.tool-card textarea{min-height:112px;line-height:1.55}.tool-card form{flex-direction:column;gap:12px;display:flex}.tool-card form>button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-weight:780;display:inline-flex}.tool-card form>button:disabled{border-color:var(--line);color:#8c8576;cursor:not-allowed;background:#ddd7ca}.tool-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tool-card-head div{gap:8px;display:inline-flex}.tool-card-head button{color:var(--green);font-size:13px;font-weight:700}.layer-list{flex-direction:column;gap:8px;display:flex}.layer-list button{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fffef9;border-radius:8px;grid-template-columns:18px 1fr 18px;align-items:center;gap:10px;padding:0 12px;display:grid}.layer-list button.visible{border-color:var(--line-strong)}.layer-list button.hidden{color:var(--muted);opacity:.74}.selection-summary{border:1px dashed var(--line);background:#f8f4ea;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.selection-summary strong{color:var(--ink)}.selection-summary span{color:var(--muted);font-size:13px}.page-note-card{border:1px solid var(--line);font-family:var(--sans);background:#fffefa;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 32px;align-items:start;gap:10px;padding:12px;display:grid;position:relative}.page-note-card.active{border-color:var(--line-strong)}.page-note-info-popover{z-index:2;border:1px solid var(--line-strong);background:#fffdf7fa;border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);right:8px;box-shadow:0 14px 34px #2d231224}.page-note-card p{color:var(--text);line-height:1.55}.page-note-card small{color:var(--muted);white-space:nowrap}.stats-card{gap:10px}.stats-card div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stats-card strong{color:var(--ink);font-size:24px;font-weight:850}.stats-card span{color:var(--muted);font-size:13px}.stats-card>button{border:1px solid var(--line);background:#fffef9;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;font-weight:700;display:inline-flex}.book-cover-swatch{position:relative;overflow:hidden}.book-cover-swatch img{object-fit:cover;width:100%;height:100%;display:block}.cover-upload-default{background:radial-gradient(circle at top,#ffffff38,#0000 34%),linear-gradient(145deg,#6a5840,#2f261a 58%,#8a765a)}.primary-home-button,.secondary-home-button,.auth-provider-button,.compose-toolbar button,.upload-card-actions button{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:760;display:inline-flex}.primary-home-button{background:var(--green);color:#fff}.secondary-home-button,.auth-provider-button,.compose-toolbar button,.upload-card-actions button{color:var(--ink);background:#fffdf7eb;border:1px solid #75674a29}.secondary-home-button.danger{color:#8b3d32}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-shelf-panel{flex-direction:column;gap:18px;display:flex}.upload-shelf-head,.upload-detail-hero,.compose-hero,.compose-meta-layout,.upload-auth-callout,.upload-mode-note,.upload-notice{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;box-shadow:0 18px 46px #2e23120d}.upload-shelf-head,.upload-auth-callout,.upload-mode-note,.upload-notice,.compose-hero{padding:18px 20px}.upload-shelf-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.upload-shelf-head strong,.upload-section-head h3,.upload-detail-copy h1,.compose-hero h1,.compose-sidebar h2{color:var(--ink);font-family:var(--serif);letter-spacing:0;margin:0}.upload-shelf-head strong{margin-bottom:8px;font-size:20px;display:block}.upload-shelf-head p,.upload-section-head p,.upload-auth-callout p,.upload-mode-note span,.upload-notice p,.upload-card-copy p,.upload-detail-copy p,.upload-comment-card p,.compose-hero p{color:var(--muted);margin:0;line-height:1.62}.upload-mode-note,.upload-notice,.upload-auth-callout{align-items:center;gap:10px;display:flex}.upload-auth-callout{justify-content:space-between}.upload-notice.error{border-color:#924b3d38}.upload-notice.info{border-color:#4e5e412e}.upload-notice strong{color:var(--ink);font-size:13px;font-weight:800}.upload-shelf-section,.upload-comments-section{flex-direction:column;gap:14px;display:flex}.upload-section-head{justify-content:space-between;align-items:end;gap:14px;display:flex}.upload-section-head h3{font-size:26px}.upload-filter-tabs{flex-wrap:wrap;gap:6px;display:inline-flex}.upload-filter-tabs button,.compose-step-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:#fffdf7cc;border:1px solid #75674a24;border-radius:999px;padding:0 14px;font-size:14px;font-weight:740}.upload-filter-tabs button.active,.compose-step-tabs button.active,.compose-toolbar button.active,.compose-align-row button.active{color:var(--green);background:#2b3f241f;border-color:#2b3f2438}.upload-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.upload-draft-card,.upload-comment-card{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;box-shadow:0 18px 46px #2e23120d}.upload-draft-main{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:118px minmax(0,1fr);gap:14px;width:100%;padding:16px;display:grid}.upload-card-cover{border-radius:8px;width:118px;height:168px}.upload-card-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.upload-card-copy strong,.upload-detail-copy h1{font-size:28px;line-height:1.15}.upload-card-copy small,.upload-card-meta-row span,.upload-detail-meta span,.upload-detail-stats span,.upload-comment-card header span,.compose-saving-state,.upload-public-card .home-book-copy span{color:var(--muted);font-size:13px}.upload-card-meta-row,.upload-detail-meta,.upload-detail-stats,.upload-card-actions,.upload-comment-card header,.compose-hero-actions,.compose-page-actions,.compose-align-row,.auth-email-row{align-items:center;gap:10px;display:flex}.upload-card-actions{border-top:1px solid #7c6c4b1f;padding:0 16px 16px}.upload-public-grid{align-items:stretch}.upload-public-card{gap:14px}.upload-public-card .home-book-copy span{align-items:center;gap:5px;margin-top:6px;display:inline-flex}.upload-detail-main,.compose-main{padding-bottom:80px}.upload-detail-hero{grid-template-columns:220px minmax(0,1fr);gap:24px;padding:22px;display:grid}.upload-detail-cover{border-radius:9px;width:220px;height:308px}.upload-detail-copy{flex-direction:column;gap:14px;display:flex}.upload-detail-meta,.upload-detail-stats{flex-wrap:wrap}.upload-status-badge{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:780;display:inline-flex}.upload-status-badge.draft{color:#7b6642;background:#7460391f}.upload-status-badge.private{color:#41516e;background:#3f4a5d1f}.upload-status-badge.public{color:var(--green);background:#2b3f241f}.upload-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-comment-form{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.upload-comment-form textarea,.compose-meta-form textarea,.compose-inspector textarea{width:100%;min-height:110px;color:var(--ink);resize:vertical;background:#fffefaf0;border:1px solid #7e70542e;border-radius:10px;outline:0;padding:12px}.upload-comment-form>div,.compose-meta-actions{justify-content:flex-end;gap:8px;display:flex}.upload-comment-list{flex-direction:column;gap:12px;display:flex}.upload-comment-card{padding:16px}.upload-comment-card header{justify-content:space-between;margin-bottom:8px}.upload-comment-card strong{color:var(--ink)}.upload-comment-card button{color:#8b3d32;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;padding:0;display:inline-flex}.compose-hero{justify-content:space-between;align-items:end;gap:18px;display:flex}.compose-hero h1{margin:4px 0 10px;font-size:32px}.compose-hero-actions{flex-wrap:wrap;justify-content:flex-end}.compose-step-tabs{gap:8px;margin:20px 0 18px;display:inline-flex}.compose-meta-layout{grid-template-columns:280px minmax(0,1fr);gap:22px;padding:22px;display:grid}.compose-meta-cover{flex-direction:column;align-items:start;gap:14px;display:flex}.compose-cover-preview{border-radius:9px;width:220px;height:308px}.compose-meta-form,.compose-inspector{flex-direction:column;gap:14px;display:flex}.compose-meta-form label,.compose-inspector label,.auth-email-form label{color:var(--ink);flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}.compose-meta-form input,.compose-meta-form select,.compose-inspector input,.compose-inspector select,.auth-email-form input{width:100%;min-height:42px;color:var(--ink);background:#fffefaf0;border:1px solid #7e70542e;border-radius:10px;outline:0;padding:0 12px}.compose-editor-shell{grid-template-columns:260px minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.compose-sidebar,.compose-canvas-stage{background:#fffdf7e6;border:1px solid #7c6c4b24;border-radius:10px;box-shadow:0 18px 46px #2e23120d}.compose-sidebar{padding:16px}.compose-sidebar.left,.compose-sidebar.right{position:sticky;top:94px}.compose-sidebar.left{flex-direction:column;max-height:calc(100vh - 112px);display:flex;overflow:hidden}.compose-sidebar-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.compose-sidebar h2{font-size:22px}.compose-sidebar-scroll{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.compose-outline-list,.compose-outline-pages,.compose-outline-group{flex-direction:column;gap:8px;display:flex}.compose-outline-chapter-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.compose-outline-chapter,.compose-outline-page{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#f8f5ecdb;border:1px solid #7e70541f;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.compose-outline-toggle{width:38px;min-width:38px;color:var(--muted);cursor:pointer;background:#f8f5ecdb;border:1px solid #7e70541f;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.compose-outline-pages{padding-left:14px}.compose-outline-actions{align-items:center;gap:6px;display:flex}.compose-outline-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.compose-outline-copy strong{font-size:14px;line-height:1.35}.compose-outline-title-text{cursor:text}.compose-outline-page{background:#fcf9f2e6}.compose-outline-chapter-row.active .compose-outline-toggle,.compose-outline-chapter.active,.compose-outline-page.active{border-color:#2b3f2438;box-shadow:0 10px 28px #22190c0f}.compose-outline-chapter strong,.compose-outline-page span{color:var(--ink)}.compose-outline-page span{font-size:13px}.compose-outline-copy small,.compose-outline-count{color:var(--muted);font-size:11px}.compose-outline-audio-badge{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.compose-outline-chapter.editing{cursor:default}.compose-outline-title-input{width:100%;min-height:28px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-family:inherit;font-size:14px;font-weight:700;line-height:1.35}.chapter-context-menu{z-index:60;background:#fffdf7fa;border:1px solid #7e705429;border-radius:12px;min-width:148px;padding:8px;position:fixed;box-shadow:0 18px 40px #1c140a29}.chapter-context-menu button{width:100%;min-height:38px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.chapter-context-menu button:hover:not(:disabled){background:#91392614}.chapter-context-menu button:disabled{cursor:not-allowed;opacity:.45}.chapter-context-menu button.danger{color:#8e4b3a}.compose-canvas-stage{flex-direction:column;gap:12px;padding:16px;display:flex}.compose-toolbar,.compose-page-actions{flex-wrap:wrap;gap:8px;display:flex}.compose-page-actions{justify-content:space-between}.compose-tool-note{min-height:40px;color:var(--muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.compose-saving-state{align-items:center;min-height:40px;display:inline-flex}.compose-page-frame{background:linear-gradient(#f0e8d866,#fff0),#f3eee4bd;border-radius:12px;justify-content:center;padding:18px;display:flex}.compose-page-sheet{aspect-ratio:.72;background:linear-gradient(90deg,#7660410f,#0000 8% 92%,#7660410f),linear-gradient(#fffffffa,#f9f5ecfa);border:1px solid #8a795c2e;border-radius:10px;width:min(100%,760px);position:relative;overflow:hidden;box-shadow:0 28px 60px #1c160e24}.compose-element,.uploaded-text-layer,.uploaded-image-layer,.uploaded-drawing-layer{position:absolute}.compose-element{border:1px solid #0000;border-radius:6px;overflow:hidden}.compose-element.active{border-color:#2b3f2447;box-shadow:0 0 0 2px #2b3f241f}.compose-element.text{cursor:grab;white-space:pre-wrap;padding:4px 6px}.markup-content{color:inherit;font:inherit;overflow-wrap:anywhere;word-break:keep-all;min-width:0}.markup-content>:first-child{margin-top:0}.markup-content>:last-child{margin-bottom:0}.markup-content p,.markup-content blockquote,.markup-content ul,.markup-content ol,.markup-content hr,.markup-content h1,.markup-content h2,.markup-content h3,.markup-content h4,.markup-content h5,.markup-content h6{margin:0 0 .45em}.markup-content ul,.markup-content ol{padding-inline-start:1.25em}.markup-content li+li{margin-top:.16em}.markup-content blockquote{color:#2f2619d6;border-left:2px solid #76604147;padding-left:.8em}.markup-content hr{border:0;border-top:1px solid #76604133}.markup-content a{color:inherit;text-underline-offset:.14em;text-decoration-color:#2c4c8066}.markup-content code{background:#745c3a14;border-radius:4px;padding:.06em .28em;font-size:.92em}.markup-content ruby rt{color:#2f26199e;font-size:.68em}.markup-content .whisper{color:#2f2619ad;font-size:.92em}.markup-content .thought{color:#2f2619c2;font-style:italic}.markup-content .aside{color:#2f2619c7;font-size:.9em}.markup-content .center{text-align:center}.markup-content .spaced{letter-spacing:.08em}.markup-content .narrow{max-width:26em}.markup-content .caption{color:#2f2619bd;font-size:.84em;line-height:1.45}.compose-markup-preview{white-space:normal}.compose-element.image{cursor:grab;padding:0}.compose-element.image.dragging,.compose-element.text.dragging{cursor:grabbing}.compose-text-input{cursor:text;resize:none;-webkit-user-select:text;user-select:text;background:#fffcf4eb;border:0;outline:none}.compose-resize-handle{cursor:nwse-resize;background:#fffdf7f5;border:1px solid #2b3f243d;border-radius:999px;width:12px;height:12px;position:absolute;bottom:4px;right:4px;box-shadow:0 1px 3px #1c140a24}.compose-inspector-note{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.compose-stat-card{background:#fcf9f2eb;border:1px solid #7e705424;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.compose-stat-card span{color:var(--muted);font-size:13px}.compose-stat-card strong{color:var(--ink);font-size:16px}.compose-chapter-audio-card{background:#fcf9f2eb;border:1px solid #7e705424;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.compose-chapter-audio-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.compose-chapter-audio-card audio{width:100%}.compose-chapter-audio-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.compose-chapter-audio-head span{color:var(--muted);font-size:12px;display:block}.compose-chapter-audio-head strong{color:var(--ink);margin-top:2px;font-size:14px;line-height:1.4;display:block}.compose-chapter-audio-actions{flex-wrap:wrap;gap:8px;display:flex}.compose-font-picker{flex-direction:column;gap:8px;display:flex}.compose-font-toggle{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fcf9f2eb;border:1px solid #7e705424;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.compose-font-toggle-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.compose-font-toggle-copy span,.compose-font-toggle-copy small{color:var(--muted);font-size:12px}.compose-font-toggle-copy strong{color:var(--ink);font-size:14px;line-height:1.4}.compose-font-picker-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.compose-font-picker-head strong{color:var(--ink);font-size:13px}.compose-font-picker-head span{color:var(--muted);font-size:12px}.compose-font-preview{background:#fffefaf0;border:1px solid #7e705424;border-radius:10px;padding:10px 12px}.compose-font-preview strong,.compose-font-preview p{color:var(--ink)}.compose-markup-help{background:#fffefaf0;border:1px solid #7e705424;border-radius:10px;gap:6px;padding:12px;display:grid}.compose-markup-help strong{color:var(--ink);font-size:13px}.compose-markup-help p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.compose-markup-help code{color:var(--ink);background:#745c3a14;border-radius:4px;padding:.06em .3em;font-size:.92em}.compose-font-preview p{font-size:14px;line-height:1.5}.compose-font-results{flex-direction:column;gap:8px;max-height:180px;padding-right:4px;display:flex;overflow-y:auto}.compose-font-option{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fcf9f2eb;border:1px solid #7e705424;border-radius:10px;gap:2px;padding:9px 10px;display:grid}.compose-font-option.active{border-color:#2b3f2442;box-shadow:0 8px 24px #22190c0f}.compose-font-option-title{font-size:15px;font-weight:700}.compose-font-option-meta{color:var(--muted);font-family:var(--sans);font-size:12px}.compose-font-option-sample{word-break:keep-all;font-size:15px;line-height:1.55}.compose-image-shadow-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compose-image-shadow-row button{min-height:38px;color:var(--muted);cursor:pointer;background:#fffdf7eb;border:1px solid #75674a24;border-radius:999px}.compose-image-shadow-row button.active{color:var(--green);border-color:#2b3f2438}.compose-element.image img,.uploaded-image-layer img{width:100%;height:100%;display:block}.compose-element.image img{object-fit:cover}.uploaded-image-layer.fit-contain img{object-fit:contain;background:#f3eee4b3}.uploaded-image-layer.fit-cover img{object-fit:cover}.compose-element.drawing,.uploaded-drawing-layer{overflow:visible}.compose-draw-surface{width:100%;height:100%;display:none;position:absolute;inset:0}.compose-draw-surface.active{cursor:crosshair;display:block}.compose-align-row button{width:38px;min-width:38px;height:38px;color:var(--muted);cursor:pointer;background:#fffdf7eb;border:1px solid #75674a24;border-radius:999px}.uploaded-reader-page{min-height:900px;position:relative}.uploaded-text-layer{overflow:visible}.uploaded-text-layer .page-item-block,.uploaded-text-layer .reader-paragraph{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;margin:0}.uploaded-text-layer .reader-paragraph{white-space:normal}.uploaded-text-layer .markup-content{line-height:inherit;white-space:normal}.modal-backdrop{z-index:80;background:#1b140c4d;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.auth-dialog{background:#fffcf6fa;border:1px solid #7c6c4b29;border-radius:12px;flex-direction:column;gap:14px;width:min(420px,100vw - 24px);padding:18px;display:flex;box-shadow:0 26px 54px #1c140a2e}.auth-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-dialog header strong{color:var(--ink);font-size:18px;font-weight:800}.auth-dialog header button{color:var(--ink);cursor:pointer;background:0 0;border:0}.auth-email-form{flex-direction:column;gap:14px;display:flex}.google-login-button{min-height:46px;color:var(--ink);cursor:pointer;background:#fffefaf5;border:1px solid #7e705433;border-radius:10px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:780;display:inline-flex}.google-login-button:disabled{cursor:progress;opacity:.7}.google-login-button span{color:#1f1b16;background:#fff;border:1px solid #7e705433;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:850;display:inline-flex}.auth-email-row{background:#fffefaf0;border:1px solid #7e70542e;border-radius:10px;min-height:42px;padding:0 12px}.auth-email-row input{background:0 0;border:0;min-height:auto;padding:0}.auth-dialog-message{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.replace-dialog{background:#fffcf6fa;border:1px solid #7c6c4b29;border-radius:12px;flex-direction:column;gap:14px;width:min(720px,100vw - 24px);max-height:min(80vh,880px);padding:18px;display:flex;box-shadow:0 26px 54px #1c140a2e}.replace-dialog header{justify-content:space-between;align-items:start;gap:12px;display:flex}.replace-dialog header strong{color:var(--ink);font-size:18px;font-weight:800}.replace-dialog header p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.55}.replace-dialog header button{color:var(--ink);cursor:pointer;background:0 0;border:0}.replace-match-list{flex-direction:column;gap:10px;max-height:360px;padding-right:4px;display:flex;overflow-y:auto}.replace-match-card{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fcf9f2eb;border:1px solid #7e705424;border-radius:10px;gap:4px;padding:12px 14px;display:grid}.replace-match-card span,.replace-match-card p{color:var(--muted);font-size:13px}.replace-dialog-actions{justify-content:end;gap:10px;display:flex}.error-screen,.loading-screen{text-align:center;min-height:100vh;color:var(--ink);place-items:center;gap:10px;padding:24px;display:grid}@keyframes flashParagraph{0%{background:#f4dc5c8c}to{background:0 0}}@media (width<=1240px){.home-main{width:min(1120px,100vw - 36px)}.featured-grid{grid-template-columns:1fr}.home-book-grid,.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.library-layout{grid-template-columns:280px minmax(0,1fr)}.mypage-overview-grid,.upload-draft-grid{grid-template-columns:1fr}.compose-editor-shell{grid-template-columns:240px minmax(0,1fr)}.compose-sidebar.right{grid-column:1/-1;position:static}.workspace,.workspace.panel-hidden{grid-template-columns:250px minmax(0,1fr)}.tool-pane{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;height:auto;position:static}}@media (width<=920px){.home-topbar{grid-template-columns:1fr;justify-items:start;gap:16px;padding:16px 18px}.home-nav{flex-wrap:wrap;justify-content:flex-start;gap:18px 24px}.home-actions{width:100%}.home-main{width:min(100vw - 24px,100%);padding-top:22px}.home-flourish{display:none}.home-section-head,.home-section-head.compact,.continue-card{flex-direction:column;grid-template-columns:1fr;align-items:stretch;display:flex}.home-section-head p{max-width:none}.upload-shelf-head,.upload-auth-callout,.upload-detail-hero,.compose-hero,.compose-meta-layout,.compose-editor-shell{flex-direction:column;grid-template-columns:1fr;align-items:stretch;display:flex}.classic-controls{align-items:stretch}.classic-controls .home-search-box{width:100%}.compose-sidebar.left,.compose-sidebar.right{position:static}.upload-detail-cover,.compose-cover-preview{aspect-ratio:.72;width:min(220px,100%);height:auto}.home-search-box{width:100%;margin-left:0}.home-book-grid,.preview-grid,.mypage-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.library-layout{grid-template-columns:1fr}.playlist-create-form,.save-menu-create div{flex-direction:column}.playlist-create-form button,.save-menu-create button{width:100%;min-height:42px}.featured-book-card{grid-template-columns:132px minmax(0,1fr);min-height:auto}.featured-cover{width:132px;height:188px}.reader-topbar{flex-wrap:wrap;align-items:flex-start}.brand-lockup{flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.topbar-tools{flex-wrap:wrap;justify-content:stretch;width:100%}.search-box{width:100%}.workspace,.workspace.panel-hidden{grid-template-columns:1fr}.library-pane{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.chapter-list{max-height:none}.book-stage{padding:22px 16px 48px}.book-header,.page-top{flex-direction:column;grid-template-columns:1fr;align-items:stretch;display:flex}.book-header a{align-self:flex-start}.page-top div{text-align:left}.page-sheet{min-height:auto;padding:28px 20px 34px}.page-sheet-grid{grid-template-columns:14px minmax(0,1fr) 14px;gap:10px}.margin-popover{width:min(220px,100vw - 60px)}}@media (width<=560px){.home-main{width:calc(100vw - 20px);padding-bottom:48px}.home-section-head h1{font-size:34px}.home-section-head h2{font-size:25px}.home-book-grid,.preview-grid{grid-template-columns:1fr}.classic-sort-tabs{width:100%}.classic-sort-tabs button{flex:1}.upload-draft-main{grid-template-columns:1fr}.upload-card-cover{aspect-ratio:.72;width:min(160px,100%);height:auto}.upload-comment-form>div,.compose-meta-actions,.compose-page-actions{flex-direction:column;align-items:stretch}.compose-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.playlist-row,.playlist-book-row{flex-direction:column;align-items:flex-start}.playlist-actions{justify-content:flex-end;width:100%}.library-toast{text-align:center;bottom:12px;left:10px;right:10px}.featured-book-card{grid-template-columns:1fr}.featured-cover,.continue-cover{width:min(160px,100%)}.home-nav{gap:12px 18px;font-size:14px}.mode-tabs,.tool-grid{grid-template-columns:1fr}.page-sheet{padding:20px 14px 28px}.page-sheet-grid{grid-template-columns:8px minmax(0,1fr) 8px;gap:8px}.reader-paragraph.heading{padding-top:18px}.inline-annotation{grid-template-columns:18px minmax(0,1fr);margin-left:8px}.inline-annotation .delete-button{grid-column:2;justify-self:start}.page-note-card{grid-template-columns:1fr auto}.page-note-card button{grid-column:2}}
