:root{--ink:#14110e;--ink-soft:#1d1914;--paper:#f4eee3;--paper-bright:#fbf7ef;--brass:#c9a36a;--brass-bright:#e3c58a;--clay:#c45c3e;--mist:#b4a896;--line:#f4eee324;--serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", serif;--sans:"Figtree", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--paper);background:var(--ink);margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{background:radial-gradient(900px 520px at 12% -10%, #c9a36a29, transparent 60%), radial-gradient(700px 480px at 100% 10%, #c45c3e14, transparent 55%), var(--ink);min-height:100svh}.file-input{display:none}.eyebrow{color:var(--brass);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:600}h1,h2{font-family:var(--serif);letter-spacing:-.03em;font-weight:400}.lede{max-width:38rem;color:var(--mist);line-height:1.6}.nav{justify-content:space-between;align-items:center;padding:22px 7vw 0;display:flex}.nav nav{align-items:center;gap:22px;display:flex}.nav a,.text-btn{color:var(--mist);background:0 0;border:0;padding:0}.nav a:hover,.text-btn:hover{color:var(--paper)}.brand{font-family:var(--serif);align-items:center;gap:10px;font-size:1.4rem;display:flex}.brand-mark{border:1.5px solid var(--brass);border-left-width:5px;border-radius:1px 4px 4px 1px;width:18px;height:22px}.home{padding-bottom:72px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:56px;padding:72px 7vw 40px;display:grid}.hero h1{margin:0 0 18px;font-size:clamp(3rem,7vw,6.2rem);line-height:.92}.hero h1 em{color:var(--brass-bright);font-style:italic;display:block}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.hero-actions .text-btn{color:var(--mist);padding:13px 8px}.primary-btn,.ghost-btn,.edge-btn,.icon-btn{border:0;border-radius:999px}.primary-btn,.ghost-btn{padding:13px 22px}.primary-btn{background:var(--brass);color:var(--ink)}.ghost-btn,.icon-btn{color:var(--paper);border:1px solid var(--line);background:#f4eee30f}.dropzone{min-height:360px;color:var(--paper);text-align:center;background:#fff8ec08;border:1px dashed #c9a36a73;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px;display:flex}.dropzone.is-hot,.dropzone:hover{border-color:var(--brass);background:#c9a36a14}.dropzone strong{font-family:var(--serif);font-size:1.6rem;font-weight:400}.dropzone span{color:var(--mist)}.mini-book{perspective:600px;width:92px;height:120px;margin-bottom:18px;position:relative}.mini-leaf{border-radius:2px 8px 8px 2px;position:absolute;inset:0;box-shadow:0 18px 30px #00000047}.mini-leaf-back{background:#2a231b}.mini-leaf-front{transform-origin:0;background:linear-gradient(#fbf7ef,#e8d8b8);animation:3.6s ease-in-out infinite leaf-turn}@keyframes leaf-turn{0%,18%{transform:rotateY(0)}50%,68%{transform:rotateY(-148deg)}to{transform:rotateY(0)}}.error-note{color:#f0b4a4;margin:18px 0 0}.features{grid-template-columns:repeat(3,1fr);gap:22px;padding:20px 7vw 10px;display:grid}.features article,.how ol li{border:1px solid var(--line);background:#fff8ec08;border-radius:22px;padding:28px}.features h2,.how strong{margin:0 0 10px;font-size:1.7rem}.features p:last-child,.how span{color:var(--mist);line-height:1.55}.how{padding:56px 7vw 0}.how ol{grid-template-columns:repeat(3,1fr);gap:22px;margin:18px 0 0;padding:0;list-style:none;display:grid}.how li{flex-direction:column;gap:6px;display:flex}.site-foot{color:var(--mist);padding:56px 7vw 0}.converting{text-align:center;place-content:center;min-height:100svh;padding:40px;display:grid}.converting h1{margin:0 0 10px;font-size:clamp(2.4rem,6vw,4.4rem)}.press{width:84px;height:110px;margin:0 auto 28px;position:relative}.press-leaf{background:var(--paper);transform-origin:0;border-radius:2px 8px 8px 2px;animation:1.4s ease-in-out infinite press-flip;position:absolute;inset:0}.press-leaf-two{background:#e7d7b6;animation-delay:.18s}@keyframes press-flip{50%{transform:rotateY(-28deg)}}.meter{background:#f4eee31a;border-radius:99px;width:min(420px,80vw);height:4px;margin:28px auto 10px;overflow:hidden}.meter span{background:var(--brass);height:100%;transition:width .25s;display:block}.meter-label{color:var(--mist)}.job-list{text-align:left;width:min(420px,80vw);max-height:220px;margin:28px auto 0;padding:0;list-style:none;overflow:auto}.job-list-item{color:var(--mist);border-bottom:1px solid var(--line);padding:6px 0;font-size:.92rem}.job-list-item.is-working{color:var(--brass-bright)}.job-list-item.is-done{color:var(--paper)}.job-list-item.is-failed{color:#f0b4a4}.library{min-height:100svh;padding:24px 7vw 72px}.library-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.library-bar h1{margin:0;font-size:clamp(2rem,4vw,3.2rem)}.shelf{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;display:grid}.shelf-card{border:1px solid var(--line);background:#fff8ec08;border-radius:22px;padding:16px}.shelf-cover{background:#1a1612;border:0;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.shelf-cover img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.shelf-card h2{margin:14px 0 4px;font-size:1.2rem}.shelf-card p{color:var(--mist);margin:0 0 14px;font-size:.9rem}.shelf-actions{gap:8px;display:flex}.shelf-actions .primary-btn,.shelf-actions .ghost-btn{padding:9px 14px}.reader{background:radial-gradient(700px 380px at 50% 30%,#c9a36a1a,#0000 60%),#100e0b;flex-direction:column;min-height:100svh;display:flex}.reader-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px 22px 0;display:grid}.reader-title{text-align:center}.reader-title h1{margin:0;font-size:1.35rem}.reader-actions{flex-direction:column;justify-self:end;align-items:flex-end;gap:8px;display:flex}.reader-hint{color:var(--mist);margin:0;font-size:.88rem}.ready-banner{background:#c9a36a1a;border:1px solid #c9a36a59;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin:14px 22px 0;padding:12px 16px;display:flex}.ready-banner p{color:var(--paper);margin:0}.ready-banner .primary-btn,.reader-actions .primary-btn{padding:10px 18px}.primary-btn:disabled{opacity:.7;cursor:wait}.reader-stage{flex:1;place-items:center;min-height:0;padding:12px 72px 24px;display:grid;position:relative}.folio-stage{transform-origin:50%;justify-content:center;width:100%;transition:transform .25s;display:flex;position:relative}:-webkit-any(.reader:fullscreen,.reader:-webkit-full-screen){width:100%;height:100%}:is(.reader:fullscreen,.reader:fullscreen){width:100%;height:100%}:-webkit-any(.reader:fullscreen .reader-bar,.reader:fullscreen .ready-banner,.reader:-webkit-full-screen .reader-bar,.reader:-webkit-full-screen .ready-banner){display:none}:is(.reader:fullscreen .reader-bar,.reader:fullscreen .ready-banner,.reader:fullscreen .reader-bar,.reader:fullscreen .ready-banner){display:none}:-webkit-any(.reader:fullscreen .reader-stage,.reader:-webkit-full-screen .reader-stage){padding:8px}:is(.reader:fullscreen .reader-stage,.reader:fullscreen .reader-stage){padding:8px}.folio-light{pointer-events:none;background:radial-gradient(#ffecc41f,#0000 70%);height:70%;position:absolute;inset:8% 6% auto}.folio-host{filter:drop-shadow(0 28px 48px #00000073);width:100%}.folio-book{margin:0 auto}.folio-page{background:#fff;overflow:hidden;box-shadow:0 0 0 1px #14110e0f}.folio-page img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.stf__wrapper{box-sizing:border-box;width:100%;position:relative}.stf__parent{margin:0 auto}.edge-btn{z-index:4;background:#14110e8c;width:52px;height:52px;font-size:2rem;line-height:1;position:absolute;top:46%}.edge-btn-left{left:16px}.edge-btn-right{right:16px}.fs-btn{z-index:6;color:#f4eee3;opacity:.45;background:#100e0b47;border:0;border-radius:3px;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;top:8px;right:8px}.fs-btn:hover{opacity:.95;background:#100e0b8c}.fs-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.thumbs{border-right:1px solid var(--line);z-index:8;background:#181410;width:min(320px,88vw);padding:18px;transition:transform .28s;position:fixed;inset:0 auto 0 0;overflow:auto;transform:translate(-105%)}.thumbs.is-open{transform:none}.thumbs-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.thumbs-head h2{margin:0;font-size:1.4rem}.icon-btn{width:36px;height:36px}.thumbs-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.thumb{color:var(--mist);background:0 0;border:1px solid #0000;padding:0}.thumb img{aspect-ratio:3/4;object-fit:cover;border-radius:6px;width:100%;display:block}.thumb.is-active{color:var(--paper)}.thumb.is-active img{outline:2px solid var(--brass)}@media (width<=900px){.hero,.features,.how ol{grid-template-columns:1fr}.nav nav a{display:none}.reader-bar{grid-template-columns:1fr;justify-items:start}.reader-actions{justify-self:start;align-items:flex-start;width:100%}.reader-hint{display:none}.reader-stage{padding:8px 16px 16px}.edge-btn{display:none}}
