:root{color:#253c38;font-synthesis:none;-webkit-font-smoothing:antialiased;background:#f5f1e9;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,YuGothic,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}::selection{color:#19332f;background:#d8b79d}[hidden]{display:none!important}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-shell main{flex:1}.wrap{width:min(1180px,100% - 72px);margin-inline:auto}.site-header{z-index:5;background:#f5f1e9;border-bottom:1px solid #dedbd1;justify-content:space-between;align-items:center;height:88px;padding:0 max(36px,50vw - 590px);display:flex;position:relative}.brand{align-items:center;gap:13px;display:inline-flex}.brand-mark{color:#f8f2e8;text-align:center;letter-spacing:-.07em;background:#25433e;border-radius:7px;width:36px;height:36px;padding-top:3px;font:italic 29px/.95 Georgia,serif}.brand-mark span,.auth-card-mark span{color:#da9b73}.brand-name{letter-spacing:-.04em;font:500 24px Georgia,serif}.brand-name em{font-weight:400}.main-nav{align-items:center;gap:34px;font-size:13px;font-weight:600;display:flex}.main-nav>a:not(.nav-login){color:#59706a;padding:12px 0}.main-nav>a[aria-current=page]{color:#223f39;box-shadow:inset 0 -2px #c17952}.nav-login{color:#25433e;text-align:center;background:0 0;border:1px solid #25433e;border-radius:4px;min-width:103px;padding:11px 17px;font-size:13px;font-weight:700}.nav-login:hover,.nav-login:focus-visible{color:#fff;background:#25433e}.nav-login span{margin-left:8px}.site-footer{color:#778680;letter-spacing:.03em;border-top:1px solid #dedbd1;justify-content:space-between;gap:20px;padding:27px max(36px,50vw - 590px);font-size:12px;display:flex}.site-footer span:first-child{color:#3a5b52;font:italic 17px Georgia,serif}.eyebrow{letter-spacing:.19em;color:#af7654;margin-bottom:19px;font-size:11px;font-weight:700}.status-dot{vertical-align:1px;background:#ae815c;border-radius:50%;width:7px;height:7px;margin-right:9px;display:inline-block}.button{border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:30px;padding:15px 20px;font-size:14px;font-weight:700;line-height:1.3;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:#25433e}.button-primary:hover{background:#365b52}.button:disabled{opacity:.55;cursor:wait;transform:none}.muted{color:#77857f}.form-error{color:#ad4434;margin:10px 0 0;font-size:13px;line-height:1.6}.notice{color:#375443;background:#e8ede6;border:1px solid #ccd8c9;border-radius:4px;margin:20px 0;padding:13px 16px;font-size:13px}.notice.error{color:#9e4c36;background:#fbede7;border-color:#e8cbbf}.hero{border-bottom:1px solid #dedbd1;grid-template-columns:1.03fr .97fr;align-items:stretch;min-height:574px;display:grid}.hero-copy{align-self:center;padding:102px 42px 95px 0}.hero h1,.auth-aside h1{letter-spacing:-.065em;margin-bottom:27px;font-family:Georgia,Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(46px,5.15vw,72px);font-weight:500;line-height:1.34}.hero h1 em,.auth-aside h1 em{color:#b97854;font-style:normal}.hero-lead{color:#62746f;max-width:420px;margin-bottom:35px;font-size:16px;line-height:2}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.hero-actions .button{min-width:180px}.hero-note{color:#8f9c95;font-size:12px}.hero-art{background:#d9ddd1;border-left:1px solid #d4d7cb;min-height:574px;position:relative;overflow:hidden}.art-label,.art-caption{z-index:3;letter-spacing:.23em;color:#6b7c71;font-size:10px;font-weight:700;position:absolute}.art-label{top:34px;left:35px}.art-caption{bottom:29px;right:29px}.art-circle{background:#e8e7dc;border-radius:50%;width:410px;height:410px;position:absolute;top:68px;left:calc(50% - 205px);box-shadow:0 0 0 1px #cbd1c2}.art-book{z-index:2;border-radius:4px 12px 12px 4px;position:absolute;transform:rotate(-10deg);box-shadow:17px 19px 20px #40574638}.art-book:before{content:"";border-left:1px solid #ffffff4a;border-right:1px solid #00000016;width:9px;position:absolute;top:0;bottom:0;left:15px}.art-book-back{background:#b57753;width:168px;height:242px;top:173px;left:25%;transform:rotate(-22deg)}.art-book-back span{color:#f7e8d8;font:italic 29px/1.1 Georgia,serif;position:absolute;bottom:30px;left:38px}.art-book-front{background:#25443e;width:202px;height:279px;top:185px;left:46%;transform:rotate(11deg)}.art-book-front span{color:#f6efdf;font:35px/1.05 Georgia,serif;position:absolute;top:58px;left:40px}.art-book-front i{color:#d6ab89;font-weight:400}.art-cup{z-index:4;background:#ece9df;border:10px solid #faf7ef;border-radius:50%;place-items:center;width:122px;height:122px;display:grid;position:absolute;bottom:43px;left:18%;box-shadow:7px 13px 20px #4d5d4c46,0 0 0 1px #ccc7bb}.art-cup:after{content:"";z-index:-1;border:10px solid #faf7ef;border-radius:50%;width:36px;height:45px;position:absolute;top:28px;right:-31px}.art-coffee{background:radial-gradient(circle at 45% 40%,#c29b77 0 7%,#8b5635 37%,#5e3b2d 75%);border-radius:50%;width:100%;height:100%}.home-section{padding:74px 0 100px}.section-heading{align-items:flex-start;gap:22px;margin-bottom:30px;display:flex}.section-number{color:#b77d5d;padding-top:3px;font:italic 23px Georgia,serif}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{letter-spacing:-.05em;margin:0;font-family:Georgia,Hiragino Mincho ProN,Yu Mincho,serif;font-size:34px;font-weight:500;line-height:1.45}.feature-card{background:#fffdf8;border:1px solid #e3dfd4;grid-template-columns:176px 1fr 35px;align-items:center;gap:34px;padding:20px 31px 20px 20px;transition:transform .2s,box-shadow .2s;display:grid}.feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #283a3016}.feature-icon{background:#d7e0d4;justify-content:center;align-items:center;height:144px;display:flex;position:relative}.feature-icon span:first-child{color:#466b5c;font:68px/1 Yu Mincho,serif}.feature-icon span:last-child{color:#718477;letter-spacing:.12em;font:10px Georgia,serif;position:absolute;bottom:11px;left:12px}.feature-overline{letter-spacing:.18em;color:#af7654;margin-bottom:9px;font-size:10px;font-weight:700}.feature-body h3{margin-bottom:8px;font-family:Georgia,Yu Mincho,serif;font-size:27px;font-weight:500}.feature-body p:last-child{color:#6c7f77;margin:0;font-size:13px;line-height:1.8}.feature-arrow{color:#ad7353;align-self:start;font-size:23px}.auth-page{grid-template-columns:1fr 440px;gap:8%;min-height:calc(100vh - 155px);padding-top:107px;padding-bottom:130px;display:grid}.auth-aside{padding-top:47px}.auth-aside h1{font-size:clamp(42px,4vw,58px)}.auth-aside>p:not(.eyebrow){color:#667a71;font-size:15px;line-height:1.9}.auth-aside-line{background:#d6d9cc;max-width:360px;height:1px;margin:63px 0 22px}.auth-aside>span{color:#8b9b8e;font:italic 15px Georgia,serif}.auth-card{background:#fffdf8;border:1px solid #e1dfd5;height:fit-content;padding:42px 42px 38px;box-shadow:0 14px 45px #2b392a0b}.auth-card-mark{color:#25433e;margin-bottom:37px;font:italic 54px/.9 Georgia,serif}.auth-card .eyebrow{margin-bottom:8px}.auth-card h2{margin-bottom:10px;font-family:Georgia,Yu Mincho,serif;font-size:30px;font-weight:500}.auth-card .muted{margin-bottom:34px;font-size:13px;line-height:1.6}.auth-card label,.upload-dialog label{margin-bottom:9px;font-size:12px;font-weight:700;display:block}.auth-card input,.upload-dialog input[type=text],.upload-dialog input[type=file]{color:#253c38;background:#fbfaf7;border:1px solid #cdd5cb;border-radius:3px;outline:none;width:100%;padding:13px 14px}.auth-card input:focus,.upload-dialog input:focus,.search-field:focus-within{border-color:#5d806e;box-shadow:0 0 0 3px #729b741e}.form-submit{width:100%;margin-top:25px}.back-link{color:#76867d;margin-top:28px;font-size:12px;display:inline-block}.back-link:hover{text-decoration:underline}.auth-card input{margin-bottom:18px}.app-page{padding:70px 0 110px}.app-heading{border-bottom:1px solid #d8dad1;justify-content:space-between;align-items:flex-end;margin-bottom:37px;padding-bottom:27px;display:flex}.app-heading h1,.reading-heading h1{letter-spacing:-.04em;margin:0 0 10px;font-family:Georgia,Yu Mincho,serif;font-size:48px;font-weight:500}.app-heading p,.reading-heading p:last-child{color:#76877f;margin:0;font-size:14px}.app-heading-decoration{color:#d6ddd0;font:italic 80px/.9 Georgia,serif}.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.app-tile{background:#fffdf8;border:1px solid #dedfd4;flex-direction:column;min-height:405px;padding:23px;transition:transform .2s,box-shadow .2s;display:flex}.app-tile:hover{transform:translateY(-4px);box-shadow:0 16px 34px #203a3213}.app-tile-top{color:#af7654;letter-spacing:.16em;justify-content:space-between;font:700 10px Georgia,serif;display:flex}.app-tile-top span:last-child{font-size:22px}.app-tile-illustration{background:#e2e9de;height:177px;margin:22px 0 23px;position:relative;overflow:hidden}.book-silhouette{background:#a66e4e;border-radius:2px 5px 0 0;width:55px;height:121px;position:absolute;bottom:0;left:24%;box-shadow:inset 7px 0 #ffffff2e}.book-silhouette.two{transform-origin:bottom;background:#406458;height:145px;left:41%;transform:rotate(-6deg)}.book-silhouette.three{transform-origin:bottom;background:#d1a275;height:112px;left:59%;transform:rotate(8deg)}.app-tile h2{margin-bottom:8px;font-family:Georgia,Yu Mincho,serif;font-size:26px;font-weight:500}.app-tile p{color:#74847d;margin-bottom:18px;font-size:13px}.app-tile-action{color:#a26747;margin-top:auto;font-size:13px;font-weight:700}.app-tile-action span{margin-left:8px}.reading-page{padding:59px 0 100px}.reading-heading{justify-content:space-between;align-items:flex-end;padding-bottom:36px;display:flex}.reading-heading .eyebrow{margin-bottom:12px}.reading-heading h1{font-size:50px}.reading-heading-ornament{color:#d4ddd2;font:italic 96px/.8 Georgia,serif}.reading-heading-ornament span{color:#be9172}.library-toolbar{border-top:1px solid #d8dcd2;border-bottom:1px solid #d8dcd2;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.library-count{color:#38584e;font:italic 24px Georgia,serif}.library-count span:last-child{color:#859288;margin-left:5px;font:12px sans-serif}.library-actions{align-items:center;gap:12px;display:flex}.search-field{color:#789087;background:#fffcf7;border:1px solid #d5dcd1;border-radius:4px;align-items:center;gap:7px;height:42px;padding:0 12px;display:flex}.search-field span{font-size:25px;line-height:0}.search-field input{background:0 0;border:0;outline:none;min-width:178px;font-size:13px}.library-actions .button{gap:8px;min-height:42px;padding:10px 15px;font-size:13px}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:30px;display:grid}.book-card{background:#fffdf9;border:1px solid #e2e1d7;flex-direction:column;min-height:315px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}.book-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1f3a3112}.book-cover{background:var(--cover,#dbe3d7);justify-content:center;align-items:center;height:192px;display:flex;position:relative;overflow:hidden}.book-cover:before{content:"";border-left:1px solid #ffffff91;position:absolute;top:20px;bottom:20px;left:23px}.book-cover:after{content:"";border:1px solid #ffffff6d;border-radius:50%;width:145px;height:145px;position:absolute;bottom:-59px;right:-52px}.book-cover-word{color:#36594e;z-index:1;opacity:.85;font:italic 43px Georgia,Yu Mincho,serif}.book-cover small{letter-spacing:.13em;color:#627968;font:700 9px Georgia,serif;position:absolute;top:13px;right:13px}.book-card-body{padding:15px 1px 0}.book-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:49px;margin:0;font:500 16px/1.55 Georgia,Yu Mincho,serif;display:-webkit-box;overflow:hidden}.book-card-meta{color:#87958b;margin:7px 0 13px;font-size:11px}.book-card-actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.book-open{color:#9e6848;font-size:12px;font-weight:700}.book-delete{color:#98a49a;background:0 0;border:0;padding:4px;font-size:11px}.book-delete:hover{color:#a84a35}.empty-state{text-align:center;padding:86px 20px 100px}.empty-book{color:#7b9c83;background:#dfe7dc;border-radius:3px 9px 9px 3px;place-items:center;width:106px;height:127px;margin:0 auto 30px;font:60px Georgia,serif;display:grid;box-shadow:inset 12px 0 #c9d6c9}.empty-state h2{margin-bottom:9px;font:500 27px Georgia,Yu Mincho,serif}.empty-state p{color:#819087;margin-bottom:25px;font-size:13px}.reader-view{margin-top:-8px}.reader-toolbar{border-bottom:1px solid #d8dcd2;align-items:center;gap:25px;margin-bottom:19px;padding-bottom:22px;display:flex}.reader-back{color:#8a735e;white-space:nowrap;font-size:13px}.reader-title-wrap{flex:1;min-width:0}.reader-title-wrap .eyebrow{margin:0 0 5px;font-size:9px}.reader-title-wrap h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font:500 22px Georgia,Yu Mincho,serif;overflow:hidden}.reader-controls{gap:4px;display:flex}.reader-controls button,.reader-pagination button{color:#38594f;white-space:nowrap;background:#fffdf8;border:1px solid #cfd8cc;border-radius:3px;padding:8px 12px;font-size:12px}.reader-controls button:hover,.reader-pagination button:hover{background:#e5ece2}.epub-reader{background:#fffdf7;border:1px solid #dfdfd5}.epub-reader.night{background:#27342f;border-color:#33473e}.epub-reader #epub-stage{height:min(72vh,780px);min-height:480px;padding:22px 42px}.reader-pagination{color:#87968c;border-top:1px solid #e1e3da;justify-content:space-between;align-items:center;height:54px;padding:0 22px;font:12px Georgia,serif;display:flex}.epub-reader.night .reader-pagination{color:#cad6cb;border-color:#4b5c51}.pdf-reader iframe{background:#fff;border:1px solid #d9ddd3;width:100%;height:75vh;min-height:500px;display:block}.pdf-reader p{color:#819087;margin-top:12px;font-size:12px}.pdf-reader a{text-decoration:underline}.upload-dialog{color:#253c38;background:#fffdf8;border:1px solid #d9dcd3;border-radius:5px;width:min(440px,100% - 30px);padding:28px;box-shadow:0 25px 85px #142b2770}.upload-dialog::backdrop{background:#1e312cc4}.dialog-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.dialog-heading .eyebrow{margin-bottom:7px}.dialog-heading h2{margin:0;font:500 28px Georgia,Yu Mincho,serif}.icon-button{color:#78877b;background:0 0;border:0;padding:1px 4px;font-size:25px;line-height:1}.upload-dialog label span{float:right;color:#99a69a;font-weight:400}.upload-dialog input[type=file]{margin-bottom:20px;padding:11px;font-size:12px}.upload-dialog input[type=file]::file-selector-button{color:#3d5c51;background:#eff3eb;border:1px solid #bdc8bb;border-radius:3px;margin-right:10px;padding:6px 9px}.upload-dialog input[type=text]{margin-bottom:2px}@media (width<=900px){.hero{grid-template-columns:1fr .85fr}.hero-copy{padding:75px 25px 75px 0}.hero h1{font-size:51px}.art-circle{width:340px;height:340px;left:calc(50% - 170px)}.art-book-back{left:18%}.art-book-front{left:42%}.auth-page{grid-template-columns:1fr 400px;gap:5%}.book-grid{grid-template-columns:repeat(3,1fr)}.app-grid{grid-template-columns:repeat(2,1fr)}}.pdf-stage{text-align:center;background:#deded9;border:1px solid #d9ddd3;min-height:65vh;max-height:75vh;padding:22px;overflow:auto}.pdf-stage canvas{background:#fff;max-width:none;margin:0 auto;display:block;box-shadow:0 5px 24px #1727212e}.pdf-pagination{background:#fffdf8;border:1px solid #d9ddd3;border-top:0;justify-content:center;align-items:center;gap:8px;padding:13px;display:flex}.pdf-pagination button{color:#38594f;background:#fff;border:1px solid #cfd8cc;border-radius:3px;padding:8px 12px;font-size:12px}.pdf-pagination button:disabled{opacity:.4;cursor:default}.pdf-pagination span{text-align:center;color:#52675d;min-width:80px;font:12px Georgia,serif}@media (width<=640px){.wrap{width:calc(100% - 38px)}.site-header{height:68px;padding:0 19px}.brand{gap:8px}.brand-mark{width:30px;height:30px;font-size:25px}.brand-name{font-size:19px}.main-nav{gap:13px;font-size:11px}.main-nav>a:not(.nav-login){display:none}.nav-login{min-width:auto;padding:8px 10px;font-size:11px}.site-footer{padding:21px 19px}.site-footer span:last-child{display:none}.hero{flex-direction:column;display:flex}.hero-copy{padding:64px 0 55px}.hero h1{font-size:46px}.hero-lead{font-size:14px}.hero-art{border-top:1px solid #d4d7cb;border-left:0;min-height:370px;margin:0 -19px}.art-circle{width:290px;height:290px;top:37px;left:calc(50% - 145px)}.art-book-back{width:125px;height:184px;top:106px;left:26%}.art-book-back span{font-size:22px;left:28px}.art-book-front{width:146px;height:209px;top:122px;left:46%}.art-book-front span{font-size:28px;top:44px;left:30px}.art-cup{border-width:7px;width:86px;height:86px;bottom:19px;left:11%}.art-cup:after{border-width:7px;width:24px;height:32px;top:20px;right:-22px}.home-section{padding:55px 0 75px}.section-heading h2{font-size:29px}.feature-card{grid-template-columns:88px 1fr 16px;gap:13px;padding:12px}.feature-icon{height:105px}.feature-icon span:first-child{font-size:44px}.feature-icon span:last-child{font-size:8px}.feature-body h3{font-size:21px}.feature-body p:last-child{font-size:11px}.feature-arrow{font-size:16px}.auth-page{padding-top:43px;padding-bottom:70px;display:block}.auth-aside{padding:0 0 35px}.auth-aside h1{margin-bottom:10px;font-size:38px}.auth-aside>p:not(.eyebrow){font-size:12px}.auth-aside-line,.auth-aside>span{display:none}.auth-card{padding:30px 25px}.app-page{padding:50px 0 90px}.app-heading h1,.reading-heading h1{font-size:39px}.app-heading-decoration{font-size:60px}.app-grid{grid-template-columns:1fr}.app-tile{min-height:370px}.reading-page{padding:42px 0 75px}.reading-heading-ornament{font-size:68px}.library-toolbar{flex-direction:column;align-items:stretch}.library-actions{width:100%}.search-field{flex:1;min-width:0}.search-field input{width:100%;min-width:0}.library-actions .button{white-space:nowrap}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-card{min-height:277px;padding:10px}.book-cover{height:158px}.book-card h2{font-size:14px}.reader-toolbar{flex-wrap:wrap;gap:12px}.reader-title-wrap{flex-basis:calc(100% - 100px);order:0}.reader-controls{margin-left:auto}.epub-reader #epub-stage{height:67vh;min-height:380px;padding:8px 12px}.pdf-reader iframe{height:72vh;min-height:380px}}
