@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#17171e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f9f8f5;--ink:#17171e;--muted:#787783;--violet:#7365df;--lavender:#eeebfb;--border:#c6c3cd;--mono:"IBM Plex Mono", monospace;--surface:#fff;--reader-bg:#eae8e5;--accent:#6153c0;background:#f9f8f5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}input{min-width:0;color:var(--ink);background:#fff;border:1px solid #a6a1b4;border-radius:8px;outline:none;padding:15px 17px}input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7365df20}input::placeholder{color:#898593}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--violet);outline-offset:4px}button svg{flex-shrink:0}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:13px;min-height:56px;padding:15px 26px;font-size:17px;font-weight:650;transition:background .16s,transform .16s,border-color .16s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--violet);color:#fff;border-color:var(--violet)}.button.primary:not(:disabled):hover{background:#6254cd;border-color:#6254cd}.button.outline{border-color:var(--ink);color:var(--ink);background:0 0}.button.outline:not(:disabled):hover{background:#eeebf2}.button.soft{background:var(--lavender);color:#594ec1}.button.compact{gap:8px;min-height:44px;padding:10px 18px;font-size:14px}.button.full{width:100%}.brand{color:var(--ink);background:0 0;border:0;align-items:center;gap:17px;padding:0;display:flex}.brand>span{letter-spacing:-1.7px;font-size:38px;font-weight:800}.brand small{color:var(--muted);letter-spacing:-.2px;margin-left:3px;font-size:17px;font-weight:400}.home-shell{max-width:1550px;margin:auto;padding:0 54px}.home-header{border-bottom:1px solid #918b9e;justify-content:space-between;align-items:center;height:105px;display:flex}.home-header nav{align-items:center;gap:36px;display:flex}.home-header nav a{color:var(--muted);font-size:16px;text-decoration:none}.home-header nav a:hover{color:var(--violet)}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:56px;min-height:739px;padding:32px 12px 47px;display:grid}.hero-copy{padding:25px 0 0}.hero h1{letter-spacing:-.067em;margin:0 0 28px;font-size:clamp(54px,6.15vw,93px);font-weight:800;line-height:1.04}.hero h1 span{color:var(--violet);white-space:nowrap}.hero-description{color:var(--muted);letter-spacing:-.35px;margin:0 0 32px;font-size:clamp(16px,1.48vw,22px);line-height:1.5}.hero-actions{align-items:center;gap:18px;display:flex}.hero-actions .button{white-space:nowrap;flex:1;min-height:66px;padding:16px 28px;font-size:21px}.hero-actions .primary{justify-content:space-between}.account-caption{color:var(--muted);margin:21px 0 43px;font-size:16px}.invite-form{border-top:1px solid #9690a1;padding-top:25px}.invite-form label{font:14px var(--mono);margin-bottom:11px;display:block}.invite-form>div{gap:14px;display:flex}.invite-form input{width:100%;font:14px var(--mono);min-height:54px}.invite-form .button{min-height:54px;padding:12px 26px}.hero-preview{align-items:center;min-width:0;height:660px;padding-right:135px;display:flex;position:relative}.chapter-preview{border:2px solid var(--ink);background:#15151b;border-radius:17px;overflow:hidden}.main-preview{width:100%;height:660px}.preview-toolbar{color:#fff;align-items:center;gap:17px;height:47px;padding:16px 15px;font-size:12px;display:flex}.preview-toolbar span{white-space:nowrap;flex:1;font-weight:600}.preview-toolbar small{white-space:nowrap;font-size:11px}.preview-art{background:#192b35;height:calc(100% - 97px);overflow:hidden}.preview-art img{width:127%;max-width:none;display:block;position:relative;left:-13.5%}.preview-sync{background:#e9e2fc;align-items:center;gap:12px;height:50px;padding:0 22px;font-size:12px;display:flex}.preview-sync span{white-space:nowrap;flex:1}.preview-sync i{background:var(--violet);border-radius:50%;width:9px;height:9px}.preview-sync i+i{background:#c4bcda}.phone-preview{border-width:4px;border-radius:25px;outline:2px solid #fff;width:180px;height:381px;position:absolute;top:188px;right:0;box-shadow:0 4px #1d1d2020}.phone-preview .preview-toolbar{gap:5px;height:38px;padding:10px 6px;font-size:7px}.phone-preview .preview-toolbar small{font-size:7px}.phone-preview .preview-art{height:calc(100% - 70px)}.phone-preview .preview-art img{width:205%;left:-52.5%}.phone-preview .preview-sync{gap:7px;height:32px;padding:0 9px;font-size:8px}.phone-preview .preview-sync i{background:#19a596;width:7px;height:7px}.phone-preview .preview-sync i+i{display:none}.buddy-sticker{background:#e9e2ff;border:1px solid #c9bffc;border-radius:20px;place-items:center;width:82px;height:82px;display:grid;position:absolute;top:77px;right:22px;transform:rotate(13deg);box-shadow:0 3px #2222220a}.buddy-sticker span{background:var(--violet);width:16px;height:2px;position:absolute;top:35px;right:-30px}.buddy-sticker span:before,.buddy-sticker span:after{content:"";background:var(--violet);width:15px;height:2px;position:absolute;top:-15px;left:-3px;transform:rotate(-30deg)}.buddy-sticker span:after{top:15px;transform:rotate(30deg)}.steps{border-block:1px solid #918b9e;grid-template-columns:repeat(3,1fr);padding:36px 0;scroll-margin-top:24px;display:grid}.step{border-right:1px solid #b5afc0;align-items:center;gap:29px;padding:0 27px;display:flex}.step:first-child{padding-left:0}.step:last-child{border-right:0;padding-right:0}.step-number{color:var(--muted);letter-spacing:-2px;border-right:1px solid #b5afc0;padding-right:27px;font-size:34px;line-height:1}.step h2{letter-spacing:-.6px;margin:0 0 6px;font-size:19px;font-weight:700}.step p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.home-footer{color:var(--muted);justify-content:space-between;padding:21px 0;font-size:14px;display:flex}.modal{background:var(--paper);width:min(510px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);border:1px solid #ccc6d4;border-radius:18px;padding:0;box-shadow:0 25px 90px #14102426}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18132770}.modal-content{padding:36px}.modal h2{letter-spacing:-1.2px;margin:0 20px 20px 0;font-size:30px;line-height:1.15}.modal-close{position:absolute;top:14px;right:14px}.icon-button{min-width:36px;min-height:36px;color:var(--ink);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--lavender)}.stack-form{flex-direction:column;gap:11px;display:flex}.stack-form>p:first-child,.modal-description{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.6}.stack-form label,.field-label{margin-top:7px;font-size:13px;font-weight:600;display:block}.optional{color:var(--muted);margin-left:5px;font-size:12px;font-weight:400;display:inline-block}.stack-form input{width:100%;font-size:14px}.stack-form .full{margin-top:14px;font-size:15px}.source-links{color:#6254cd;gap:24px;margin:4px 0 7px;font-size:12px;display:flex}.source-links a{align-items:center;gap:5px;text-decoration:none;display:flex}.source-links a:hover{text-decoration:underline}.form-error{color:#a23352;margin:4px 0;font-size:13px;line-height:1.5}.reader-shell{flex-direction:column;max-width:1600px;height:100dvh;margin:auto;padding:0 40px 24px;display:flex}.reader-header{border-bottom:1px solid var(--border);flex:0 0 82px;justify-content:space-between;align-items:center;height:82px;display:flex}.reader-header .brand{gap:10px}.reader-header .brand>span{font-size:30px}.reader-header .brand svg{width:28px}.reader-header-caption{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.reading-layout{flex:1;grid-template-columns:minmax(0,1fr) 305px;gap:36px;min-height:0;padding-top:21px;display:grid}.reading-area{flex-direction:column;min-height:0;display:flex}.chapter-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:79px;padding:0 2px 18px;display:flex}.chapter-heading p{color:var(--muted);margin:0 0 5px;font-size:12px}.chapter-heading h1{letter-spacing:-.9px;margin:0;font-size:26px;font-weight:700;line-height:1.25}.reader-viewport{overscroll-behavior:contain;scrollbar-color:#aaa1bd transparent;scrollbar-width:thin;scroll-behavior:auto;background:#e7e5e2;border:1px solid #b6b0bc;border-radius:12px 12px 0 0;flex:1;min-height:0;overflow-y:auto}.chapter-pages{background:#fff;max-width:800px;margin:0 auto}.reader-page{position:relative}.reader-page img{width:100%;height:auto;display:block}.page-error{color:var(--muted);background:#eeebf4;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:160px;display:flex;position:absolute;inset:0}.chapter-end{text-align:center;background:var(--paper);color:var(--muted);padding:65px 24px 80px}.chapter-end h2{color:var(--ink);letter-spacing:-.8px;margin-bottom:10px;font-size:25px}.chapter-end p{margin-bottom:25px;font-size:14px}.rhythm-bar{background:var(--lavender);color:#4f458d;border:1px solid #b6b0bc;border-top:0;border-radius:0 0 12px 12px;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:10px 18px;display:flex}.rhythm-label{align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.rhythm-bar button{color:#4f458d;white-space:nowrap;background:#fff8;border:0;border-radius:5px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.rhythm-bar.paused{color:#735528;background:#f6eacd}.rhythm-bar.paused button{color:#735528}.reader-progress{font:11px var(--mono);white-space:nowrap}.rhythm-bar .mobile-room-button{display:none}.desktop-room-panel{scrollbar-width:thin;min-height:0;overflow-y:auto}.room-panel{padding:14px 0 0}.panel-heading{align-items:center;gap:10px;display:flex}.panel-heading h2{letter-spacing:-.4px;flex:1;margin:0;font-size:16px;font-weight:700}.panel-heading>span{color:var(--muted);font:12px var(--mono)}.participant-list{flex-direction:column;gap:18px;margin:24px 0 20px;display:flex}.participant,.empty-participant{align-items:center;gap:11px;display:flex}.avatar{color:#7565ac;background:#ebe7f4;border-radius:50%;flex-shrink:0;place-items:center;width:41px;height:41px;font-size:16px;display:grid}.avatar-1{color:#468a7c;background:#e0eee8}.participant>div:nth-child(2),.empty-participant>div:nth-child(2){flex:1;min-width:0}.participant strong,.empty-participant strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.participant strong>span{color:var(--muted);font-weight:400}.participant small,.empty-participant small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.empty-participant{color:var(--muted);text-align:left;background:0 0;border:none;padding:0}.empty-participant .avatar{background:0 0;border:1px dashed #b3aac4}.presence{background:#bbb5bf;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.presence.online{background:#26a58e}.room-panel>.button{min-height:46px;font-size:13px}.room-code-label{color:var(--muted);font:10px var(--mono);justify-content:space-between;margin-top:13px;display:flex}.room-code-label code{color:var(--ink);font:11px var(--mono);letter-spacing:.5px}.panel-section{border-top:1px solid var(--border);margin-top:25px;padding-top:23px}.panel-section h3{margin:0 0 10px;font-size:14px;font-weight:650}.panel-section p{color:var(--muted);margin:0 0 15px;font-size:12px;line-height:1.7}.panel-section .button{min-height:44px;font-size:13px}.progress-meta{color:var(--muted);justify-content:space-between;margin:15px 0 9px;font-size:11px;display:flex}.progress-meta strong{color:var(--ink);font-weight:500}.progress-track{background:#e2dfea;border-radius:2px;width:100%;height:4px;margin-bottom:18px;overflow:hidden}.progress-track span{background:var(--violet);height:100%;transition:width .1s;display:block}.text-button{color:#6153c0;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 0;font-size:12px;display:flex}.text-button svg:last-child{margin-left:auto}.text-button:hover:not(:disabled){color:#473a9c}.text-button:disabled{opacity:.45}.muted{color:var(--muted)}.room-note{color:#8c8794;margin:25px 0 15px;font-size:10px;line-height:1.65}.leave-button{color:var(--muted)}.leave-button svg:last-child{margin-left:0}.copy-field{gap:8px;margin-top:10px;display:flex}.copy-field input{width:100%;padding:15px 12px;font-size:12px}.copy-field .button{min-height:48px;padding:12px 17px}.copy-status{color:#6153c0;min-height:18px;margin:16px 0 25px;font-size:12px}.invite-note{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:15px;padding-top:22px;font-size:12px;line-height:1.6;display:flex}.invite-note svg{flex-shrink:0}.modal-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.modal-actions .button{min-height:46px;padding:12px 17px;font-size:13px}.toast{z-index:10;color:#fff;background:#24202f;border-radius:9px;align-items:center;gap:16px;width:max-content;max-width:calc(100% - 28px);padding:15px 15px 15px 20px;font-size:13px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #17142230}.toast button{color:#fff;background:0 0;border:0;padding:0;display:flex}.restoring{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1200px){.home-shell{padding:0 32px}.hero{gap:30px;min-height:650px;padding-inline:0}.hero h1{font-size:5.5vw}.hero-actions .button{gap:10px;padding:16px 18px;font-size:17px}.hero-description{font-size:17px}.desktop-break{display:none}.hero-preview,.main-preview{height:560px}.hero-preview{padding-right:68px}.phone-preview{width:155px;height:327px;top:181px}.buddy-sticker{width:64px;height:64px;right:7px}.buddy-sticker span{display:none}.step{gap:18px;padding-inline:20px}.step-number{padding-right:15px}.step h2{font-size:16px}.step p{font-size:12px}.reader-shell{padding-inline:25px}.reading-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px}}@media (max-width:860px){.hero{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:25px}.hero-copy{width:100%;max-width:660px;margin:auto}.hero h1{font-size:clamp(50px,9vw,70px)}.hero-preview{width:100%;max-width:520px;margin:auto}.hero-description{font-size:19px}.hero-actions .button{font-size:20px}.steps{gap:20px;padding-block:26px}.step{border:0;padding:0;display:block}.step-number{border:0;margin-bottom:15px;padding:0;display:block}.step p{font-size:13px}.reader-shell{padding:0 20px 18px}.reading-layout{grid-template-columns:1fr;padding-top:16px}.desktop-room-panel{display:none}.rhythm-bar .mobile-room-button{margin-left:2px;padding:6px;display:flex}.rhythm-label{flex:1}.reader-header-caption,.reader-progress{display:none}}@media (max-width:520px){.home-shell{padding:0 22px}.home-header{height:82px}.brand{gap:10px}.brand svg{width:29px;height:29px}.brand>span{font-size:30px}.brand small{display:none}.home-header nav{gap:0}.home-header nav a{display:none}.home-header .button{min-height:40px;padding:10px 13px;font-size:12px}.hero{gap:35px;padding-top:20px;padding-bottom:36px}.hero-copy{padding-top:16px}.hero h1{letter-spacing:-.07em;margin-bottom:23px;font-size:clamp(42px,11.7vw,61px)}.hero-description{margin-bottom:24px;font-size:16px;line-height:1.6}.hero-actions{gap:10px}.hero-actions .button{gap:9px;min-height:53px;padding:12px 13px;font-size:14px}.hero-actions .button svg{width:19px}.account-caption{margin:17px 0 27px;font-size:12px;line-height:1.5}.invite-form{padding-top:20px}.invite-form label{font-size:12px}.invite-form input{min-height:47px;padding:12px;font-size:12px}.invite-form .button{min-height:47px;padding:12px 18px}.hero-preview,.main-preview{height:424px}.hero-preview{padding-right:50px}.preview-toolbar{gap:7px;height:39px;padding-inline:9px;font-size:10px}.preview-toolbar small{font-size:9px}.preview-sync{gap:7px;height:42px;padding-inline:12px;font-size:10px}.preview-sync svg{width:17px}.preview-sync i{width:7px;height:7px}.preview-art{height:calc(100% - 81px)}.phone-preview{border-width:3px;border-radius:22px;width:132px;height:277px;top:112px}.phone-preview .preview-toolbar{gap:3px;height:32px;padding-inline:4px;font-size:6px}.phone-preview .preview-toolbar small{font-size:6px}.phone-preview .preview-art{height:calc(100% - 60px)}.phone-preview .preview-sync{height:28px;padding:0 6px;font-size:7px}.phone-preview .preview-sync svg{width:11px}.buddy-sticker{border-radius:14px;width:53px;height:53px;top:25px;right:2px}.buddy-sticker svg{width:25px}.steps{grid-template-columns:1fr;gap:26px}.step{align-items:flex-start;gap:24px;display:flex}.step-number{width:34px;margin:0;font-size:27px}.step h2{font-size:16px}.step p{font-size:12px}.home-footer{padding:19px 0 25px;font-size:11px;line-height:1.7;display:block}.home-footer span{display:block}.modal-content{padding:29px 24px}.modal h2{margin-bottom:18px;font-size:27px}.optional{margin:4px 0 0;display:block}.reader-shell{padding:0 0 env(safe-area-inset-bottom)}.reader-header{flex-basis:64px;height:64px;margin-inline:16px}.reader-header .brand>span{font-size:27px}.reader-header .brand svg{width:26px}.reader-header .button{min-height:36px;padding:9px 12px;font-size:12px}.reading-layout{padding-top:0}.chapter-heading{gap:10px;min-height:77px;padding:15px 17px}.chapter-heading h1{letter-spacing:-.5px;font-size:18px}.chapter-heading p{font-size:10px}.chapter-heading .icon-button{min-width:32px}.reader-viewport{border-inline:0;border-radius:0}.rhythm-bar{border-inline:0;border-bottom:0;border-radius:0;min-height:52px;padding:9px 12px}.rhythm-label{gap:7px;font-size:11px}.rhythm-label svg{flex-shrink:0;width:15px}.rhythm-bar button{gap:5px;padding-inline:7px;font-size:11px}.modal .room-panel{padding-top:5px}.modal .room-panel .panel-heading{display:none}.modal .participant-list{margin-top:8px}.toast{font-size:12px;bottom:68px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root[data-theme]{color:var(--ink);background:var(--paper)}:root[data-theme=dark]{--paper:#18181f;--ink:#f0edf7;--muted:#aaa6b8;--violet:#8979ee;--lavender:#302a47;--border:#45414f;--surface:#22212b;--reader-bg:#111115;--accent:#b3a5ff}[data-theme=dark] input,[data-theme=dark] select{background:var(--surface);border-color:var(--border)}[data-theme=dark] .button.outline:hover:not(:disabled){background:var(--surface)}[data-theme=dark] .button.soft,[data-theme=dark] .source-links,[data-theme=dark] .text-button,[data-theme=dark] .copy-status{color:var(--accent)}[data-theme=dark] .preview-sync{color:#dcd4f4;background:#332d4b}[data-theme=dark] .page-error{background:#272431}[data-theme=dark] .avatar{color:#cabaff;background:#322c47}[data-theme=dark] .avatar-1{color:#a1dacc;background:#213f37}[data-theme=dark] .progress-track{background:#3c364b}[data-theme=dark] .buddy-sticker{color:#c4b6fa;background:#302a47}[data-theme=dark] .form-error{color:#ffa9b5}.nav-reading{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:8px 0;font-size:15px}.nav-reading:hover{color:var(--accent)}.home-header nav{gap:25px}.theme-button{min-width:40px;min-height:40px}.shelf-main{max-width:1100px;margin:65px auto 85px}.eyebrow{color:var(--muted);font:11px var(--mono);letter-spacing:1px}.shelf-heading h1{letter-spacing:-.05em;margin:12px 0 38px;font-size:clamp(36px,5vw,60px);line-height:1.1}.shelf-link{border-bottom:1px solid var(--border);padding-bottom:40px}.shelf-link label{margin-bottom:12px;font-size:13px;font-weight:600;display:block}.shelf-link>div{gap:12px;display:flex}.shelf-link input{flex:1;font-size:14px}.shelf-section{margin-top:40px}.shelf-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.shelf-section-heading h2{letter-spacing:-.7px;margin:0;font-size:22px}.shelf-section-heading>span{color:var(--muted);font-size:12px}.source-grid,.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.source-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:17px;padding:23px;text-decoration:none;display:flex}.source-card:hover{border-color:var(--violet)}.source-monogram{background:var(--lavender);width:49px;height:49px;color:var(--accent);font:14px var(--mono);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.source-card div{flex:1;min-width:0}.source-card h3{margin:0 0 6px;font-size:16px}.source-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.source-card>svg{color:var(--muted);flex-shrink:0}.source-policy{color:var(--muted);margin-top:18px;font-size:12px;line-height:1.6}.shelf-empty{border:1px dashed var(--border);color:var(--muted);border-radius:12px;align-items:center;gap:13px;padding:27px 23px;font-size:14px;display:flex}.shelf-empty p{margin:0}.recent-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:26px;position:relative}.recent-icon{color:var(--accent);margin-bottom:18px}.recent-card h3{letter-spacing:-.5px;margin:10px 0;font-size:21px;line-height:1.25}.recent-card p{color:var(--muted);margin:0 0 24px;font-size:13px}.recent-card .progress-track{margin-bottom:6px}.recent-card .text-button{font-size:13px}.remove-reading{color:var(--muted);position:absolute;top:15px;right:15px}.reader-shell.focus-reader{background:var(--reader-bg);width:100%;max-width:none;height:100dvh;padding:0;position:relative;overflow:hidden}.focus-reader .reader-viewport{background:var(--reader-bg);overflow-anchor:none;outline-offset:-3px;border:0;border-radius:0;width:100%}.focus-reader .chapter-pages{max-width:var(--reader-width);width:100%}.reader-page{min-height:1px}.reader-top{z-index:3;background:var(--paper);border-bottom:1px solid var(--border);opacity:0;visibility:hidden;align-items:center;gap:25px;padding:12px 24px;transition:opacity .15s,transform .15s,visibility .15s;display:flex;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.reader-top.visible{visibility:visible;opacity:1;transform:none}.reader-top .brand{gap:9px}.reader-top .brand>span{font-size:27px}.reader-top .brand svg{width:25px}.reader-top .chapter-heading{flex:1;min-width:0;min-height:0;padding:0}.reader-top .chapter-heading>div{min-width:0}.reader-top .chapter-heading p{margin-bottom:3px;font-size:10px}.reader-top .chapter-heading h1{letter-spacing:-.4px;white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.reader-top-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.focus-reader .rhythm-bar{border:0;border-top:1px solid var(--border);min-height:62px;padding:8px 24px calc(8px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border-radius:0;gap:20px;position:relative}.reading-progress{background:var(--violet);pointer-events:none;height:2px;position:absolute;top:-1px;left:0}.focus-reader .rhythm-bar button{min-height:40px;color:var(--ink);background:0 0;border-radius:8px;padding:8px 12px}.focus-reader .rhythm-bar button:hover:not(:disabled){background:var(--lavender)}.focus-reader .rhythm-status{text-align:left;flex:1;justify-content:flex-start;gap:15px;min-width:0;padding-left:0}.rhythm-status>span:last-child{min-width:0}.rhythm-status .rhythm-label{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;display:block;overflow:hidden}.rhythm-status small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;font-weight:400;display:block;overflow:hidden}.reader-presence{flex-shrink:0;gap:5px;display:flex}.reader-presence .presence{width:8px;height:8px}.focus-reader .reader-progress{color:var(--muted);font-size:11px;display:block}.focus-reader .rhythm-bar .follow-button{background:var(--lavender);color:var(--accent)}.focus-reader .rhythm-bar.paused .follow-button{color:#735528;background:#ead6a3}.focus-reader .rhythm-bar.paused .rhythm-label{color:#967028}[data-theme=dark] .focus-reader .rhythm-bar.paused .rhythm-label{color:#e7c57d}.chapter-nav{border-left:1px solid var(--border);gap:5px;padding-left:12px;display:flex}.focus-reader .chapter-end{padding:70px 24px 100px}.focus-reader .page-error{height:100%}.chapter-loading{z-index:4;background:var(--paper);border:1px solid var(--border);white-space:nowrap;border-radius:9px;align-items:center;gap:10px;padding:12px 20px;font-size:13px;display:flex;position:absolute;top:85px;left:50%;transform:translate(-50%);box-shadow:0 3px 15px #0002}.reader-error{background:var(--paper);border:1px solid var(--border);width:max-content;max-width:calc(100% - 30px);color:var(--ink);z-index:4;border-radius:10px;align-items:center;gap:15px;padding:15px 20px;font-size:13px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.reader-error button{color:var(--accent);background:0 0;border:0;padding:5px;font-weight:600}.reader-settings label{color:var(--muted);margin:15px 0 8px;font-size:12px;display:block}.reader-settings select{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);font:inherit;border-radius:8px;min-height:42px;padding:8px 12px;font-size:13px}.reader-settings input[type=range]{width:100%;accent-color:var(--violet);padding:0}.width-setting label{justify-content:space-between;display:flex}.width-setting label span{font:11px var(--mono)}.chapter-picker>input{width:100%;margin-top:10px;font-size:14px}.chapter-list{max-height:48dvh;margin-top:18px;overflow-y:auto}.chapter-list button{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;min-height:46px;padding:14px 12px;font-size:13px;display:flex}.chapter-list button:not(:disabled):hover{background:var(--lavender)}.chapter-list button.current{background:var(--lavender);opacity:1;color:var(--accent);border-radius:7px}.chapter-list button>span:last-child{align-items:center;gap:8px;display:flex}.picker-note{font-size:12px;line-height:1.6}.modal .room-panel .participant-list{margin-top:0}.focus-reader .room-controls{display:flex}@media (max-width:860px){.home-header nav{gap:13px}.home-header nav>a{display:none}.reader-top{gap:15px;padding:10px 15px}.reader-top .brand>span{display:none}.reader-top-actions{gap:5px}.reader-top-actions .button{min-height:38px;padding:8px 10px}.reader-top .chapter-heading h1{font-size:14px}.focus-reader .rhythm-bar{gap:9px;min-height:60px;padding-inline:15px}.focus-reader .reader-progress{display:none}.focus-reader .rhythm-status{gap:9px}.chapter-nav{gap:0;padding-left:5px}.chapter-nav button span{display:none}.focus-reader .rhythm-bar button{padding-inline:9px}}@media (max-width:520px){.home-header nav{gap:7px}.nav-reading{font-size:11px}.home-header .theme-button{min-width:32px}.home-header .brand{gap:7px}.home-header .brand>span{font-size:27px}.home-header .brand svg{width:24px}.shelf-main{margin:36px auto 55px}.shelf-heading h1{margin-bottom:30px}.shelf-link{padding-bottom:30px}.shelf-link>div{flex-direction:column}.shelf-link input{min-height:48px;font-size:12px}.shelf-link .button{min-height:46px}.shelf-section{margin-top:30px}.source-grid,.recent-grid{grid-template-columns:1fr;gap:13px}.shelf-section-heading h2{font-size:18px}.shelf-section-heading>span{font-size:10px}.source-card{gap:13px;padding:20px 17px}.shelf-empty{padding:20px 17px;font-size:12px}.recent-card{padding:22px}.reader-top{gap:11px;padding:10px 11px}.reader-top-actions .button>span,.reader-top-actions .button>svg:last-child{display:none}.reader-top-actions .button{border:0;padding:8px}.reader-top-actions .icon-button{min-width:34px}.focus-reader .rhythm-bar{gap:4px;min-height:58px;padding-inline:10px}.focus-reader .rhythm-status{gap:8px;padding-inline:0}.rhythm-status .rhythm-label{font-size:10px}.rhythm-status small{font-size:9px}.reader-presence{gap:3px}.reader-presence .presence{width:6px;height:6px}.focus-reader .rhythm-bar button{min-width:38px;min-height:42px;padding-inline:7px}.follow-button>span,.width-setting{display:none}.focus-reader .chapter-end h2{font-size:23px}}@media (max-width:360px){.home-header .brand svg{display:none}.home-header nav{gap:5px}.nav-reading{font-size:10px}.hero-copy{min-width:0}.hero h1{font-size:clamp(36px,11.7vw,42px)}.hero-actions .button{gap:7px;min-width:0;padding:11px 10px;font-size:12px}}
