@font-face{font-family:MarginSerif;src:url('assets/serif.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--paper:#f5f4ee;--ink:#263f36;--muted:#697469;--surface:#e9ece2;--green:#2d493e;--serif:MarginSerif,'Songti TC','Noto Serif TC',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang TC','Microsoft JhengHei',sans-serif;--gutter:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ac8250;outline-offset:6px}::selection{background:#ced7c3}img{max-width:100%;display:block}.wrap{max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:450;letter-spacing:-.035em;line-height:1.35}h2{font-size:clamp(34px,4vw,60px)}p{text-wrap:pretty}button{color:inherit}.nav{display:flex;align-items:center;justify-content:space-between;padding-block:30px}.brand{display:flex;gap:14px;align-items:center;line-height:1.2}.brand svg{width:41px;height:44px}.brand span{font-family:var(--serif);font-size:29px;letter-spacing:.12em}.brand small{display:block;font:13px/1.5 var(--sans);letter-spacing:.08em;margin-top:5px}.nav nav{display:flex;gap:36px}.nav nav a{position:relative;font-size:15px;padding:8px 0}.nav nav a:after{content:'';height:2px;background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav nav a:hover:after{transform:scaleX(1)}.nav-download{background:var(--ink);color:var(--paper);padding:12px 24px;display:flex;gap:35px;font-size:15px;transition:background .2s}.nav-download:hover{background:#456353}.hero{padding-top:55px}.hero-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}h1{font-size:clamp(52px,5.7vw,86px);line-height:1.3}.line{display:block;overflow:hidden}.line>span{display:block}.hero-copy{max-width:450px;justify-self:end;font-size:20px;line-height:1.85}.hero-copy .subtle{font-size:16px;margin-top:22px;color:var(--muted)}.shelf-demo{margin:25px -20px 0}.book-stage{position:relative;height:370px;perspective:1400px;overflow:hidden;touch-action:pan-y;outline-offset:-4px!important}.book{position:absolute;bottom:20px;left:50%;width:clamp(150px,16vw,235px);aspect-ratio:600/870;padding:0;background:none;border:0;transform:translateX(-50%);transform-style:preserve-3d;transform-origin:50% 100%;box-shadow:10px 16px 24px -13px #253c3233;transition:filter .2s}.book img{height:100%;width:100%;border-radius:1px 3px 3px 1px}.book:before{content:'';position:absolute;left:100%;width:9px;top:2px;bottom:2px;background:repeating-linear-gradient(90deg,#d4d0c4 0 1px,#eeece5 1px 3px);transform-origin:left;transform:rotateY(75deg)}.book:after{content:'';position:absolute;inset:0;box-shadow:inset 5px 0 4px -2px #0003;pointer-events:none}.book:hover{filter:brightness(1.04)}.book[aria-pressed=true]{z-index:10}.shelf-caption{display:flex;align-items:center;justify-content:center;gap:38px;margin-top:12px;text-align:center}.shelf-caption p{font:25px/1.4 var(--serif)}.shelf-caption span{font-size:13px;color:var(--muted)}.round{border:none;background:var(--surface);width:44px;height:44px;border-radius:50%;font-size:20px;transition:background .2s,transform .2s}.round:hover{background:#dce2d1;transform:translateY(-2px)}.round:active{transform:scale(.94)}.download-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:35px;scroll-margin-top:30px}.download{display:flex;gap:18px;align-items:center;padding:18px 24px;min-height:86px;transition:transform .22s,background .22s}.download:hover{transform:translateY(-4px)}.download:active{transform:scale(.98)}.download svg{width:25px;height:29px;stroke:currentColor;stroke-width:1.3;flex-shrink:0}.download span{font-size:17px;line-height:1.5}.download small{display:block;font-size:12px;opacity:.7;margin-top:4px}.download b{font-weight:400;font-size:22px;margin-left:auto}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#385749}.secondary{background:#e0e6d8}.secondary:hover{background:#d3ddc8}.web{background:#ebece5}.web:hover{background:#e0e2d8}.download-note{font-size:12px;color:var(--muted);margin-top:14px}.reading{padding-top:155px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-intro>p{font-size:18px;line-height:1.9}.reading-layout{display:grid;grid-template-columns:1.6fr 1fr;background:var(--surface);padding:35px;gap:50px}.reading-paper{background:#fcf9ef;position:relative;padding:34px 45px 54px;color:#354337;min-height:490px;transition:background .25s,color .25s}.paper-top{display:flex;justify-content:space-between;gap:15px;font-size:12px;opacity:.65;margin-bottom:30px}#sample-text{font-family:var(--serif);font-size:22px;line-height:1.9;letter-spacing:1px}#sample-text h3{font-size:1.1em;font-weight:500;margin-bottom:20px}#sample-text p{margin-bottom:1em}.paper-page{position:absolute;bottom:20px;left:50%;font-size:12px;opacity:.6}.reading-controls{align-self:center;padding:18px 25px 18px 0;min-width:0}.reading-controls h3{font-family:var(--serif);font-size:27px;font-weight:450;margin-bottom:28px}.reading-controls label{display:flex;justify-content:space-between;font-size:15px;margin-top:17px}.reading-controls output{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--ink);cursor:pointer;margin:12px 0;height:18px}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:15px}.swatches{display:flex;gap:15px;padding:15px 0 3px}.swatch{border:2px solid transparent;width:39px;height:39px;border-radius:50%;position:relative;background:#fcf9ef}.swatch[data-theme=sage]{background:#dce5d8}.swatch[data-theme=white]{background:#fff}.swatch[data-theme=night]{background:#29342f}.swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:4px}.reading-controls>p{font-size:13px;color:var(--muted);margin-top:25px}.library{padding-top:155px}.library-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.feature-tabs{display:flex;gap:5px}.feature-tabs button{border:0;padding:12px 20px;background:none;font-size:15px;white-space:nowrap}.feature-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}.feature-tabs button:hover{background:#dce2d1;color:var(--ink)}.screenshot-stage{background:#eceee6;padding:36px 5vw;overflow:hidden}.screenshot-stage img{width:100%;max-height:620px;object-fit:cover;object-position:top;aspect-ratio:1.5}.feature-description{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;align-items:start}.feature-description h3{font-family:var(--serif);font-size:27px;font-weight:450}.feature-description p{max-width:480px}.quiet-section{background:var(--ink);color:var(--paper);margin-top:150px;padding-block:85px}.quiet-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.quiet-layout>div>p{margin-top:35px;font-size:19px;line-height:2;opacity:.85}.capabilities{margin:0;display:grid;gap:30px}.capabilities dt{font-family:var(--serif);font-size:24px;margin-bottom:7px}.capabilities dd{margin:0;font-size:16px;color:#c9d2c3}.questions{padding-top:150px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.questions h2{font-size:clamp(32px,3.4vw,49px)}.faq-list{display:grid;gap:10px}details{background:#eaece3;padding:25px 28px}summary{cursor:pointer;list-style:none;display:flex;gap:20px;justify-content:space-between;font-size:17px}summary::-webkit-details-marker{display:none}summary span{transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{margin-top:20px;font-size:16px;color:#4f5e51}.closing{margin-top:150px;background:#e2e7d9;padding:70px 0}.closing>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 65px;align-items:start}.closing h2{font-size:clamp(40px,5vw,72px)}.closing-actions{display:grid;gap:8px}.closing-actions a{background:var(--paper);padding:18px 24px;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.closing-actions a:hover{background:#cad5bd}.closing p{grid-column:2;font-size:13px;margin-top:15px}footer{padding-top:65px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-top p,.footer-top>a:last-child{font-size:14px}.footer-word{font-family:Georgia,serif;font-size:clamp(100px,23vw,350px);line-height:1.2;letter-spacing:-.065em;color:#d7ddcf;margin-left:-.035em;overflow:hidden}.footer-bottom{display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted);padding:20px 0 30px}
@media(min-width:1500px){.book-stage{height:410px}.hero{padding-top:65px}}
@media(max-width:1000px){.nav nav{gap:20px}.hero{padding-top:35px}.hero-intro{gap:25px}.hero-copy{font-size:17px}.book-stage{height:310px}.book{width:180px}.download{padding:17px;gap:12px}.download span{font-size:14px}.download svg{width:20px}.reading-layout{padding:24px;gap:28px;grid-template-columns:1.35fr 1fr}.reading-paper{padding:25px 28px 45px}.reading-controls{padding-right:0}.library-heading{align-items:start}.feature-tabs button{padding:10px 13px}.questions{grid-template-columns:1fr;gap:35px}.quiet-layout{gap:40px}.reading,.library,.questions{padding-top:110px}.quiet-section,.closing{margin-top:110px}}
@media(max-width:650px){.nav{padding-block:22px}.brand svg{width:31px;height:35px}.brand{gap:10px}.brand span{font-size:25px}.brand small{font-size:11px}.nav nav{display:none}.nav-download{padding:10px 17px;font-size:13px;gap:15px}.hero{padding-top:30px}.hero-intro{grid-template-columns:1fr;gap:25px}h1{font-size:54px;line-height:1.28}.hero-copy{justify-self:start;max-width:100%;font-size:16px}.hero-copy>p>br{display:none}.hero-copy .subtle{margin-top:10px;font-size:14px}.shelf-demo{margin:25px -22px 0}.book-stage{height:285px}.book{width:158px;bottom:10px}.shelf-caption{margin-top:15px;gap:24px}.shelf-caption p{font-size:23px}.shelf-caption span{font-size:12px}.round{width:40px;height:40px}.download-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.download{padding:15px 13px;min-height:82px;gap:10px}.download svg{display:none}.download b{font-size:18px}.download span{font-size:14px}.download small{font-size:10px}.download.web{grid-column:1/-1;min-height:65px;padding-inline:18px}.web small{display:none}.download-note{font-size:11px;line-height:1.8}.reading,.library,.questions{padding-top:85px}.section-intro{display:block;margin-bottom:30px}h2{font-size:36px}.section-intro>p{font-size:16px;margin-top:25px}.reading-layout{display:flex;flex-direction:column;padding:16px;gap:20px}.reading-paper{padding:23px 22px 45px;min-height:420px}.paper-top{font-size:10px;margin-bottom:24px}#sample-text{font-size:20px}.reading-controls{width:100%;padding:14px 8px 10px}.reading-controls h3{font-size:24px;margin-bottom:10px}.reading-controls>p{margin-top:18px;font-size:12px}.library-heading{display:block;margin-bottom:25px}.feature-tabs{margin-top:25px}.feature-tabs button{font-size:14px;padding:10px 14px;flex:1}.screenshot-stage{padding:16px 12px}.screenshot-stage img{aspect-ratio:1.05;object-position:top}.feature-description{grid-template-columns:1fr;gap:12px;margin-top:23px}.feature-description h3{font-size:25px}.feature-description p{font-size:15px}.quiet-section{margin-top:85px;padding-block:55px}.quiet-layout{grid-template-columns:1fr;gap:45px}.quiet-layout>div>p{font-size:17px;margin-top:24px}.capabilities{gap:25px}.capabilities dt{font-size:23px}.capabilities dd{font-size:15px}.questions{gap:25px}.questions h2{font-size:34px}details{padding:21px 20px}summary{font-size:16px}details p{font-size:14px}.closing{margin-top:85px;padding:50px 0}.closing>.wrap{grid-template-columns:1fr;gap:30px}.closing h2{font-size:45px}.closing p{grid-column:1;font-size:11px;margin-top:-15px}.closing-actions a{font-size:15px;padding:16px 20px}footer{padding-top:40px}.footer-top{flex-wrap:wrap;gap:23px}.footer-top p{display:none}.footer-word{font-size:23vw;margin-top:20px}.footer-bottom{flex-direction:column;gap:5px;font-size:10px;padding-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:1001px){.hero{padding-top:30px}h1{font-size:clamp(52px,5.1vw,78px)}.book-stage{height:335px}.download-row{margin-top:27px}}
.round:disabled{opacity:.35;cursor:default}
@media(min-width:1001px){.book{width:200px}.book-stage{height:350px}}
@media(min-width:651px) and (max-width:1000px){.book-stage{height:320px}}

.reading-controls select{width:100%;min-height:44px;padding:10px 12px;margin:6px 0 18px;border:1px solid #263f3633;border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}select:focus-visible{outline:2px solid #537666;outline-offset:3px}
/* The language control sits beside downloads at every width. */
.nav-actions{display:flex;align-items:center;gap:16px}.language-picker{display:flex;align-items:center;gap:7px;min-height:44px;border-bottom:1px solid #263f3633}.language-picker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}.language-picker select{max-width:115px;min-height:44px;background:transparent;color:var(--ink);font:13px var(--sans);border:0;cursor:pointer}.nav-download{white-space:nowrap}.nav nav{gap:clamp(14px,2.2vw,36px)}html:lang(en) h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(50px,5.8vw,88px);letter-spacing:-.055em;line-height:1.14}html:lang(en) h2{font-family:Georgia,'Times New Roman',serif;line-height:1.2}html:lang(ja){--serif:'Yu Mincho','Hiragino Mincho ProN',MarginSerif,serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}html:lang(ja) h1{letter-spacing:-.05em}.feature-description{min-height:110px}.download span{overflow-wrap:anywhere}.nav-download,.download{border-radius:3px}.reading-paper{box-shadow:0 12px 32px -20px #263f3640}.shelf-demo{isolation:isolate}.nav{border-bottom:1px solid #263f3618}.book-stage{contain:layout paint}
@media(max-width:1100px){.nav nav{display:none}.nav-actions{gap:14px}}@media(max-width:650px){.nav-actions{gap:10px}.language-picker{gap:3px}.language-picker select{font-size:11px;max-width:80px}.language-picker svg{width:15px}.nav-download{padding:11px;font-size:12px;gap:8px}.nav{gap:10px}.nav .brand svg{width:25px}.nav .brand{gap:7px}.nav .brand span{font-size:21px}.nav .brand small{font-size:10px}html:lang(en) h1{font-size:clamp(48px,12vw,72px)}.feature-description{min-height:150px}}
