@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Bold.ttf)format("truetype");font-style:normal;font-weight:600 900;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Bold.ttf)format("truetype");font-style:normal;font-weight:600 900;font-display:swap}:root{--ink:#243c34;--accent:#285d47;--forest:var(--accent);--forest-dark:#194531;--lime:#d9e7b3;--font:"Noto Sans",system-ui,sans-serif;--serif:"Noto Serif",Georgia,serif;--radius:12px;--paper:#f7f4ee;--white:#fffefb;--line:#dedfd5;--muted:#606d63;--soft:#edf1e7;--header-height:72px;--shadow:0 8px 32px #263e3012;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--reading-measure:720px;--writing-measure:760px}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:150px}body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;transition:background .15s,color .15s}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #699e85}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.3}h1{margin-bottom:14px;font-size:34px}h2{margin-bottom:16px;font-size:24px}h3{margin-bottom:10px;font-size:18px}p{margin-bottom:16px}small{font-size:13px}.muted,.fineprint{color:var(--muted)}.fineprint{font-size:13px}.grow{flex:1;min-width:0}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.narrow{max-width:600px;margin:40px auto}.section-space{margin-top:28px}.section-bottom{margin-bottom:28px}.eyebrow,.category-label{color:var(--accent);letter-spacing:.02em;text-transform:none;font-size:12px;font-weight:700;display:block}.eyebrow{margin-bottom:8px}.back-link,.text-button{min-height:44px;color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;padding:7px 0;font-size:14px;font-weight:600;display:inline-flex}.back-link{color:var(--muted);margin-bottom:16px;font-weight:400}.text-button:hover,.back-link:hover{text-underline-offset:4px;text-decoration:underline}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 20px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}.button:hover:not(:disabled){background:var(--forest-dark);border-color:var(--forest-dark)}.button.secondary{color:var(--ink);background:var(--white);border-color:var(--line)}.button.secondary:hover:not(:disabled){background:var(--soft);border-color:#bacdbb}.button.small{min-height:44px;padding:9px 14px}.icon-button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:inline-flex}.icon-button:hover{background:var(--soft)}.avatar{color:var(--accent);background:#e7eddf;border:1px solid #d7e0d1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:inline-flex}.avatar.small{width:34px;height:34px;font-size:12px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-width:0;padding:24px}.panel.flush{padding:0;overflow:hidden}.panel h2:last-child,.panel p:last-child{margin-bottom:0}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-heading>div{max-width:780px}.page-heading h1{font-family:var(--serif);margin-bottom:8px}.page-heading p:last-child{max-width:640px;margin-bottom:0}.page-heading>.button{flex-shrink:0}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{margin:0}.section-heading select{max-width:320px}.form-actions,.inline-form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-actions{margin-top:20px}.form-two{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{min-width:0;margin-bottom:20px;display:block}.field>span,.field>label{margin-bottom:7px;font-size:14px;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fff;border:1px solid #d5dbd2;border-radius:8px;max-width:100%;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.5}textarea{resize:vertical;min-height:100px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.checkbox-label{align-items:flex-start;gap:10px;min-height:44px;margin:14px 0;font-size:14px;display:flex}.checkbox-label input{margin-top:4px}.search-input{border:1px solid var(--line);min-width:0;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-input input{width:100%;min-width:0;background:0 0!important;border:0!important;padding-left:0!important}.badge{white-space:nowrap;background:#eef1ed;border-radius:5px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-open,.status-pending,.status-requested,.status-draft{color:#765516;background:#fff2d4}.status-active,.status-paid,.status-merged,.status-approved,.status-approve,.status-verified,.status-published{color:#275c3c;background:#e2efe5}.status-rejected,.status-reject,.status-canceled,.status-banned,.status-takedown{color:#a33e30;background:#fae7e4}.error,.success-note,.info-note{overflow-wrap:anywhere;border-radius:8px;align-items:flex-start;gap:10px;margin:16px 0;padding:14px 18px;font-size:14px;display:flex}.error{color:#9e3528;background:#fff0ed;border:1px solid #efc5be}.success-note{color:#315b36;background:#eaf3e7}.info-note{color:#384e62;background:#eef2f7}.info-note p{margin:0}.empty{text-align:center;color:var(--muted);max-width:620px;margin:0 auto;padding:64px 24px}.empty>svg{color:#82927d;margin-bottom:18px}.empty h3{color:var(--ink);margin-bottom:12px;font-size:23px}.empty p{max-width:420px;margin:0 auto 24px}.loading{color:var(--muted);text-align:center;padding:48px 24px;font-size:14px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:18px;height:18px;margin-right:10px;animation:1s linear infinite spin;display:inline-block}.skeleton-lines{gap:16px;max-width:640px;margin:24px auto;display:grid}.skeleton-lines i{background:#eaece5;border-radius:6px;height:20px;animation:1.8s ease-in-out infinite pulse}.skeleton-lines i:nth-child(2){width:85%}.skeleton-lines i:last-child{width:65%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}.application{min-height:100dvh}.app-header{height:var(--header-height);border-bottom:1px solid var(--line);z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefbf2;align-items:center;gap:32px;padding:0 max(24px,50vw - 672px);display:flex;position:sticky;top:0}.app-brand{white-space:nowrap;font:700 23px var(--serif);letter-spacing:-1px;align-items:center;gap:10px;display:flex}.app-brand>span{color:var(--accent);place-items:center;display:grid}.primary-nav{align-items:center;gap:10px;height:100%;display:flex}.primary-nav>button{min-height:48px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex;position:relative}.primary-nav>button.active{color:var(--accent);background:var(--soft);font-weight:700}.primary-nav>button>svg{width:18px}.app-utilities{align-items:center;gap:6px;margin-left:auto;display:flex}.app-main{min-width:0;max-width:1392px;margin:auto;padding:32px 24px 64px}.app-main:focus{outline:none}.profile-menu,.room-menu,.book-more,.reader-more,.message-more{position:relative}.profile-menu>summary,.room-menu>summary,.book-more>summary,.reader-more>summary,.message-more>summary{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;list-style:none;display:flex}.profile-menu summary::-webkit-details-marker{display:none}.room-menu summary::-webkit-details-marker{display:none}.book-more summary::-webkit-details-marker{display:none}.reader-more summary::-webkit-details-marker{display:none}.popover-menu{border:1px solid var(--line);z-index:70;background:#fff;border-radius:12px;width:260px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #233e3026}.popover-menu>button,.popover-menu>a{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;font-size:14px;display:flex}.popover-menu>button:hover{background:var(--soft)}.profile-menu-name{border-bottom:1px solid var(--line);margin-bottom:6px;padding:10px 12px 14px;font-size:14px;font-weight:700}.nav-count,.unread-count{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 5px;font-size:12px;font-weight:700;display:inline-flex}.notification-button{position:relative}.notification-dot{background:#b96247;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:10px}.management-context{align-items:center;gap:24px;font-size:14px;display:flex}.skip-link{background:var(--accent);color:#fff;z-index:100;padding:10px 18px;position:fixed;top:-70px;left:12px}.skip-link:focus{top:10px}.toast{z-index:100;background:var(--ink);color:#fff;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:10px;padding:14px 22px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.app-dialog{border:1px solid var(--line);width:min(640px,100vw - 32px);color:var(--ink);background:var(--white);max-height:calc(var(--app-height,100dvh) - 32px);overscroll-behavior:contain;border-radius:16px;margin:auto;padding:24px;position:fixed;inset:0;overflow:auto;box-shadow:0 25px 100px #172a3740}.app-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1d2d2866}.app-dialog>header{background:var(--white);z-index:2;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:8px 0 16px;display:flex;position:sticky;top:-24px}.app-dialog h2{margin:0;font-size:22px;line-height:1.5}.app-dialog blockquote{border-left:3px solid var(--line);max-height:160px;color:var(--muted);margin:16px 0;padding:4px 16px;font-size:14px;overflow:auto}.chips,.tabs,.account-nav,.library-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip,.library-filters>button{min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:24px;padding:8px 16px;font-size:14px}.chip:hover,.library-filters>button:hover{background:var(--soft)}.chip.selected,.library-filters>button.active{background:var(--accent);color:#fff}.library-filters>button>span{opacity:.8;margin-left:6px}.tabs,.account-nav{border-bottom:1px solid var(--line);gap:24px;margin-bottom:28px}.tabs>button,.account-nav>button{min-height:50px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 2px;font-size:14px}.tabs>button.active,.account-nav>button.active{color:var(--accent);border-color:var(--accent);font-weight:700}html:has(dialog:modal){overflow:hidden}dialog.responsive-panel-inline{width:auto;max-width:none;max-height:none;color:inherit;background:var(--white);border:0;margin:0;padding:0;position:static;inset:auto}h1,h2,h3{text-wrap:pretty;overflow-wrap:anywhere}[hidden]{display:none!important}.field-error{color:#a33e30;margin-top:8px;font-size:14px;display:block}[aria-invalid=true]{border-color:#a33e30!important}.app-dialog .form-actions{row-gap:12px}.app-dialog.dialog-wide{width:min(1000px,100vw - 32px)}.app-dialog.drawer{width:min(420px,100vw);max-width:100vw;height:var(--app-height,100dvh);max-height:var(--app-height,100dvh);border:0;border-radius:0;margin:0;inset:0 auto 0 0;box-shadow:8px 0 64px #243c3426}.app-dialog.drawer-right{inset:0 0 0 auto}.app-dialog.conversation-drawer{flex-direction:column;width:min(480px,100vw);padding:0;display:flex;overflow:hidden}.conversation-drawer>header{flex-shrink:0;min-height:64px;margin:0;padding:12px 16px;position:static}.conversation-drawer>header h2{font-size:18px}.drawer .reader-notes{border:0;max-height:none;padding:0;position:static}.action-menu-layer{z-index:350;position:fixed;inset:0}.action-menu-scrim{position:absolute;inset:0}.floating-action-menu{border:1px solid var(--line);background:#fff;border-radius:12px;width:250px;max-height:calc(100dvh - 24px);padding:7px;position:fixed;overflow:auto;box-shadow:0 12px 50px #1c332b26}.floating-action-menu>button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;font-size:14px;display:flex}.floating-action-menu>button:hover,.floating-action-menu>button:focus-visible{background:var(--soft)}.action-menu-heading{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 12px 12px;font-size:12px;display:block}.action-menu-trigger{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:inline-flex}.account-main,.management-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:32px;display:grid}.account-content,.management-content{min-width:0}.workspace-nav{top:calc(var(--header-height) + 24px);max-height:calc(100dvh - var(--header-height) - 48px);scrollbar-width:thin;position:sticky;overflow-y:auto}.workspace-nav-groups{border-right:1px solid var(--line);gap:24px;padding-right:16px;display:grid}.workspace-nav h2{letter-spacing:.02em;color:var(--muted);margin:0 12px 8px;font-size:12px}.workspace-nav section>button{text-align:left;width:100%;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:14px;display:block}.workspace-nav section>button:hover{background:var(--soft);color:var(--ink)}.workspace-nav section>button.active{background:var(--soft);color:var(--accent);box-shadow:inset 3px 0 var(--accent);font-weight:700}.workspace-nav-mobile{display:none}@media (max-width:1100px){.app-header{gap:24px;padding:0 24px}.app-main{padding:32px 24px 64px}.primary-nav{gap:2px}.primary-nav>button{padding:10px}.app-brand{font-size:21px}.page-heading h1{font-size:30px}}@media (max-width:767px){:root{--header-height:64px}.app-header{gap:12px;padding:0 16px}.app-brand{font-size:21px}.app-utilities{gap:0}.primary-nav{top:calc(var(--app-height,100dvh) - 66px - env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));border-top:1px solid var(--line);padding:4px 8px calc(4px + env(safe-area-inset-bottom));background:#fff;justify-content:space-around;position:fixed;left:0;right:0}.primary-nav>button{flex-direction:column;flex:1;gap:3px;height:54px;padding:5px 8px;font-size:12px;display:flex}.primary-nav>button>svg{width:20px;height:20px}.nav-count{position:absolute;top:2px;left:calc(50% + 10px)}.app-main{padding:24px 16px calc(96px + env(safe-area-inset-bottom))}.page-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}.page-heading h1{font-size:28px}.page-heading p{font-size:14px}.eyebrow{font-size:12px}.panel{padding:20px}.form-two{grid-template-columns:1fr;gap:0}.section-heading{flex-wrap:wrap}.tabs,.account-nav{flex-wrap:nowrap;gap:20px;overflow-x:auto}.tabs>button,.account-nav>button{white-space:nowrap}.management-context strong{display:none}.management-context{margin-left:auto}.application-management .app-main{padding-bottom:40px}.application-management .app-header{gap:8px}.application-management .app-brand{font-size:17px}.application-management .management-context .text-button{font-size:12px}.toast{bottom:calc(86px + env(safe-area-inset-bottom));width:max-content}.room-selected .primary-nav{display:none}.app-dialog{padding:20px}.section-heading select{width:100%}.popover-menu{max-width:calc(100vw - 32px)}.app-dialog .form-actions>.button{flex:auto}.app-dialog>header{top:-20px}.action-menu-scrim{background:#122c2240}.floating-action-menu{right:10px;bottom:max(10px,env(safe-area-inset-bottom));border-radius:18px;width:auto;max-height:75dvh;padding:12px;top:auto!important;left:10px!important}.floating-action-menu>button{min-height:48px;font-size:14px}.action-menu-heading{padding:10px 12px 16px;font-size:12px}.account-main,.management-layout{display:block}.workspace-nav{max-height:none;margin-bottom:24px;position:static;overflow:visible}.workspace-nav-groups{display:none}.workspace-nav-mobile{gap:8px;font-size:14px;font-weight:600;display:grid}.workspace-nav-mobile select{width:100%}}@media (max-width:359px){.app-main{padding-left:14px;padding-right:14px}.app-brand{font-size:18px}.app-header{gap:4px;padding:0 10px}.app-utilities .icon-button{min-width:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:420px){.application-management .management-context .text-button{justify-content:center;gap:0;min-width:44px;font-size:0}.application-management .app-utilities>button:first-child{display:none}}
.library-grid,.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;display:grid}.catalog-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:24px 0;display:flex}.catalog-tools{align-items:center;gap:12px;display:flex}.catalog-tools .search-input{max-width:260px}.catalog-tools select{font-size:14px}.continue-reading{background:linear-gradient(120deg,#eaf0e1,#f2f2e8);border:1px solid #dbe2d0;border-radius:16px;align-items:center;gap:32px;padding:24px 32px;display:flex;position:relative;overflow:hidden}.continue-cover{background:0 0;border:0;flex-shrink:0;width:100px;padding:0;transition:transform .2s;transform:none}.continue-cover:hover{transform:rotate(0)}.continue-copy{z-index:1;flex:1;min-width:0;max-width:none}.continue-copy h2{font:700 27px/1.35 var(--serif);margin-bottom:8px;font-size:24px}.continue-copy>p{color:var(--muted);margin-bottom:14px;font-size:14px}.continue-copy .book-progress{max-width:280px}.continue-copy .form-actions{gap:24px;margin-top:16px}.book-progress progress{width:100%;height:4px;accent-color:var(--accent);background:#d9e1d1;border:0;border-radius:5px;display:block;overflow:hidden}.book-progress progress::-webkit-progress-bar{background:#d9e1d1}.book-progress progress::-webkit-progress-value{background:var(--accent)}.book-progress small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.library-book{min-width:0}.library-book-open{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.cover-stage{background:#ebe9e0;border-radius:12px;justify-content:center;align-items:center;height:240px;margin-bottom:16px;padding:20px 32px;transition:background .2s;display:flex}.library-book-open:hover .cover-stage,.work-card:hover .cover-stage{background:#e5e8de}.book-jacket{--jacket:#cbd8ba;--jacket-ink:#2e4639;aspect-ratio:2/3;width:auto;min-width:0;max-height:100%;color:var(--jacket-ink);background:var(--jacket);border-radius:2px 6px 6px 2px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:18px 16px 16px 22px;display:flex;position:relative;overflow:hidden;box-shadow:inset 3px 0 2px #ffffff45,inset 8px 0 8px #0000000a,5px 7px 10px #29302520,1px 2px 1px #29302533}.book-jacket:before{content:"";background:#00000015;width:1px;position:absolute;inset:0 auto 0 8px}.jacket-sage{--jacket:#cbd8ba;--jacket-ink:#2e4639}.jacket-sand{--jacket:#e7c794;--jacket-ink:#5b4129}.jacket-blue{--jacket:#b8cdd4;--jacket-ink:#284853}.jacket-rose{--jacket:#dbb5a6;--jacket-ink:#603b34}.jacket-topic{letter-spacing:.12em;text-transform:uppercase;max-width:100%;font-size:8px;font-weight:700;line-height:1.6}.book-jacket>strong{font:700 20px/1.35 var(--serif);overflow-wrap:anywhere;-webkit-line-clamp:4;z-index:1;-webkit-box-orient:vertical;margin:16px 0 auto;display:-webkit-box;overflow:hidden}.jacket-mark{opacity:.14;width:130px;height:80px;position:absolute;bottom:35px;right:-18px;transform:rotate(-32deg)}.jacket-mark span{border:1.5px solid;border-radius:50%;width:130px;height:64px;position:absolute}.jacket-mark span:nth-child(2){top:12px}.jacket-mark span:last-child{top:24px}.jacket-author{z-index:1;margin-top:24px;font-size:9px;line-height:1.4}.jacket-small{border-radius:1px 3px 3px 1px;flex-shrink:0;width:38px;height:52px;padding:8px 6px 6px 10px;box-shadow:2px 2px 4px #27382b18}.jacket-small .jacket-topic,.jacket-small .jacket-mark{display:none}.jacket-small>strong{margin:0;font-size:7px;line-height:1.4;display:none}.library-book-copy h2,.work-card-body h3{overflow-wrap:anywhere;font-family:var(--serif);min-height:54px;margin:8px 0;font-size:18px;line-height:1.5}.library-book-copy p{color:var(--muted);margin:0;font-size:14px}.category-label{letter-spacing:0;font-size:12px}.book-reading-label{color:var(--muted);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:2px;min-height:48px;margin:12px 0 4px;font-size:12px;display:flex}.book-reading-label>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.book-reading-label>small{white-space:nowrap;font-size:12px}.book-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-top:8px;display:flex}.book-card-actions .text-button{font-size:14px}.book-room-link{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-size:14px;display:flex}.book-room-link:hover{color:var(--accent)}.book-card-actions .unread-count{min-width:18px;height:18px;font-size:12px}.work-card{text-align:left;background:0 0;border:0;flex-direction:column;min-width:0;padding:0;display:flex}.work-card .cover-stage,.work-card-body{width:100%}.card-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.card-author{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.card-author .avatar{display:none}.card-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-top:14px;padding-top:12px;font-size:12px;display:flex}.card-footer>span{align-items:center;gap:6px;display:flex}.card-price{color:var(--accent);font-weight:600}.discovery-search{align-items:center;gap:24px;margin-bottom:16px;display:flex}.discovery-search>.search-input{flex:1;max-width:640px;min-height:54px}.filter-row{justify-content:space-between;align-items:center;gap:16px;margin:16px 0 8px;display:flex}.filter-disclosure{position:relative}.filter-disclosure>summary{cursor:pointer;white-space:nowrap;min-height:44px;padding:8px;font-size:14px}.filter-disclosure .community-controls{z-index:4;border:1px solid var(--line);width:300px;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:20px;position:absolute;top:100%;right:0}.filter-disclosure .field:last-child{margin:0}.result-count{color:var(--muted);margin:16px 0;font-size:14px}.book-overview-header{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:32px;padding:0 0 24px;display:grid}.book-display{background:#ebe9e0;border-radius:14px;justify-content:center;align-items:center;height:240px;padding:24px;display:flex}.book-heading h1{font:700 35px/1.35 var(--serif);margin:8px 0 12px;font-size:32px}.book-byline{color:var(--muted);font-size:14px}.book-byline>span{margin-left:10px}.book-description{max-width:760px;color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:8px;font-size:16px;display:-webkit-box;overflow:hidden}.book-description.expanded{display:block}.reading-resume{color:var(--muted);margin-top:14px;font-size:12px;display:block}.book-tabs{border-bottom:1px solid var(--line);align-items:center;gap:28px;margin-bottom:32px;display:flex}.book-tabs>button{min-height:52px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0;font-size:16px}.book-tabs>button.active{color:var(--accent);border-color:var(--accent);font-weight:700}.book-more{margin-left:auto}.book-content-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.book-content{min-width:0}.book-access{top:calc(var(--header-height) + 24px);background:var(--soft);border:0;border-radius:12px;padding:24px;font-size:14px;position:sticky}.book-access h3{margin-top:12px}.book-access .field>span{font-size:13px}.chapter-list{border-top:1px solid var(--line)}.chapter-list>button{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:20px;width:100%;min-height:78px;padding:20px 12px;display:flex}.chapter-list>button:hover,.chapter-list>button[aria-current=page]{background:#edf2e8}.chapter-list>button>div{flex:1;min-width:0}.chapter-list strong{font-size:16px;font-weight:600}.chapter-list small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.chapter-number{font:400 18px var(--serif);color:var(--muted);flex-shrink:0;width:28px}.contribution-intro{background:var(--soft);border-radius:12px;margin-bottom:36px;padding:28px}.contribution-intro p{color:var(--muted);margin:0;font-size:14px}.contribution-intro select{max-width:440px}.search-form{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:32px;padding:12px 16px;display:flex}.search-form input{flex:1;min-width:0;border:0!important}.search-result{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;padding:24px;display:block}.search-result h3{margin:8px 0}.search-result p{color:var(--muted);font-size:14px}.chapter-list>button[aria-current=page]{box-shadow:inset 3px 0 var(--accent)}.jacket-small .jacket-mark{display:block;bottom:8px;right:-60px}@media (max-width:1199px){.library-grid,.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-overview-header{gap:32px}.book-content-layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.catalog-toolbar{flex-wrap:wrap;align-items:flex-start}}@media (max-width:900px){.book-content-layout{grid-template-columns:1fr}.book-access{max-width:100%;position:static}.book-overview-header{grid-template-columns:190px minmax(0,1fr)}.book-display{height:270px;padding:26px}.book-heading h1{font-size:28px}.cover-stage{height:244px;padding:24px}.book-jacket>strong{font-size:18px}.jacket-small>strong{font-size:7px;display:none}.catalog-tools{flex:1;justify-content:flex-end}.discovery-search{flex-direction:column;align-items:stretch;gap:6px}}@media (max-width:767px){.library-grid,.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.continue-reading{align-items:flex-start;gap:20px;padding:20px}.continue-cover{width:100px}.continue-copy h2{font-size:22px}.continue-copy .form-actions{flex-flow:wrap;align-items:flex-start;gap:8px}.continue-copy .book-progress{margin-top:12px}.continue-copy .eyebrow{font-size:12px}.catalog-toolbar{gap:18px;margin:28px 0 24px}.catalog-tools{flex-basis:100%;justify-content:flex-start;gap:8px}.catalog-tools .search-input{flex:1;max-width:none}.catalog-tools select{max-width:110px;font-size:12px}.cover-stage{height:220px;padding:24px}.book-card-actions{flex-wrap:wrap;gap:0}.book-room-link{margin:0;font-size:14px}.library-book-copy h2,.work-card-body h3{font-size:16px}.book-reading-label small{display:none}.card-description{font-size:14px;display:none}.card-footer{flex-wrap:wrap}.book-overview-header{grid-template-columns:88px minmax(0,1fr);align-items:start;gap:20px;padding-bottom:24px}.book-display{border-radius:8px;height:132px;padding:8px}.book-display .book-jacket{padding:12px 8px 10px 13px}.book-display .book-jacket>strong{margin-top:10px;font-size:12px}.book-display .jacket-topic{font-size:6px}.book-display .jacket-author{margin-top:10px;font-size:7px}.book-heading h1{margin:8px 0;font-size:23px}.book-byline{font-size:12px}.book-byline>span{margin:4px 0;display:block}.book-description{-webkit-line-clamp:3;font-size:14px}.book-heading .form-actions{gap:8px;margin-top:18px}.book-heading .form-actions>.button{width:100%;padding:10px;font-size:14px}.book-tabs{gap:20px;margin-bottom:24px}.book-tabs>button{font-size:14px}.book-content .section-heading h2{font-size:22px}.book-content-layout{gap:28px}.chapter-list>button{gap:12px;padding:16px 6px}.chapter-list strong{font-size:14px}.chapter-number{width:22px;font-size:16px}.filter-row{align-items:flex-start;gap:6px}.chips{gap:4px}.chip{padding:8px 12px;font-size:12px}.filter-disclosure>summary{font-size:12px}.filter-disclosure .community-controls{max-width:calc(100vw - 40px)}.contribution-intro{padding:20px}.contribution-intro .form-actions{flex-direction:column;align-items:stretch}.search-form{flex-wrap:wrap}.search-form .button{width:100%}}@media (max-width:420px){.cover-stage{height:152px;margin:0;padding:12px}.book-jacket{padding:14px 10px 12px 16px}.book-jacket>strong{font-size:16px}.jacket-small{padding:8px 6px 6px 10px}.jacket-small>strong{font-size:7px;display:none}.jacket-topic{font-size:7px}.continue-reading{gap:18px;padding:20px}.continue-cover{width:78px}.continue-cover .book-jacket>strong{font-size:11px}.continue-cover .jacket-author{font-size:7px}.continue-cover .jacket-topic{font-size:6px}.continue-copy h2{font-size:19px}.continue-copy>p{font-size:12px}.library-filters>button{padding:8px 12px;font-size:12px}.library-grid,.book-grid{grid-template-columns:1fr;gap:32px}.book-card-actions .text-button{font-size:14px}.book-heading h1{font-size:21px}.library-book-open,.work-card{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:16px;display:grid}.library-book-copy h2,.work-card-body h3{min-height:0;font-size:18px}.book-reading-label{min-height:0;margin:12px 0 8px}.card-footer{margin:8px 0 0;padding:8px 0 0}.book-card-actions{justify-content:flex-start;gap:24px}}@media (max-width:359px){.cover-stage{height:190px;padding:16px 12px}.book-overview-header{grid-template-columns:80px minmax(0,1fr);gap:14px}.book-display{height:124px;padding:8px}.book-display .book-jacket>strong{font-size:10px}.book-tabs{gap:16px}.continue-cover{display:none}.book-jacket>strong{font-size:14px}.jacket-small>strong{font-size:7px;display:none}}.cover-stage .book-jacket,.book-display .book-jacket{flex-shrink:0;width:auto;height:100%}.continue-cover .book-jacket{width:100%;height:auto;max-height:none}
.application-chat{height:var(--app-height,100dvh);min-height:0;overflow:hidden}.inbox-main{max-width:none;height:calc(var(--app-height,100dvh) - var(--header-height));padding:0;overflow:hidden}.chat-route{height:100%;min-height:0}.discussion-inbox{background:var(--white);grid-template-columns:280px minmax(0,1fr);height:100%;display:grid}.room-list{border-right:1px solid var(--line);background:var(--white);flex-direction:column;min-height:0;display:flex}.room-list-heading{padding:24px 16px 16px}.room-list-heading h1{font:700 24px/1.4 var(--serif);margin-bottom:8px}.room-list-heading p{color:var(--muted);margin-bottom:16px;font-size:14px}.room-search{background:var(--paper);border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.room-search input{width:100%;min-width:0;background:0 0!important;border:0!important;padding-left:0!important}.room-list-items{scrollbar-width:thin;flex:1;padding:0 8px 16px;overflow:auto}.room-list-item{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:96px;padding:16px 12px;display:flex}.room-list-item:hover{background:var(--paper)}.room-list-item.selected{background:var(--soft);box-shadow:inset 3px 0 var(--accent)}.room-list-copy{flex:1;min-width:0}.room-list-copy strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.room-list-copy>span,.room-list-copy small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:12px;display:block;overflow:hidden}.room-list-copy small{margin-top:4px}.inbox-conversation{background:var(--paper);flex-direction:column;min-width:0;min-height:0;display:flex}.inbox-placeholder{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.inbox-placeholder>svg{color:var(--accent);margin-bottom:24px}.inbox-placeholder h2{max-width:480px;font:400 28px/1.5 var(--serif);color:var(--ink)}.inbox-placeholder p{max-width:360px}.inbox-back{display:none}.book-chat{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.chat-header{background:var(--white);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:80px;padding:12px 24px;display:flex}.chat-book-title{flex:1;min-width:0}.chat-book-title>button{text-align:left;font:700 18px/1.5 var(--serif);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;min-height:44px;padding:0;display:block;overflow:hidden}.chat-book-title>button:hover{text-underline-offset:4px;text-decoration:underline}.chat-book-title>span{color:var(--muted);font-size:12px;display:block}.header-actions{align-items:center;gap:8px;display:flex}.book-room-tabs{background:var(--white);border-bottom:1px solid var(--line);flex-shrink:0;align-items:stretch;gap:8px;padding:0 24px;display:flex}.book-room-tabs>button{min-height:48px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.book-room-tabs>button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.book-room-tabs>button:hover{background:var(--paper)}.book-room-tabs>.room-highlights{margin-left:auto}.chat-columns,.main-conversation{flex:1;min-width:0;min-height:0;display:flex}.chat-room{background:var(--paper);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-timeline{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:24px 32px 32px;scroll-padding:16px;overflow:auto}.chat-day{text-align:center;color:var(--muted);margin:8px 0 24px;font-size:12px}.chat-day span{background:#eaeade;border-radius:20px;padding:6px 12px}.chat-message{align-items:flex-end;gap:12px;margin:24px 0 0;display:flex;position:relative}.chat-message.grouped{margin-top:8px}.chat-avatar{color:#3c5942;background:#dfe7d7;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;margin-bottom:2px;font-size:12px;display:grid}.grouped .chat-avatar{background:0 0}.message-content{min-width:0;max-width:min(82%,680px);position:relative}.message-byline{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 8px 2px;display:flex}.message-byline strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px}.message-byline>span{color:var(--muted);font-size:12px}.message-bubble{background:var(--white);border:1px solid #e1e1d6;border-radius:16px 16px 16px 4px;padding:12px 16px 8px}.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.7}.message-time{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:12px;display:flex}.own{flex-direction:row-reverse}.own .chat-avatar{display:none}.own .message-bubble{background:#e5eddf;border-color:#d7e2d0;border-radius:16px 16px 4px}.own .message-byline{justify-content:flex-end}.message-quote{text-align:left;background:#edf1e9;border:0;border-left:3px solid #749068;border-radius:6px;width:100%;min-height:44px;margin:0 0 12px;padding:8px 12px;display:block}.message-quote strong,.message-quote span{overflow-wrap:anywhere;font-size:14px;display:block}.message-quote span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.message-label{color:#3c633d;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.message-tools{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:5;border-radius:10px;align-items:center;gap:4px;padding:0 4px;display:flex;position:absolute;top:0;right:0;transform:translateY(-80%)}.chat-message:hover .message-tools,.chat-message:focus-within .message-tools{opacity:1;pointer-events:auto}.message-tools>button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px;font-size:14px;display:flex}.message-tools>button:hover{background:var(--soft)}.message-branch{min-height:44px;color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;padding:8px 2px;font-size:14px;display:flex}.helpful-count{color:var(--muted);margin-top:8px;font-size:12px;display:block}.touch-reply{display:none!important}.danger-text{color:#a33e30!important}.unread-divider{color:var(--accent);align-items:center;gap:12px;margin:24px 0;font-size:12px;font-weight:600;display:flex}.unread-divider:before,.unread-divider:after{content:"";background:#9aae8f;flex:1;height:1px}.chat-system{text-align:center;color:var(--muted);max-width:500px;margin:24px auto;font-size:14px}.message-highlight{background:#e5e9cb;border-radius:12px}.chat-empty{text-align:center;color:var(--muted);max-width:480px;margin:auto;padding:48px 24px}.chat-empty h3{color:var(--ink);font:400 24px/1.5 var(--serif);margin-top:24px}.load-history{background:var(--white);border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:24px;margin:0 auto 24px;padding:8px 16px;font-size:14px;display:block}.connection-state,.chat-error{text-align:center;color:#73501f;background:#fff3d9;flex-shrink:0;padding:12px 16px;font-size:14px}.chat-error{color:#943a2c;background:#fff0ec}.chat-error button{margin-left:12px}.pending-message{overflow-wrap:anywhere;background:#f2eddf;border:1px dashed #bca877;border-radius:12px;max-width:82%;margin:16px 0 0 auto;padding:12px 16px}.pending-message p{white-space:pre-wrap;margin:0;font-size:16px}.pending-message small{color:var(--muted);font-size:12px}.pending-message .text-button{margin-left:8px}.jump-latest{right:24px;bottom:calc(var(--composer-height,124px) + 16px);border:1px solid var(--line);background:var(--white);min-height:44px;box-shadow:var(--shadow);z-index:6;border-radius:24px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:flex;position:absolute}.chat-composer{background:var(--white);border-top:1px solid var(--line);overscroll-behavior:contain;flex-shrink:0;max-height:100%;padding:16px 24px 8px;overflow-y:auto}.compose-input{align-items:flex-end;gap:12px;display:flex}.compose-input textarea{min-width:0;min-height:48px;max-height:min(140px, max(48px, calc(var(--app-height,100dvh) - 300px)));resize:none;background:var(--white);scrollbar-width:thin;border:1px solid #ccd3c4;border-radius:12px;flex:1;padding:12px 16px;font-size:16px}.compose-input textarea:focus{border-color:var(--accent)}.send-message{background:var(--accent);color:#fff;border:0;border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.send-message:hover:not(:disabled){background:var(--forest-dark)}.composer-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.composer-destination{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.composer-question{min-height:44px;color:var(--muted);background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;padding:8px 0;font-size:12px;display:flex}.composer-question.selected{color:var(--accent);font-weight:700}.composer-shortcut{display:none}.composer-reason{color:#76501f;margin:0 0 12px;font-size:14px}.compose-quote{border-left:3px solid var(--accent);background:var(--soft);border-radius:6px;align-items:center;gap:12px;min-width:0;margin-bottom:12px;padding:8px 12px;display:flex}.compose-quote>span{flex:1;min-width:0}.compose-quote strong,.compose-quote small{font-size:14px;display:block}.compose-quote small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.responsive-panel-inline.thread-panel{border-left:1px solid var(--line);background:var(--white);flex-direction:column;flex-shrink:0;width:320px;min-width:0;display:flex}.thread-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 16px;display:flex}.thread-panel>header h2{margin:0;font-size:16px;display:block}.thread-panel>header small{color:var(--muted);font-size:12px;display:block}.thread-panel .chat-timeline{padding:16px}.thread-panel .chat-composer,.compact-chat .chat-composer{padding:12px 16px 8px}.thread-panel .message-content{max-width:calc(100% - 44px)}.thread-panel .composer-shortcut,.compact-chat .composer-shortcut{display:none}.branch-context{border-bottom:1px solid var(--line);background:var(--white);flex-shrink:0;max-height:160px;padding:16px;font-size:14px;overflow:auto}.branch-context p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.saved-message{text-align:left;border:1px solid var(--line);background:var(--white);border-radius:10px;width:100%;margin-bottom:12px;padding:16px;display:block}.saved-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.saved-message small{color:var(--muted);font-size:12px}.removed{color:var(--muted);font-style:italic}@media (min-width:1440px) and (pointer:fine){.main-conversation .composer-shortcut{display:inline}.compact-chat .composer-shortcut{display:none}}@media (min-width:1700px){.main-conversation .chat-timeline{padding-left:max(32px,50% - 480px);padding-right:max(32px,50% - 480px)}}@media (max-width:1000px){.chat-timeline{padding:20px}.chat-header{padding:12px 16px}.chat-composer{padding:16px 16px 8px}.message-content{max-width:calc(100% - 44px)}.book-room-tabs{gap:0;padding:0 12px}}@media (max-width:767px){.inbox-main{height:calc(var(--app-height,100dvh) - var(--header-height) - 66px - env(safe-area-inset-bottom));padding:0}.room-selected .inbox-main{height:calc(var(--app-height,100dvh) - var(--header-height))}.discussion-inbox{display:block}.discussion-inbox .inbox-conversation,.discussion-inbox.room-open .room-list{display:none}.discussion-inbox.room-open .inbox-conversation{height:100%;display:flex}.room-list{border:0;height:100%}.room-list-heading{padding:24px 16px 16px}.room-list-copy strong{font-size:16px}.inbox-back{display:inline-flex}.chat-header{gap:8px;min-height:76px;padding:8px 12px}.chat-book-title>button{font:700 16px/1.5 var(--font)}.chat-timeline{padding:16px 16px 24px}.chat-message{gap:8px}.chat-avatar{width:28px;height:28px}.message-content{max-width:calc(100% - 44px)}.message-bubble{padding:12px 12px 8px}.chat-composer{padding:12px 12px max(8px, env(safe-area-inset-bottom))}.compose-input{gap:8px}.book-room-tabs{gap:0;padding:0 8px}.book-room-tabs>button{gap:4px;padding:10px 8px;font-size:14px}.book-room-tabs .unread-count{padding:0 4px}.book-room-tabs>.room-highlights{font-size:12px}.chat-room .jump-latest{right:16px}}@media (max-width:359px){.book-room-tabs>button{padding:10px 6px;font-size:12px}}@media (hover:none){.message-tools{opacity:1;pointer-events:auto;box-shadow:none;background:0 0;border:0;padding:0;top:0;right:-40px;transform:none}.own .message-tools{left:-40px;right:auto}.message-tools>button{display:none}.message-tools>button[aria-haspopup=menu]{color:var(--muted);display:flex}.floating-action-menu>.touch-reply{display:flex!important}}
.reading-main{max-width:1584px;padding-top:0}.reader-workspace{--reading-size:20px;--reading-paper:#fffaf0;align-items:flex-start;gap:24px;display:flex}.reader-workspace[data-paper=white]{--reading-paper:#fff}.reader-body{flex:1;min-width:0}.reader-toolbar{top:var(--header-height);z-index:20;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px 24px;min-height:72px;margin-bottom:24px;padding:12px 0;display:flex;position:sticky}.reader-toolbar>.back-link{min-width:0;max-width:320px;margin:0;font-size:14px;line-height:1.5}.reader-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.reader-actions>.button{white-space:nowrap;background:0 0;border-color:#0000;padding:8px 12px;font-size:14px}.reader-actions>.button:hover,.reader-actions>.button[aria-pressed=true],.reader-actions>.button[aria-expanded=true]{background:var(--soft);border-color:var(--line)}.reader-more>summary{padding:8px;font-size:14px}.display-menu .popover-menu{width:240px;padding:16px}.display-menu .popover-menu>strong{margin-bottom:8px;font-size:14px;display:block}.segmented-control{gap:8px;margin-bottom:16px;display:flex}.segmented-control:last-child{margin-bottom:0}.segmented-control button{background:var(--paper);border:1px solid var(--line);border-radius:8px;flex:1;min-height:44px;font-size:14px}.segmented-control button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.reader-layout{max-width:calc(var(--reading-measure) + 96px);margin:0 auto}.reading-paper{background:var(--reading-paper,var(--white));border:1px solid #e5e1d5;border-radius:12px;width:100%;padding:40px 48px}.reading-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:12px;display:flex}.reading-paper h1{font:700 34px/1.45 var(--serif);margin:24px 0}.reading-rule{background:#cdd3c3;width:64px;height:1px;margin:32px 0}.reader-block{overflow-wrap:anywhere;scroll-margin-top:200px;position:relative}.reader-block p,.reader-block li,.reader-block blockquote{font:400 var(--reading-size)/1.9 var(--serif)}.reader-block p{white-space:pre-wrap;margin-bottom:1.5em}.reader-block h2{font:700 calc(var(--reading-size) * 1.3)/1.55 var(--serif);margin:2em 0 1em}.reader-block h3{font:700 calc(var(--reading-size) * 1.1)/1.5 var(--serif)}.reader-block blockquote{color:var(--muted);border-left:3px solid #9caf8e;margin:24px 0;padding:4px 24px}.reader-block pre{border:1px solid var(--line);background:#efeee5;border-radius:8px;padding:20px;font-size:14px;overflow:auto}.reader-block img{max-width:100%;height:auto}.reader-block table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.reader-block td,.reader-block th{border:1px solid var(--line);padding:12px}.reader-block mark{color:inherit;background:#f0dfa0}.note-marker{width:44px;min-height:44px;color:var(--accent);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:0;right:-44px}.note-marker:hover{background:var(--soft)}.chapter-end{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding-top:24px;font-size:14px}.chapter-end p{margin-bottom:12px}.chapter-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:24px;margin-top:24px;padding-top:16px;display:flex}.chapter-navigation .text-button{text-align:left;overflow-wrap:anywhere;max-width:48%;font-size:14px}.reader-layout.with-notes{grid-template-columns:minmax(0,816px) 320px;gap:24px;max-width:1160px;display:grid}.responsive-panel-inline.reader-notes{top:calc(var(--header-height) + 104px);max-height:calc(var(--app-height,100dvh) - var(--header-height) - 128px);border:1px solid var(--line);background:var(--white);border-radius:12px;padding:20px;position:sticky;overflow:auto}.reader-notes h2{font-size:18px}.reader-notes>.muted{font-size:14px}.reader-note{border-bottom:1px solid var(--line);padding:24px 0;font-size:16px}.reader-note p{white-space:pre-wrap;overflow-wrap:anywhere}.reader-note blockquote,.reader-notes blockquote{color:var(--muted);border-left:3px solid #b7c5ad;margin:12px 0;padding-left:12px;font-size:14px}.reader-note small{font-size:12px}.reader-note .form-actions{gap:8px 16px}.reader-note summary{cursor:pointer;min-height:44px;padding:8px 0;font-size:14px}.reader-panel{max-width:1000px;margin:24px auto;scroll-margin-top:200px}.reader-panel h2{font-size:22px}.reader-panel select{max-width:280px;display:block}.reader-panel .form-actions{align-items:flex-end}.reader-update{background:var(--soft);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;max-width:816px;margin:24px auto;padding:12px 16px;font-size:14px;display:flex}.responsive-panel-inline.reader-chat-panel{width:360px;min-width:0;height:calc(var(--app-height,100dvh) - var(--header-height) - 48px);top:calc(var(--header-height) + 24px);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex-shrink:0;margin-top:24px;display:flex;position:sticky;overflow:hidden}.reader-chat{flex:1;width:100%;min-height:0}.reader-chat-panel>header,.reader-notes>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.reader-chat-panel>header{border-bottom:1px solid var(--line);margin:0;padding:12px 16px}.reader-chat-panel>header h2,.reader-notes>header h2{margin:0;font-size:18px}.reader-chat .chat-timeline{padding:20px 16px}.reader-chat .chat-header{padding:12px 16px}.reader-chat .chat-book-title>button{font:700 16px/1.5 var(--font)}.reader-chat .message-content{max-width:calc(100% - 44px)}.reader-chat .book-room-tabs{gap:0;padding:0 8px}.reader-chat .book-room-tabs>button{padding:10px 8px;font-size:12px}.reader-with-chat .reader-toolbar{flex-wrap:wrap}@media (max-width:1100px){.reader-toolbar{flex-wrap:wrap}}@media (max-width:767px){.reading-main{padding:0 16px calc(96px + env(safe-area-inset-bottom))}.reader-toolbar{align-items:flex-start;gap:4px;margin-bottom:16px;padding:8px 0}.reader-toolbar>.back-link{max-width:100%;min-height:44px}.reader-actions{flex-wrap:wrap;gap:4px;width:100%}.reader-actions>.button,.reader-more>summary{gap:6px;padding:8px}.reader-actions .reader-more:last-child{margin-left:auto}.reading-paper{border-radius:8px;padding:24px 20px}.reading-paper h1{font-size:28px}.reader-block blockquote{padding-left:16px}.reader-block h2{font-size:calc(var(--reading-size) * 1.2)}.reader-block ul,.reader-block ol{padding-left:24px}.note-marker{margin-left:auto;position:static}.reader-panel{padding:20px}.reader-update{flex-wrap:wrap}.reader-panel .form-actions{flex-direction:column;align-items:stretch}.reader-panel select{width:100%;max-width:100%}.chapter-navigation{gap:16px}.display-menu .popover-menu{left:-64px;right:auto}}
.diff-grid{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1fr 1fr;margin-bottom:20px;display:grid;overflow:hidden}.diff-before{border-right:1px solid var(--line)}.diff-title{border-bottom:1px solid var(--line);color:var(--muted);background:#f7f9f2;padding:12px 17px;font-size:12px}.diff-grid p{white-space:pre-wrap;color:var(--ink);margin:0;padding:8px 17px;font-size:16px;line-height:1.8}.diff-grid .diff-added{color:#365d35;background:#edf7e8}.diff-grid .diff-removed{color:#884837;background:#fff1eb}.rubric-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.vote-result p{color:var(--muted);font-size:14px;line-height:1.8}.honor-banner{color:var(--accent);background:#eef2e1;border:1px solid #e2e8d0;border-radius:10px;align-items:center;gap:25px;padding:31px;display:flex}.honor-banner h2{color:#5e7549;margin-bottom:10px;font-size:19px}.honor-banner p{color:var(--muted);margin:0;font-size:12px}.honor-banner>svg:last-child{opacity:.4;margin-left:auto}.honor-row{color:var(--muted);border-bottom:1px solid #edf1e5;grid-template-columns:55px 1fr 65px 65px 80px;align-items:center;gap:18px;padding:20px 25px;font-size:12px;display:grid}.honor-row:last-child{border-bottom:0}.honor-row.table-heading{letter-spacing:.5px;background:#fafcf5;padding-top:13px;padding-bottom:13px;font-size:12px}.person-cell{align-items:center;gap:12px;display:flex}.person-cell strong{color:var(--ink);font-size:14px}.person-cell small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.rank{color:var(--muted);font-family:Georgia,serif;font-size:21px}.rank-1{color:#796327}.hp{color:#45653b;font-size:18px}@media (max-width:1200px){.honor-row{gap:12px}}@media (max-width:1000px){.honor-banner>svg:last-child{display:none}.honor-banner h2{font-size:17px}.honor-row{grid-template-columns:32px 1fr 40px 45px 60px;padding:16px}.person-cell{gap:8px}.person-cell strong{font-size:12px}.honor-row .avatar{width:29px;height:29px;font-size:12px}.hp{font-size:15px}.honor-banner{padding:23px}.rubric-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.honor-row{grid-template-columns:35px 1fr 40px 50px 70px}}@media (max-width:520px){.diff-grid{grid-template-columns:1fr}.diff-before{border-right:0;border-bottom:1px solid var(--line)}.diff-grid p{font-size:12px}.rubric-grid{gap:12px}.honor-banner{gap:18px;padding:22px}.honor-banner>svg{flex-shrink:0;width:33px}.honor-banner h2{font-size:16px;line-height:1.4}.honor-banner p{font-size:12px}.honor-row{grid-template-columns:27px 1fr 25px 35px 48px;gap:8px;padding:17px 12px;font-size:12px}.honor-row.table-heading{font-size:12px}.person-cell{gap:7px}.person-cell .avatar{width:26px;height:26px;font-size:12px}.person-cell strong{font-size:12px;line-height:1.3;display:block}.person-cell small{font-size:12px}.hp{font-size:15px}.rank{font-size:17px}.honor-row .rank svg{width:17px}.collaborator-input{grid-template-columns:minmax(0,1fr) 80px 44px}}.reader-panel .diff-grid{margin-top:16px}.reader-panel .diff-grid p{white-space:pre-wrap;overflow-wrap:anywhere}.collaborator-input{grid-template-columns:minmax(0,1fr) 130px 45px;align-items:center;gap:12px;margin:16px 0;display:grid}.collaborator-input .field{margin:0}@media (max-width:520px){.collaborator-input{grid-template-columns:minmax(0,1fr) 75px 25px;gap:6px}}.suggestion-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5ec;border-radius:6px;padding:16px}.community-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:18px;margin-top:20px;display:grid}.community-feed{max-height:75vh;overflow:auto}.community-message{border-bottom:1px solid var(--line);padding:18px 0}.community-message.pinned{border-left:3px solid #96aa79;padding-left:14px}.community-message-meta,.community-message-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.community-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.community-message-actions .text-button{font-size:12px}.community-layout aside{max-height:75vh;overflow:auto}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 10px}.data-table th{color:var(--muted);font-size:12px}
.auth-layout{grid-template-columns:1fr 440px;align-items:center;gap:80px;max-width:1060px;margin:48px auto;display:grid}.auth-story{padding:24px}.auth-story h1{font:400 44px/1.4 var(--serif);max-width:440px;margin:20px 0}.auth-story>p{max-width:390px;color:var(--muted);line-height:1.9}.auth-quote{display:none}.auth-form{box-shadow:var(--shadow);border-radius:16px;padding:36px}.auth-form h2{font-size:27px}.auth-form>.muted{margin-bottom:28px;font-size:14px}.form-icon{background:var(--soft);border-radius:12px;margin-bottom:24px;padding:12px;display:inline-flex}.auth-form>.button{width:100%}.auth-switch{text-align:center;color:var(--muted);margin-top:24px;font-size:14px}.auth-switch button{color:var(--accent);background:0 0;border:0;min-height:44px;font-weight:700}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.settings-grid>.panel:only-child{grid-column:1/-1;width:100%;max-width:760px}.settings-grid .panel{min-width:0}.settings-grid h2{font-size:20px}.profile-summary{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin:0 0 28px;padding:16px 0 24px;display:flex}.profile-summary strong,.profile-summary small{display:block}.profile-summary small{color:var(--muted);font-size:13px}.secret-key{overflow-wrap:anywhere;white-space:pre-wrap;background:var(--paper);padding:16px;font-size:14px;display:block}.recovery-codes{background:#fff4d9;border:1px solid #eddbb0;border-radius:8px;margin-top:24px;padding:18px}.recovery-codes code{margin:6px 12px 6px 0;font-size:14px;display:inline-block}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:32px;display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);background:var(--white);border-radius:10px;min-width:0;padding:24px}.stat>span{color:var(--muted);margin-bottom:10px;font-size:14px;display:block}.stat>strong{letter-spacing:-1px;overflow-wrap:anywhere;font-size:28px;line-height:1.4;display:block}.stat>strong>small{letter-spacing:0;font-size:14px}.stat>small{color:var(--muted);margin-top:8px;font-size:12px;display:block}.stat.featured{background:var(--soft);border-color:#d5dfcb}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;min-height:78px;padding:20px 0;font-size:16px;display:flex}.list-row:last-child{border-bottom:0}.list-row strong{font-size:16px}.list-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.list-row.padded{padding:22px 24px}.list-row.full-button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;width:100%;padding:22px 0}.list-row.full-button>div{flex:1}.list-row.full-button:hover{background:var(--paper)}.number-pair{text-align:right}.number-pair strong{display:block}.positive-icon{background:var(--soft);width:42px;height:42px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.notification-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;gap:18px;width:100%;padding:24px;display:flex}.notification-row.unread{box-shadow:inset 3px 0 var(--accent);background:var(--soft)}.notification-row h3{margin-bottom:8px;font-size:16px}.notification-row p{color:var(--muted);white-space:pre-line;margin-bottom:6px;font-size:16px}.notification-row small{color:var(--muted);font-size:12px}.notification-row button{min-height:44px}.community-controls{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.community-controls .field{flex:1;margin-bottom:0}.workspace-context{justify-content:space-between;align-items:center;margin:0 0 24px;display:flex}.workspace-context .back-link{margin:0}.studio-book-list{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.studio-book-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:22px;width:100%;padding:24px;display:flex}.studio-book-row:last-child{border:0}.studio-book-row:hover{background:var(--soft)}.studio-book-row .jacket-small{width:48px;height:66px}.studio-book-row strong{margin-bottom:5px;font-size:16px;display:block}.studio-book-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:700px;font-size:14px;display:block;overflow:hidden}.list-toolbar{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 24px}.list-toolbar .field{max-width:420px;margin:0}details.panel>summary{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:600;display:flex}details.panel>summary:before{content:"+";color:var(--accent);font-size:22px}details.panel[open]>summary:before{content:"−"}details.panel[open]>summary{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:16px}.application-management .panel{max-width:100%}.application-management .panel form{max-width:900px}.application-management .tabs{margin-top:28px}.workflow-steps{color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:16px;margin:0 0 28px;padding:0;font-size:13px;list-style:none;display:flex}.workflow-steps>li{border-bottom:2px solid #0000;flex:1;padding:12px 0}.workflow-steps>li[aria-current=step]{color:var(--accent);border-color:var(--accent);font-weight:700}.workflow-steps button{text-align:left;color:inherit;background:0 0;border:0;min-height:44px;padding:8px 0}.purchase-flow .workflow-steps{gap:10px;margin-bottom:16px;font-size:12px;line-height:1.5}.purchase-flow>.section-space{margin-top:12px}.purchase-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.purchase-options>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:12px}.purchase-options[open]>summary{margin-bottom:12px}.purchase-options .checkbox-label{font-size:12px}.purchase-flow .reader-note{border:0;padding:8px 0;font-size:13px}.purchase-flow .list-row{gap:12px;min-height:48px;padding:10px 0;font-size:12px}.purchase-flow .list-row strong{font-size:13px}.checkout-panel{max-width:720px;margin:32px auto;padding:36px}.checkout-icon{background:var(--soft);width:70px;height:70px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.checkout-panel>.badge{margin-bottom:16px}.checkout-books{border-bottom:1px solid var(--line);padding:16px 0}.checkout-books p{margin:0}.checkout-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 0;font-size:14px;display:flex}.checkout-line.total{padding:24px 0;font-size:16px;font-weight:600}.checkout-line.total strong{color:var(--accent);font-size:26px}.payment-methods{flex-wrap:wrap;gap:12px;margin:28px 0;display:flex}.payment-methods button{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;min-height:48px;padding:14px;font-size:14px}.payment-methods button.selected{background:var(--soft);border-color:var(--accent)}.checkout-panel>.button{margin:12px 12px 12px 0}.checkout-panel .fineprint{margin-top:20px}.demo-payment{background:#fff2d9;border-radius:10px;margin-bottom:20px;padding:20px;font-size:14px}.book-context-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:20px;display:flex}.book-context-nav>div{align-items:center;gap:18px;display:flex}.book-context-nav .room-menu>summary{font-size:13px}.pr-row{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:18px;width:100%;padding:24px;display:flex}.pr-row:hover{background:var(--paper)}.pr-row h3{margin-bottom:4px;font-size:16px}.pr-row p{color:var(--muted);margin:0 0 4px;font-size:14px}.pr-row small{color:var(--muted);font-size:12px}.pr-icon{width:44px;height:44px;color:var(--accent);background:#ecf2e6;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.pr-icon.merged{color:#675087;background:#ece7f3}.contribution-composer{max-width:1000px;margin:0 auto}.composer-navigation{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.composer-navigation p{color:var(--muted);margin:0;font-size:12px}.composer-navigation .form-actions{margin:0}.draft-secondary-actions{gap:24px;margin-top:12px;display:flex}.draft-secondary-actions .text-button{font-size:12px}.draft-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:14px 0}.draft-preview summary{cursor:pointer;min-height:44px;font-size:14px}.draft-preview p{font-size:15px;line-height:1.8}.editor-shell{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.review-rubric{border:1px solid var(--line);border-radius:10px;margin-bottom:24px;padding:20px}.review-rubric legend{padding:0 8px;font-size:14px}.rubric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.rubric-grid .field{margin-bottom:0}.data-table th,.data-table td{padding:16px;font-size:14px}.data-table th{color:var(--muted);font-weight:600}.table-scroll{border:1px solid var(--line);border-radius:10px}.honor-row{font-size:14px}.honor-row .person-cell small{font-size:12px}.account-content .settings-grid{grid-template-columns:1fr}.account-content .settings-grid>.panel{width:100%;max-width:800px}.checkout-panel .form-actions .button{flex:1}@media (max-width:1100px){.auth-layout{grid-template-columns:1fr 420px;gap:40px}.auth-story h1{font-size:34px}.stats-grid{gap:14px}.stat{padding:20px}.stat>strong{font-size:24px}.book-context-nav{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width:767px){.auth-layout{max-width:460px;margin:0 auto;display:block}.auth-story{display:none}.auth-form{padding:28px 24px}.settings-grid{grid-template-columns:1fr;gap:20px}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-grid.three>.stat:last-child{grid-column:1/-1}.stat{padding:18px}.stat>strong{font-size:23px}.stat>span{font-size:12px}.list-row{flex-wrap:wrap;gap:12px;font-size:16px}.list-row .grow{min-width:150px}.list-row.padded,.list-toolbar{padding:20px}.studio-book-row{flex-wrap:wrap;gap:14px;padding:20px}.studio-book-row .grow{min-width:140px}.studio-book-row .badge{margin-left:62px}.studio-book-row small{max-width:200px}.checkout-panel{margin-top:24px;padding:24px}.checkout-line.total strong{font-size:24px}.checkout-line{font-size:13px}.payment-methods{gap:8px}.payment-methods button{padding:12px;font-size:12px}.workflow-steps{align-items:stretch;gap:10px;font-size:12px}.workflow-steps>li{align-items:center;display:flex}.workflow-steps button{font-size:12px}.pr-row{flex-wrap:wrap;gap:12px;padding:20px}.pr-row .grow{min-width:180px}.pr-row>.badge{margin-left:56px}.pr-row h3{font-size:15px}.pr-row small{font-size:12px}.book-context-nav>div{flex-wrap:wrap;gap:12px}.book-context-nav .text-button{font-size:12px}.composer-navigation{flex-direction:column;align-items:flex-start;gap:12px}.composer-navigation .form-actions{justify-content:flex-end;width:100%}.draft-secondary-actions{flex-wrap:wrap;gap:12px}.rubric-grid{grid-template-columns:1fr 1fr;gap:16px}.review-rubric{padding:16px}.inline-form{flex-direction:column;align-items:stretch}.notification-row{gap:12px;padding:20px}.notification-row h3,.notification-row p{font-size:16px}}.tiny-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:8px}.settings-section{border:0;border-top:1px solid var(--line);margin:24px 0 36px;padding:24px 0 0}.settings-section legend{padding:0 16px 0 0;font-size:18px;font-weight:700}.settings-section h3{margin:20px 0 12px;font-size:15px}.settings-section>p{color:var(--muted);font-size:14px}.studio-edition{background:var(--soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.studio-edition .field{flex:1;min-width:0;max-width:520px;margin:0}.studio-edition>p{flex:1;min-width:180px;margin:0;font-size:14px}
.writing-main{max-width:none;min-height:calc(var(--app-height,100dvh) - var(--header-height));padding:0}.author-workspace{--reading-size:20px;--reading-paper:#fffaf0;--author-header-height:88px;--workspace-top:var(--header-height);background:var(--paper);min-height:calc(var(--app-height,100dvh) - var(--header-height))}.author-header{border-bottom:1px solid var(--line);background:var(--white);top:var(--workspace-top);z-index:22;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:24px;padding:16px 24px;display:grid;position:sticky}.author-book-context{align-items:center;gap:12px;min-width:0;display:flex}.author-book-context>.jacket-small{flex-shrink:0;width:32px;height:44px}.author-book-context>div{min-width:0}.author-book-context small{color:var(--muted);font-size:12px}.author-book-context h1{font:700 16px/1.5 var(--font);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;overflow:hidden}.author-save-status{min-width:0}.author-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.author-layout{grid-template-columns:264px minmax(0,1fr);display:grid}.author-outline{top:calc(var(--workspace-top) + var(--author-header-height));height:calc(var(--app-height,100dvh) - var(--workspace-top) - var(--author-header-height));border-right:1px solid var(--line);scrollbar-width:thin;background:#f0f0e6;flex-direction:column;padding:24px 12px;display:flex;position:sticky;overflow:auto}.author-outline-heading{justify-content:space-between;align-items:center;margin:0 12px 24px;display:flex}.author-outline-heading small{color:var(--muted);font-size:12px}.author-outline-heading h2{font:700 24px/1.5 var(--serif);margin:4px 0 0}.outline-close,.outline-toggle{display:none}.outline-edition{border-bottom:1px solid var(--line);margin-bottom:16px;padding:0 12px 16px}.outline-edition label{color:var(--ink);font-size:14px}.outline-edition select{background:var(--white);width:100%;margin:8px 0;font-size:14px}.outline-edition>small{color:var(--muted);font-size:12px}.outline-chapters{flex-direction:column;gap:8px;display:flex}.outline-chapter{border-radius:10px;grid-template-columns:minmax(0,1fr) 44px;align-items:start;min-width:0;display:grid}.outline-chapter.selected{background:var(--white);box-shadow:inset 3px 0 var(--accent)}.outline-chapter:hover{background:#e7eddf}.outline-chapter-link{text-align:left;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:8px;width:100%;min-height:80px;padding:12px;display:flex}.outline-number{color:var(--muted);margin-top:3px;font-size:12px}.outline-chapter-link>span:last-child{flex:1;min-width:0}.outline-chapter-link strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.6;display:block}.outline-chapter-link small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.outline-chapter-actions{flex-direction:column-reverse;padding:4px 0;display:flex}.outline-chapter-actions>button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.outline-chapter-actions>button:hover{background:var(--soft);color:var(--ink)}.outline-chapter-actions>button[draggable]{cursor:grab}.outline-add{background:var(--white);color:var(--accent);border:1px solid #c6d1bb;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:16px;font-size:14px;display:flex}.outline-add:hover{background:var(--soft)}.outline-bottom{margin-top:auto;padding:24px 12px 0}.outline-bottom>p{color:var(--muted);margin-bottom:8px;font-size:12px}.outline-bottom>.text-button{font-size:14px}.removed-chapters{color:var(--muted);margin-top:24px;font-size:14px}.removed-chapters summary{cursor:pointer;min-height:44px;padding:12px}.removed-chapters>div{justify-content:space-between;align-items:center;gap:8px;padding-left:12px;display:flex}.removed-chapters>div>span{overflow-wrap:anywhere;flex:1}.author-document{min-width:0;padding:32px 48px 96px}.author-chapter{max-width:var(--writing-measure);margin:0 auto}.chapter-status{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.chapter-status>span,.chapter-status>div{align-items:center;gap:8px;display:flex}.chapter-status>span{line-height:1.5}.chapter-status .text-button{white-space:nowrap;font-size:14px}.unsaved-dot{background:#996a26;border-radius:50%;flex-shrink:0;width:8px;height:8px}.chapter-title-input{width:100%;color:var(--ink);display:block;font:700 34px/1.5 var(--serif)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:16px 0 24px!important}.chapter-title-input::placeholder{color:var(--muted)}.chapter-title-input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.author-writing{max-width:var(--writing-measure);margin:auto}.author-writing .block-editor{background:0 0;border:0;border-radius:0;overflow:visible}.author-writing .editor-controls{top:calc(var(--workspace-top) + var(--author-header-height));z-index:15;background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:24px;position:sticky}.author-writing .editor-toolbar{background:0 0;border:0;padding:8px 0}.chapter-settings{background:var(--soft);border-radius:10px;margin:0 0 24px;padding:20px 24px}.chapter-settings p{color:var(--muted);margin-bottom:0;font-size:14px}.chapter-settings .checkbox-label{font-size:16px}.author-preview.reading-paper{border:1px solid var(--line);max-width:var(--writing-measure);margin:auto;padding:32px 40px}.author-preview>small{color:var(--muted);font:12px/1.6 var(--font)}.published-note{background:var(--soft);border-radius:10px;margin-bottom:24px;padding:24px}.author-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:440px;min-height:60vh;margin:0 auto;display:flex}.author-empty>svg{color:var(--accent);margin-bottom:24px}.author-empty>small{color:var(--muted);font-size:12px}.author-empty h2{font:400 30px/1.6 var(--serif);margin:16px 0}.author-empty p{color:var(--muted);margin-bottom:24px;line-height:1.8}.author-focus .app-header{display:none}.author-workspace.focused{--workspace-top:0px}.focused .author-layout{grid-template-columns:1fr}.focused .outline-toggle{display:inline-flex}.author-focus .writing-main{min-height:100dvh}.mobile-author-outline{flex-direction:column;min-height:60dvh;display:flex}.mobile-author-outline .author-outline-heading{display:none}.mobile-author-outline .outline-bottom{margin-top:24px}.publish-chapters{margin:24px 0;padding:0;list-style:none}.publish-chapters li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 0;display:flex}.publish-chapters li>svg{color:var(--accent)}.publish-chapters strong{overflow-wrap:anywhere;flex:1}.publish-chapters small{color:var(--muted);font-size:12px}.draft-conflict-grid{grid-template-columns:1fr 1fr;gap:24px;max-height:55dvh;display:grid;overflow:auto}.draft-conflict-grid>section{background:var(--paper);overflow-wrap:anywhere;min-width:0;padding:20px}.draft-conflict-grid h3{border-bottom:1px solid var(--line);padding-bottom:12px;font-size:16px}.draft-conflict-grid p{font-size:16px}.studio-writing-entry{align-items:center;gap:24px;display:flex}.studio-writing-entry>div{flex:1}.studio-writing-entry p{color:var(--muted);max-width:540px}.studio-book-row .grow{min-width:0}.editor{border:1px solid var(--line);background:var(--white);border-radius:12px}.editor-loading{text-align:center;color:var(--muted);padding:48px 24px}.block-editor{overflow:visible}.editor-toolbar{border-bottom:1px solid var(--line);background:var(--paper);border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.editor-toolbar>button{color:var(--ink);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px;font-size:14px;display:inline-flex}.editor-toolbar>button:hover,.editor-toolbar>button[aria-pressed=true]{color:var(--forest-dark);background:#dfe9d6}.editor-toolbar>.editor-add-block{background:var(--soft);padding:8px 12px;font-weight:600}.editor-toolbar .toolbar-divider{background:var(--line);width:1px;height:24px;margin:0 4px}.editor-toolbar>small{font:12px/1.5 var(--font);color:var(--muted);margin-left:auto}.editor-canvas{position:relative}.tiptap{font-family:var(--serif);overflow-wrap:anywhere;min-height:450px;padding:24px 32px 80px 48px;font-size:20px;line-height:1.9}.author-writing .tiptap{padding:8px 0 80px 24px}.tiptap p{margin:0 0 1em}.tiptap>p:only-child:empty:before{content:"Bắt đầu viết, hoặc gõ / để thêm một khối…";color:var(--muted);pointer-events:none;float:left;height:0}.tiptap h1{font-size:32px}.tiptap h2{font-size:28px}.tiptap h3{font-size:24px}.tiptap blockquote{color:var(--muted);border-left:3px solid #a5b995;margin:24px 0;padding-left:24px}.tiptap pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edeede;border-radius:8px;padding:20px;font:14px/1.8 monospace}.tiptap:focus-visible{outline-offset:8px;border-radius:4px;outline:2px solid #8aa580}.block-handle{z-index:5;align-items:center;min-height:44px;display:flex;position:absolute;left:0}.author-writing .block-handle{left:-20px}.block-handle>button{width:44px;height:44px;color:var(--muted);cursor:grab;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.block-handle:hover>button,.block-handle:focus-within>button,.block-handle.active>button{background:var(--soft);color:var(--accent)}.block-handle.drop-target{border-top:3px solid var(--accent);width:100%}.block-actions{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);z-index:8;border-radius:10px;padding:4px;display:flex;position:absolute;top:0;left:44px}.block-actions>button{background:0 0;border:0;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.block-actions>button:hover{background:var(--soft)}.slash-menu{background:var(--white);border:1px solid var(--line);z-index:400;border-radius:12px;width:260px;max-height:min(360px,70dvh);padding:8px;position:fixed;overflow:auto;box-shadow:0 12px 48px #20362926}.slash-menu>small{color:var(--muted);padding:12px;font-size:12px;display:block}.slash-menu>button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.slash-menu>button:hover,.slash-menu>button[aria-selected=true]{background:var(--soft)}.table-toolbar{background:var(--soft);flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.table-toolbar button{background:var(--white);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 12px;font-size:14px}.editor-notice{background:var(--soft);padding:12px 20px;font-size:14px}.selection-toolbar{background:var(--ink);box-shadow:var(--shadow);z-index:320;border-radius:10px;gap:4px;padding:4px;display:flex;position:fixed}.selection-toolbar button{color:#fff;background:0 0;border:0;border-radius:6px;place-items:center;width:44px;min-height:44px;display:grid}.selection-toolbar button:hover,.selection-toolbar button[aria-pressed=true]{background:#4c695a}.book-image,.editor-image{max-width:100%;margin:24px 0}.book-image img,.editor-image img{object-fit:contain;border-radius:8px;max-width:100%;height:auto;margin:0 auto;display:block}.book-image figcaption{font:14px/1.7 var(--font);color:var(--muted);text-align:center;overflow-wrap:anywhere;padding:12px}.editor-image.selected>img{outline-offset:4px;outline:2px solid #789664}.image-fields{font:14px/1.6 var(--font);margin-top:8px}.image-fields>input{text-align:center;border:1px solid var(--line);background:var(--white);width:100%;font-size:14px}.image-fields details{color:var(--muted);margin:8px 0}.image-fields summary{cursor:pointer;min-height:44px;padding:8px 0;font-size:14px}.image-fields details input{width:100%;font-size:14px}.book-table-scroll{max-width:100%;margin:24px 0;overflow:auto}.book-table{border-collapse:collapse;width:100%;font:16px/1.7 var(--font)}.book-table th,.book-table td{vertical-align:top;overflow-wrap:anywhere;border:1px solid #ced6c5;min-width:80px;padding:12px}.book-table th{background:var(--soft);font-weight:600}.book-table p{margin:0!important}.tiptap table{max-width:100%;margin:24px 0;display:block;overflow:auto}.tiptap table tbody{width:100%;min-width:320px;display:table}.book-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.diff-move{font:12px/1.5 var(--font);color:var(--accent);padding:8px 16px;display:block}.diff-grid>div{min-width:0}@media (max-width:1199px){.author-header{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:12px 24px}.author-save-status{border-top:1px solid var(--line);grid-area:2/1/auto/-1}.chapter-status{justify-content:flex-end}.author-document{padding:24px 32px 80px}.chapter-title-input{font-size:30px!important}}@media (max-width:1023px){.author-layout{grid-template-columns:1fr}.outline-toggle{display:inline-flex}}@media (max-width:767px){.writing-main{padding:0!important}.author-header{flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex;position:relative;top:auto}.author-book-context{flex-basis:100%;gap:8px}.author-book-context>.jacket-small,.author-book-context small{display:none}.author-book-context>div{flex:1}.author-book-context h1{margin:0;font-size:16px}.author-header-actions{order:1;gap:4px;width:100%}.author-header-actions .outline-toggle{margin-right:auto}.author-header-actions .button{padding:8px 12px}.author-save-status{flex-basis:100%;order:2}.chapter-status{justify-content:space-between}.author-document{padding:24px 24px 80px}.chapter-title-input{padding:8px 0 24px!important;font-size:28px!important}.author-writing .editor-controls{top:var(--workspace-top);margin-bottom:24px}.editor-toolbar>small,.editor-toolbar .toolbar-divider{display:none}.tiptap{min-height:50dvh;padding:24px 16px 64px 44px}.author-writing .tiptap{padding:8px 0 64px 20px}.author-writing .block-handle{left:-24px}.author-preview.reading-paper{padding:24px 20px}.studio-writing-entry{flex-wrap:wrap;gap:16px}.studio-writing-entry>div{flex-basis:80%}.studio-writing-entry>.button{width:100%}.studio-book-row .grow small{white-space:normal}.draft-conflict-grid{grid-template-columns:1fr}.publish-chapters li{flex-wrap:wrap}.publish-chapters small{width:100%;padding-left:28px}.author-empty h2{font-size:26px}}
.proposal-save-status{border:1px solid var(--line);background:var(--white);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:16px;padding:14px 18px;font-size:.92rem;display:flex}.proposal-save-status strong{color:var(--accent);font-weight:600}.paste-notice,.content-issues{border-radius:12px;margin:12px;padding:16px 20px;line-height:1.6}.paste-notice ul,.content-issues ul,.submission-checks{margin-block:10px;padding-inline-start:24px}.paste-notice p{margin-block:8px;font-size:.9rem}.content-issues{color:#813f2c;background:#fff5ee;border:1px solid #bd7463}.content-issues button{color:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 0;line-height:1.6;text-decoration:underline}.block-editor hr,.reading-paper hr,.draft-preview hr,.diff-grid hr,.pr-conflict hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}.pr-conflict{border:1px solid #bd9870;margin-block:20px}.pr-conflict fieldset{border:0;border-top:1px solid var(--line);min-width:0;margin:20px 0;padding:20px 0}.pr-conflict legend{padding-inline-end:12px;font-weight:650}.conflict-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.conflict-columns>div{overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0;max-height:400px;padding:16px;overflow:auto}.conflict-columns h3{font:600 .9rem var(--font);margin:0 0 14px}.conflict-columns pre{white-space:pre-wrap}.pr-conflict .form-actions label{align-items:center;gap:8px;padding-block:8px;display:flex}.recovery-panel{border:1px solid #bd9870}.recovery-panel .list-row{flex-wrap:wrap;gap:12px}.pr-metadata{margin-block:20px}.pr-metadata[open]>summary{margin-bottom:20px}#pr-collaboration{scroll-margin-top:100px}.collaboration-form fieldset{border:0;min-width:0;margin-top:24px;padding:0}.collaboration-form legend{margin-bottom:16px;font-weight:650}.collaborator-results{border:1px solid var(--line);border-radius:12px;margin-bottom:20px;overflow:hidden}.collaborator-results>button{text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--white);width:100%;color:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.collaborator-results>button:hover{background:var(--paper)}.collaborator-results>p{padding:12px 16px}.collaborator-results span{color:var(--accent);font-size:.86rem}.collaboration-form .collaborator-input{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto;align-items:center;gap:16px;padding-block:12px;display:grid}.collaboration-form .field{margin-bottom:12px}@media (max-width:600px){.conflict-columns{grid-template-columns:1fr}.collaboration-form .collaborator-input{grid-template-columns:minmax(0,1fr) minmax(100px,130px);gap:10px}.collaboration-form .collaborator-input>button{grid-column:1/-1;justify-self:start}.proposal-save-status{padding:12px}}
.bank-transfer{text-align:left;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.bank-transfer .info-note{align-items:flex-start;gap:12px}.bank-transfer .info-note p{margin:.5rem 0}.transfer-instructions{margin:1rem 0}.transfer-instructions summary{cursor:pointer;padding:.75rem 0;font-weight:600}.transfer-grid{grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.transfer-qr{background:#fff;border-radius:12px;justify-items:center;gap:.75rem;padding:.5rem;display:grid}.transfer-qr img{width:100%;max-width:256px;height:auto}.transfer-detail{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.transfer-detail span{color:var(--muted);font-size:.8rem;display:block}.transfer-detail strong{overflow-wrap:anywhere;display:block}.transfer-filters{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.transfer-filters .field{flex:1;min-width:190px;margin:0}.manual-payment-card{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:1rem 0}.manual-payment-card h3{margin:0}.manual-payment-card .section-heading{flex-wrap:wrap;gap:1rem}.verification-pending{overflow-wrap:anywhere;margin:2rem auto}.verification-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}@media (max-width:600px){.transfer-grid{grid-template-columns:1fr}.transfer-qr{justify-self:center;max-width:260px}.transfer-filters .field{min-width:100%}.app-utilities .signup-link{padding:.6rem;font-size:.82rem}}@media (max-width:420px){.app-utilities:has(.signup-link)>button:first-child{display:none}.app-utilities:has(.signup-link) .button{padding:8px;font-size:12px}.app-header:has(.signup-link){gap:6px}.app-header:has(.signup-link) .app-brand{gap:5px;font-size:18px}}

