@font-face{font-family:Ruslan;src:url(/fonts/RuslanDisplay-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Marck Script;src:url(/fonts/MarckScript-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Bad Script;src:url(/fonts/BadScript-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Kurale;src:url(/fonts/Kurale-Regular.ttf) format("truetype");font-display:swap}:root{--leather: #2a1c13;--leather-2: #3a271a;--parchment: #efdfbb;--parchment-edge: #c9a36b;--ink-wet: #1b2248;--ink-dry: #3d2616;--cinnabar: #a3321e;--gold: #c19a57;--ui-text: #f1e3c2;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html{background:var(--leather)}body{background:var(--leather);color:var(--ui-text);font-family:Kurale,Georgia,serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,select,textarea,input{font:inherit}.app{height:100dvh;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% -20%,rgba(193,154,87,.18),transparent 60%),repeating-linear-gradient(115deg,rgba(0,0,0,.05) 0 2px,transparent 2px 7px),var(--leather)}.bar{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 12px) 16px 8px}.book-info{flex:1;min-width:0}.book-title{font-family:Ruslan,Kurale,serif;font-size:24px;color:var(--gold);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-author{font-size:14px;opacity:.75}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(193,154,87,.4);background:transparent;color:var(--gold);display:grid;place-items:center}.tabs{display:flex;gap:6px;padding:4px 12px 10px;overflow-x:auto;scrollbar-width:none}.tab{flex:none;padding:7px 14px;border-radius:999px;border:1px solid rgba(193,154,87,.35);background:transparent;color:var(--ui-text);font-size:15px}.tab.active{background:var(--gold);border-color:var(--gold);color:var(--leather)}.stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.error{position:absolute;bottom:8px;margin:0 20px;color:#f0a08f;font-size:14px}.book{--paper: url(/assets/parchment.jpg) center / cover no-repeat, var(--parchment);--leather-tex: url(/assets/leather.jpg) center / cover no-repeat;position:relative;height:calc(var(--ph) + 2 * var(--m));transition:transform .7s cubic-bezier(.4,.1,.2,1)}.book.mode-single{width:calc(var(--spine) + var(--pw) + var(--stack) + var(--m))}.book.mode-spread{width:calc(2 * var(--pw) + 2 * var(--stack) + 2 * var(--m))}.book.mode-spread.closed{transform:translate(calc((var(--pw) + var(--stack) + var(--m)) / -2))}.book-base{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.book-base>div{flex:1;background:linear-gradient(#140a0440,#140a0440),var(--leather-tex),#4a2c1a;box-shadow:inset 0 0 0 1px #00000059,inset 0 0 18px #00000073,0 12px 30px #0000008c;transition:opacity .5s ease}.mode-single .book-base .base-left{display:none}.mode-single .book-base .base-right{border-radius:3px 10px 10px 3px}.mode-spread .base-left{border-radius:10px 2px 2px 10px}.mode-spread .base-right{border-radius:2px 10px 10px 2px}.mode-spread.closed .base-left,.mode-spread.closed .stack-left{opacity:0}.book-spine{position:absolute;top:0;bottom:0;left:0;width:calc(var(--spine) + 2px);border-radius:3px 0 0 3px;background:linear-gradient(to right,rgba(255,220,170,.12),transparent 40%,rgba(0,0,0,.45)),url(/assets/spine.jpg) center / 100% 100% no-repeat,#3a2114;z-index:1}.mode-spread .book-spine{display:none}.book-stack{position:absolute;top:calc(var(--m) + 3px);height:calc(var(--ph) - 6px);width:var(--stack);background:repeating-linear-gradient(to right,#e6d3a8 0,#e6d3a8 1px,#b99a68 1px,#b99a68 2px);transition:opacity .5s ease}.mode-single .stack-right{left:calc(var(--spine) + var(--pw));border-radius:0 3px 3px 0}.mode-single .stack-left{display:none}.mode-spread .stack-right{right:var(--m);border-radius:0 3px 3px 0}.mode-spread .stack-left{left:var(--m);border-radius:3px 0 0 3px}.book-leaves{position:absolute;top:0;right:0;bottom:0;left:0}.leaf{position:absolute;top:var(--m);width:var(--pw);height:var(--ph);transform-origin:left center}.mode-single .leaf{left:var(--spine)}.mode-spread .leaf{left:50%}.leaf.turned{transform:scaleX(-1)}.mode-single .leaf.turned.settled{visibility:hidden}.book.no-anim .leaf,.book.no-anim{transition:none!important}.face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.face.back{transform:scaleX(-1)}.leaf:not(.show-back)>.face.back,.leaf.show-back>.face.front,.leaf.buried{visibility:hidden}.face.paper,.face.verso{background:var(--paper);box-shadow:inset 0 0 40px #7846144d,inset 0 0 6px #5a320a66}.face.paper:before,.face.verso:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,rgba(60,30,10,.3),rgba(60,30,10,.08) 5%,transparent 12%)}.face.back.paper:before,.face.back.verso:before{background:linear-gradient(to left,rgba(60,30,10,.3),rgba(60,30,10,.08) 5%,transparent 12%)}.face.front.paper{border-radius:0 4px 4px 0}.face.back.paper,.face.verso{border-radius:4px 0 0 4px}.leaf.flipping .face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to left,rgba(40,20,5,.45),rgba(40,20,5,.12) 60%,transparent);animation:flip-shade var(--flip-ms, .9s) ease-in-out;opacity:0}@keyframes flip-shade{50%{opacity:1}}.face .quill-page{position:absolute;top:0;right:0;bottom:0;left:0}.page-head{position:absolute;top:14px;left:0;right:0}.section-title{margin:0;text-align:center;font-family:Ruslan,Kurale,serif;font-weight:400;font-size:24px;line-height:1.1;color:var(--cinnabar);letter-spacing:.04em}.ornament{display:block;width:140px;height:14px;margin:2px auto 0;fill:none;stroke:var(--cinnabar);stroke-width:1.1;opacity:.8}.ornament circle{fill:var(--cinnabar)}.folio{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:13px;color:#50321999}.catchword,.catchback{position:absolute;bottom:2px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:none;background:none;font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:16px;color:#503219b8;cursor:pointer;z-index:2}.catchword{right:9%}.catchback{left:9%}.catchword:active,.catchback:active{opacity:.6}.cw-arrow{width:30px;height:30px;filter:sepia(1) saturate(1.4) hue-rotate(-20deg) brightness(.6);opacity:.9}.catchword .cw-arrow{transform:scaleX(-1)}.folio:before,.folio:after{content:" ~ ";opacity:.6}.face.cover,.face.endpaper{inset:calc(-1 * var(--m)) calc(-1 * (var(--m) + var(--stack))) calc(-1 * var(--m)) 0;border-radius:3px 10px 10px 3px}.face.cover{display:grid;place-items:center;background:url(/assets/frame.png) center / 86% 90% no-repeat,radial-gradient(ellipse at 35% 25%,rgba(255,220,160,.12),transparent 60%),var(--leather-tex),#5a331d;box-shadow:inset 0 0 0 1px #0006,inset 0 0 30px #00000080,6px 10px 24px #00000080}.cover-frame{width:78%;padding:36px 16px;text-align:center;color:var(--gold);text-shadow:0 1px 0 rgba(0,0,0,.6),0 -1px 0 rgba(255,230,180,.15)}.cover-kicker{font-size:14px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}.cover-rule{width:60%;height:1px;margin:14px auto;background:linear-gradient(to right,transparent,var(--gold),transparent)}.cover-title{font-family:Ruslan,Kurale,serif;font-size:30px;line-height:1.15}.cover-author{margin-top:10px;font-size:17px}.cover-hint{margin-top:36px;font-size:12px;opacity:.55}.face.endpaper{border-radius:10px 3px 3px 10px;background:radial-gradient(circle at 20% 30%,rgba(90,40,30,.35) 0 12%,transparent 13%),radial-gradient(circle at 70% 60%,rgba(40,60,70,.35) 0 14%,transparent 15%),radial-gradient(circle at 40% 80%,rgba(140,100,50,.35) 0 10%,transparent 11%),#6b4a35;background-size:46px 46px,58px 58px,38px 38px;box-shadow:inset 0 0 30px #00000073}.pen-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5000}.quill-page{display:block}.quill-page .rule{stroke:#6e461e29;stroke-width:.8}.quill-page .margin{stroke:#a3321e38;stroke-width:.8}.glyph{fill:var(--ink-wet);fill-opacity:0;stroke:var(--ink-wet);stroke-width:.75;stroke-linejoin:round;stroke-linecap:round;transition:fill-opacity .3s ease-out,stroke-opacity .6s ease,fill 3s ease,stroke 3s ease}.glyph.inked{fill-opacity:var(--ink-a, 1);stroke-opacity:.5}.glyph.dry{fill:var(--ink-dry);stroke:var(--ink-dry)}.glyph.cap,.glyph.cap.dry{fill:var(--cinnabar);stroke:var(--cinnabar)}.glyph.instant{transition:none}.blot{fill:var(--ink-wet);opacity:.85;transition:fill 3s ease}.blot.dry{fill:var(--ink-dry)}.glyph-wrap.erasing{opacity:0;transition:opacity .2s ease}.pen{pointer-events:none}.pen.hidden{display:none}.pen-body{transition:opacity .6s ease}.pen.idle .pen-body{opacity:.3}.pen.flipping .pen-body,.pen.away .pen-body{opacity:0;transition-duration:.15s}.pen-shadow{fill:#3c1e0a29}.pen-vane{fill:#f6eedb;stroke:#6b4a2b;stroke-width:.8}.pen-barbs{stroke:#b8a17a;stroke-width:.6;fill:none}.pen-shaft{stroke:#6b4a2b;stroke-width:1.3}.pen-nib{fill:#2b2420}.composer{width:100%;max-width:640px;margin:0 auto;padding:8px 12px calc(env(safe-area-inset-bottom) + 10px);background:linear-gradient(to top,var(--leather) 70%,transparent)}.composer-row{display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1;resize:none;min-height:64px;max-height:30dvh;padding:10px 12px;border-radius:12px;border:1px solid rgba(193,154,87,.45);background:#efdfbb14;color:var(--ui-text);font-size:16px;line-height:1.35;outline:none}.composer textarea:focus{border-color:var(--gold)}.composer textarea::placeholder{color:#f1e3c266}.mic{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid rgba(193,154,87,.6);background:radial-gradient(circle at 35% 30%,rgba(255,220,160,.12),transparent 60%),var(--leather-2);color:var(--gold);display:grid;place-items:center}.mic:disabled{opacity:.35}.mic.listening{background:var(--cinnabar);color:#fff;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px #a3321e00}0%,to{box-shadow:0 0 #a3321e8c}}.composer{position:relative;z-index:1}.interim{position:absolute;left:12px;right:12px;bottom:calc(100% + 4px);z-index:2;margin:0;padding:6px 10px;border-radius:8px;background:#2a1c13eb;border:1px solid rgba(193,154,87,.35);box-shadow:0 4px 12px #00000073;font-size:14px;font-style:italic}.interim.error{background:#6e1e12f2;font-style:normal}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet{width:100%;max-width:560px;padding:18px 20px calc(env(safe-area-inset-bottom) + 20px);border-radius:18px 18px 0 0;background:var(--leather-2);border-top:1px solid rgba(193,154,87,.4)}.sheet h3{margin:0 0 12px;font-family:Ruslan,Kurale,serif;font-weight:400;color:var(--gold)}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px}.row input[type=range]{flex:1;max-width:200px;accent-color:var(--gold)}.row select{background:transparent;color:var(--ui-text);border:1px solid rgba(193,154,87,.45);border-radius:8px;padding:6px 8px}.switch{width:22px;height:22px;accent-color:var(--gold)}.sheet-actions{display:flex;gap:8px;margin-top:12px}.sheet-actions button{flex:1;padding:10px;border-radius:10px;border:1px solid rgba(193,154,87,.45);background:transparent;color:var(--ui-text)}.sheet-note{margin:12px 0 0;font-size:13px;opacity:.6}a{color:var(--gold)}a.book-info{color:inherit;text-decoration:none}.bar .icon-btn{flex:none}.ghost-btn{padding:8px 14px;border-radius:10px;border:1px solid rgba(193,154,87,.45);background:transparent;color:var(--ui-text)}.ghost-btn:disabled{opacity:.5}.tab-count{margin-left:6px;font-size:12px;opacity:.65}.sync-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:none;background:none;color:var(--ui-text);font-size:13px;opacity:.8}.bar>.sync-badge{flex:none;width:32px;height:44px;justify-content:center}.seal{display:inline-block;width:10px;height:10px;border-radius:50%;background:#7d9a5a;box-shadow:inset 0 -1px 2px #0006,0 0 0 2px #00000026}.s-idle .seal{background:#8a7a60}.s-syncing .seal{background:var(--gold);animation:seal-pulse 1s ease-in-out infinite}.s-offline .seal{background:#6d6d6d}.s-error .seal{background:var(--cinnabar)}@keyframes seal-pulse{50%{opacity:.35}}.sync-line{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-line small{opacity:.7}.sheet{max-height:88dvh;overflow-y:auto}.sheet-sub{margin-top:20px!important;font-size:17px}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(ellipse at 50% -20%,rgba(193,154,87,.18),transparent 60%),repeating-linear-gradient(115deg,rgba(0,0,0,.05) 0 2px,transparent 2px 7px),var(--leather)}.folio-page{width:100%;max-width:400px;padding:30px 26px 24px;border-radius:4px 10px 10px 4px;color:var(--ink-dry);background:radial-gradient(ellipse at 18% 8%,rgba(255,250,232,.65),transparent 55%),radial-gradient(ellipse at 85% 92%,rgba(140,90,40,.2),transparent 50%),var(--parchment);box-shadow:inset 0 0 40px #7846144d,inset 0 0 6px #5a320a66,0 14px 40px #0000008c}.auth-kicker{text-align:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#503219bf}.folio-page .ornament{margin:8px auto 4px}.auth-title{margin:4px 0 18px;text-align:center;font-family:Ruslan,Kurale,serif;font-weight:400;font-size:30px;color:var(--cinnabar);letter-spacing:.04em}.folio-page .field input{color:var(--ink-wet);background:transparent;border:none;border-bottom:1px solid rgba(110,70,30,.35);border-radius:0;padding:6px 2px;font-size:18px}.folio-page .field-label{color:#503219bf}.folio-page .field-error,.folio-page .form-error{color:var(--cinnabar)}.folio-page .seal-btn{width:100%;margin-top:8px}.auth-switch{margin:18px 0 0;text-align:center;font-size:15px}.auth-switch a{color:var(--cinnabar)}.auth-mock{margin:10px 0 0;text-align:center;font-size:12px;opacity:.6}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;min-width:0}.field-label{font-size:13px;letter-spacing:.04em;color:#f1e3c2a6}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(193,154,87,.45);background:#efdfbb14;color:var(--ui-text);font-size:16px;outline:none}.field textarea{resize:vertical;line-height:1.35}.field input:focus,.field textarea:focus{border-color:var(--gold)}.field.has-error input,.field.has-error textarea{border-color:#d9674f}.field-error{font-size:13px;color:#f0a08f}.form-error{margin:4px 0 12px;color:#f0a08f;font-size:14px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.seal-btn{padding:12px 20px;border:none;border-radius:12px;background:linear-gradient(to bottom,#b2402a,var(--cinnabar));color:#fbecd0;font-size:17px;letter-spacing:.02em;box-shadow:inset 0 1px #ffdcbe40,0 3px 10px #00000059}.seal-btn:disabled{opacity:.6}.danger-btn{padding:12px 16px;border-radius:12px;border:1px solid rgba(217,103,79,.5);background:transparent;color:#f0a08f}.form-actions{display:flex;gap:10px;margin-top:8px}.form-actions .seal-btn{flex:1}.shelf-screen .book-info .sync-badge{margin-top:2px}.search{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:0 12px;border-radius:12px;border:1px solid rgba(193,154,87,.35);background:#efdfbb0f;color:#f1e3c299}.search input{flex:1;min-width:0;height:42px;border:none;background:none;color:var(--ui-text);font-size:16px;outline:none}.shelves{flex:1;min-height:0;overflow-y:auto;padding:6px 12px 110px}.shelf-row{position:relative;display:grid;gap:12px;align-items:end;min-height:150px;padding:16px 10px 0;margin-bottom:26px}.shelf-row:after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:18px;border-radius:2px;background:url(/assets/wood.jpg) center 60% / cover no-repeat,#6b4222;box-shadow:0 8px 14px #00000080}.shelf-book{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}.shelf-caption{display:none}.shelf-empty{margin:20px 8px 10px;padding:18px;border-radius:6px;text-align:center;color:var(--ink-dry);background:var(--parchment);box-shadow:inset 0 0 30px #7846144d}.shelf-empty p{margin:4px 0}.book-cover{--leather-c: #5a331d;position:relative;aspect-ratio:2 / 3;width:100%;overflow:hidden;border-radius:2px 6px 6px 2px;background:linear-gradient(to right,rgba(0,0,0,.45),rgba(255,220,170,.12) 6%,transparent 12%),radial-gradient(ellipse at 35% 25%,rgba(255,220,160,.14),transparent 60%),url(/assets/leather.jpg) center / cover no-repeat,var(--leather-c);background-blend-mode:normal,normal,luminosity,normal;box-shadow:inset 0 0 0 1px #0006,inset 0 0 14px #00000073,3px 4px 8px #00000080;transition:transform .2s ease}.shelf-book:active .book-cover{transform:translateY(-4px)}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-cover:has(img):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(0,0,0,.35),rgba(255,255,255,.12) 5%,transparent 10%)}.bc-frame{position:absolute;top:8%;right:9%;bottom:8%;left:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14% 10%;text-align:center;background:url(/assets/frame.png) center / 100% 100% no-repeat;color:var(--gold);text-shadow:0 1px 0 rgba(0,0,0,.6)}.bc-title{font-family:Ruslan,Kurale,serif;font-size:clamp(11px,3.4vw,16px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.bc-rule{width:60%;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.bc-author{font-size:clamp(9px,2.6vw,12px);opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bc-ribbon{position:absolute;top:0;right:16%;width:9px;height:22%;background:var(--cinnabar);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 2px 4px #0006}.st-abandoned{filter:saturate(.4) brightness(.8)}.fab{position:fixed;right:max(16px,calc(50vw - 584px));bottom:calc(env(safe-area-inset-bottom) + 18px);display:flex;align-items:center;gap:8px;padding:14px 20px 14px 16px;border:none;border-radius:999px;background:var(--gold);color:var(--leather);font-size:16px;box-shadow:0 6px 18px #00000080;z-index:5}.form-screen .bar{position:sticky;top:0;z-index:2;background:var(--leather)}.form-screen{overflow-y:auto}.book-form{width:100%;max-width:560px;margin:0 auto;padding:8px 16px calc(env(safe-area-inset-bottom) + 28px)}.cover-pick{display:flex;gap:16px;align-items:flex-end;margin-bottom:18px}.cover-slot{flex:none;width:110px;padding:0;border:none;background:none}.cover-actions{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.cover-actions .ink-btn.small{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 10px;white-space:nowrap}.cover-actions .ink-btn.small .gen-icon{flex:none}.feather-rating{display:flex;gap:4px}.feather-btn{padding:4px;border:none;background:none;line-height:0}.feather-btn img{display:block;pointer-events:none;opacity:.3;filter:grayscale(1);transition:opacity .2s ease,filter .2s ease,transform .2s ease}.feather-btn.on img{opacity:1;filter:none}.feather-btn:active img{transform:scale(1.12) rotate(-6deg)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 14px}.tag{padding:2px 10px;border-radius:4px;background:#c19a572e;font-size:14px}.file-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-name{flex:1;min-width:0;padding:8px 0;border:none;background:none;color:var(--gold);text-align:left;text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.writing{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100%)}.app.writing .bar,.app.writing .tabs{display:none}.app.writing .composer{padding-bottom:8px}.app.writing .composer textarea{min-height:0}.stage.writing{display:block;margin-top:env(safe-area-inset-top)}.stage.writing>.book{margin:0 auto;transform:translateY(var(--follow-y, 0px));transition:transform .35s ease}.done-btn{flex:none;align-self:stretch;padding:0 12px;border-radius:12px;border:1px solid rgba(193,154,87,.45);background:transparent;color:var(--gold);font-size:15px}.book-slot{position:relative;z-index:0;isolation:isolate;flex:1;min-height:0;display:flex;flex-direction:column}.page-content{position:absolute;top:0;right:0;bottom:0;left:0;padding:14px 28px 40px;z-index:2}.toc .section-title{margin-bottom:0}.toc .ornament{margin-bottom:14px}.toc-row{display:flex;align-items:baseline;gap:6px;width:100%;padding:0;border:none;background:none;color:var(--ink-dry);font-family:var(--hand-font, "Marck Script"),cursive;font-size:23px;line-height:1.95;text-align:left;cursor:pointer}.toc-row.empty{opacity:.42}.toc-dots{flex:1;border-bottom:2px dotted rgba(90,60,30,.35);transform:translateY(-6px)}.toc-page{font-size:20px;color:#503219b3}.glyph.name,.glyph.name.dry{fill:var(--cinnabar);stroke:var(--cinnabar)}.glyph.meta{fill:#6d5238;stroke:#6d5238}.glyph.meta.dry{fill:#7b6146;stroke:#7b6146}.portrait{mix-blend-mode:multiply}.glyph.ai,.glyph.ai.dry{fill:#8a5a2b;stroke:#8a5a2b}.divider-line{stroke:var(--cinnabar);stroke-width:1;opacity:.7}.divider-knot{fill:none;stroke:var(--cinnabar);stroke-width:1.1;opacity:.8}.divider-dot{fill:var(--cinnabar)}.hero-composer{display:flex;flex-direction:column;gap:8px}.hero-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.hero-chips .chip{flex:none;padding:6px 12px;border-radius:999px;border:1px solid rgba(193,154,87,.45);background:transparent;color:var(--ui-text);font-size:15px}.hero-chips .chip.active{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff}.hero-chips .chip.add{border-style:dashed;color:var(--gold)}.hero-hint{margin:0;font-size:14px;opacity:.6}.hero-fields{display:flex;gap:6px}.hero-fields input,.hero-fields select{min-width:0;flex:1;padding:9px 10px;border-radius:10px;border:1px solid rgba(193,154,87,.45);background:#efdfbb14;color:var(--ui-text);font-size:16px;outline:none}.hero-fields .hero-name-input{flex:1.1;color:#f0b3a4}.hero-fields input:not(.hero-name-input){flex:.8}.hero-fields select{flex:1.25;padding-right:4px}.hero-fields input:focus,.hero-fields select:focus{border-color:var(--gold)}.hero-delete{flex:none;align-self:stretch;padding:0 12px;border-radius:12px;border:1px solid rgba(163,50,30,.5);background:transparent;color:#e3a191;font-size:14px}.hero-delete.confirm{background:var(--cinnabar);color:#fff}.composer-slot{position:relative;z-index:1;flex:none;height:calc(122px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:flex-end}.slot-hint{margin:auto 24px;text-align:center;font-size:14px;font-style:italic;opacity:.55}.hero-back{flex:none;width:36px;border-radius:10px;border:1px solid rgba(193,154,87,.45);background:transparent;color:var(--gold);font-size:22px;line-height:1}.hero-composer .composer-row textarea{min-height:58px}.ornament-img{display:block;width:150px;height:auto;margin:4px auto 0;pointer-events:none}.gen-icon{display:block;pointer-events:none}.fab .gen-icon{filter:brightness(.25) sepia(.6)}.hero-delete .gen-icon{margin:0 auto}.hero-delete:not(.confirm){width:52px;padding:0}.book{margin-right:var(--tabw, 0px)}.edge-tabs{position:absolute;z-index:3;left:calc(100% - var(--m));top:calc(var(--m) + 10px);bottom:calc(var(--m) + 10px);width:calc(var(--tabw) + 6px);display:flex;flex-direction:column;gap:3px;transition:opacity .4s ease}.book.closed .edge-tabs{opacity:0;pointer-events:none}.app.writing .edge-tabs{display:none}.edge-tab{--tab-c: #6b4a2a;flex:1;min-height:0;width:calc(var(--tabw) - 4px);padding:0;border:none;border-radius:0 6px 6px 0;background:linear-gradient(to right,rgba(0,0,0,.35),transparent 35%),radial-gradient(ellipse at 30% 30%,rgba(255,230,190,.18),transparent 70%),url(/assets/leather.jpg) center / 300px auto,var(--tab-c);background-blend-mode:normal,normal,luminosity,normal;box-shadow:inset 0 0 0 1px #00000059,2px 1px 3px #00000073;color:#f6e6c4;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:width .25s ease,filter .25s ease;filter:brightness(.82) saturate(.85)}.edge-tab span{writing-mode:vertical-rl;font-family:Kurale,Georgia,serif;font-size:11px;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6)}.edge-tab.active{width:calc(var(--tabw) + 4px);filter:none;box-shadow:inset 0 0 0 1px #c19a57cc,3px 1px 5px #0000008c}.edge-tab.c0{--tab-c: #5a3a24}.edge-tab.c1{--tab-c: #8a2a1c}.edge-tab.c2{--tab-c: #7a5a1c}.edge-tab.c3{--tab-c: #2f5a3a}.edge-tab.c4{--tab-c: #2f4a6b}.edge-tab.c5{--tab-c: #6b2f5a}.edge-tab.c6{--tab-c: #8a5a2a}.edge-tab.c7{--tab-c: #3a5a5a}.edge-tab.c8{--tab-c: #5a5a2a}.edge-tab.c9{--tab-c: #7a2f3a}.search-row{display:flex;gap:8px;margin:0 12px 8px;align-items:stretch}.search-row .search{flex:1;margin:0;min-width:0}.arrange-btn{position:relative;flex:none;padding:0 14px;border-radius:12px;border:1px solid rgba(193,154,87,.55);background:radial-gradient(ellipse at 30% 25%,rgba(255,220,160,.14),transparent 60%),url(/assets/leather.jpg) center / 300px auto,var(--leather-2);color:var(--gold);font-size:15px}.arrange-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--cinnabar);color:#fff;font-size:12px;line-height:20px}.arrange-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-2px 12px 8px}.summary-text{padding:0;border:none;background:none;color:var(--ui-text);opacity:.7;font-size:13px;font-style:italic;text-align:left}.filter-pill{padding:3px 10px;border-radius:999px;border:1px solid rgba(163,50,30,.6);background:#a3321e2e;color:#f0c2b4;font-size:13px}.shelf-group+.shelf-group{margin-top:30px}.shelf-plate{display:flex;align-items:baseline;gap:8px;width:fit-content;max-width:85%;margin:0 auto 10px;padding:4px 16px 5px;border-radius:3px;background:linear-gradient(to bottom,#e6c47f,#b88d45 45%,#8a6428 55%,#c9a35c);box-shadow:inset 0 1px #fff5d2b3,inset 0 -1px #3c230580,0 2px 5px #0000008c;color:#3a240c;font-family:Ruslan,Kurale,serif;font-weight:400;font-size:15px;letter-spacing:.05em;text-shadow:0 1px 0 rgba(255,240,200,.5);background-image:radial-gradient(circle at 6px 50%,#6b4a1c 0 2px,transparent 2.5px),radial-gradient(circle at calc(100% - 6px) 50%,#6b4a1c 0 2px,transparent 2.5px),linear-gradient(to bottom,#e6c47f,#b88d45 45%,#8a6428 55%,#c9a35c)}.plate-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plate-count{font-family:Kurale,Georgia,serif;font-size:12px;opacity:.75}.arrange-sheet{position:relative;width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;padding:26px 22px calc(env(safe-area-inset-bottom) + 22px);border-radius:16px 16px 0 0;border:7px solid transparent;border-bottom:none;background:url(/assets/parchment.jpg) center / cover padding-box,url(/assets/leather.jpg) center / 300px auto border-box,#4a2c1a border-box;box-shadow:inset 0 0 40px #78461459,0 -10px 30px #0009;color:var(--ink-dry);animation:sheet-up .3s cubic-bezier(.2,.8,.3,1)}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}.arr-ribbon{position:absolute;top:-7px;right:34px;width:16px;height:58px;background:linear-gradient(to right,#7a1f14,#a8321e 45%,#7a1f14);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 2px 4px #0006}.arr-heading{margin:0;text-align:center;font-family:Ruslan,Kurale,serif;font-weight:400;font-size:24px;color:var(--cinnabar);letter-spacing:.04em}.arr-section{margin-top:18px}.arr-title{margin:0 0 10px;font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-weight:400;font-size:25px;color:var(--cinnabar);border-bottom:1px solid rgba(110,70,30,.25);padding-bottom:2px}.arr-opts{display:flex;flex-wrap:wrap;gap:8px}.seal-opt{padding:6px 12px;border-radius:6px;border:1.5px solid rgba(61,38,22,.55);background:#fffaeb59;color:var(--ink-dry);font-family:Kurale,Georgia,serif;font-size:15px;box-shadow:1px 1px #3d261626;transition:transform .15s ease,background .2s ease}.seal-opt:active{transform:scale(.96)}.seal-opt.on{border-color:#6e1b10;background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14);color:#fff3e0;text-shadow:0 1px 1px rgba(0,0,0,.45);box-shadow:inset 0 1px 2px #ffd2b466,inset 0 -2px 3px #3c0a0566,0 2px 3px #3c140559;transform:rotate(-1deg)}.seal-opt.more{border-style:dashed;opacity:.75}.opt-count{margin-left:6px;font-size:12px;opacity:.6}.brass-switch{display:flex;margin-top:12px;padding:3px;border-radius:10px;background:linear-gradient(to bottom,#8a6428,#5a3e14);box-shadow:inset 0 1px 3px #00000080}.brass-switch button{flex:1;padding:8px 6px;border:none;border-radius:8px;background:transparent;color:#f1dcb0;font-family:Kurale,Georgia,serif;font-size:15px}.brass-switch button.on{background:linear-gradient(to bottom,#f0d38e,#c9a35c 50%,#a8823f);color:#3a240c;box-shadow:inset 0 1px #fff5d2cc,0 1px 3px #00000073}.arr-facet{margin-bottom:12px}.arr-facet-title{margin-bottom:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#3d2616b3}.arr-facet .feather-btn img{filter:grayscale(1) brightness(.4)}.arr-facet .feather-btn.on img{filter:drop-shadow(0 1px 1px rgba(60,30,5,.4))}.arr-empty{margin:0;font-style:italic;opacity:.7}.arr-actions{display:flex;gap:10px;margin-top:22px}.arr-actions button{flex:1;padding:12px;border-radius:10px;font-family:Kurale,Georgia,serif;font-size:16px}.ink-btn{border:1.5px solid rgba(61,38,22,.55);background:transparent;color:var(--ink-dry)}.wax-btn{border:none;background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14);color:#fff3e0;text-shadow:0 1px 1px rgba(0,0,0,.45);box-shadow:inset 0 1px 2px #ffd2b466,0 3px 6px #3c140566}.bookcases{display:flex;gap:8px;margin:0 12px 10px}.bookcase{flex:1;min-width:0;padding:9px 6px;white-space:nowrap;border-radius:10px;border:1px solid rgba(193,154,87,.35);background:#efdfbb0d;color:var(--ui-text);font-family:Ruslan,Kurale,serif;font-size:clamp(12px,3.5vw,15px);letter-spacing:.02em;opacity:.75}.bookcase.active{opacity:1;color:#3a240c;border-color:transparent;background:linear-gradient(to bottom,#e6c47f,#b88d45 45%,#8a6428 55%,#c9a35c);box-shadow:inset 0 1px #fff5d2b3,0 2px 5px #00000080;text-shadow:0 1px 0 rgba(255,240,200,.5)}.bookcase-count{margin-left:6px;font-family:Kurale,Georgia,serif;font-size:12px;opacity:.7}.bc-priority{position:absolute;top:6%;right:-2px;min-width:24px;height:24px;padding:0 5px;border-radius:12px 0 0 12px;background:linear-gradient(to bottom,#f0d38e,#c9a35c 50%,#a8823f);box-shadow:0 1px 3px #0009;color:#3a240c;font-family:Kurale,Georgia,serif;font-size:14px;line-height:24px;text-align:center}.shelf-book.st-postponed .book-cover{filter:sepia(.5) saturate(.6) brightness(.8)}.field-label.sub{display:block;margin-top:10px;font-size:13px;opacity:.7}.priority-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.prio{aspect-ratio:1;padding:0;border-radius:50%;border:1px solid rgba(193,154,87,.45);background:#efdfbb0d;color:var(--ui-text);font-family:Kurale,Georgia,serif;font-size:15px}.prio.lit{background:#c19a5738}.prio.on{border-color:transparent;background:linear-gradient(to bottom,#f0d38e,#c9a35c 50%,#a8823f);color:#3a240c;box-shadow:inset 0 1px #fff5d2cc,0 2px 4px #00000080;transform:scale(1.12)}.bc-rating{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:0;padding:14px 2px 4px;background:linear-gradient(to top,rgba(20,10,4,.92),rgba(20,10,4,.65) 55%,transparent);pointer-events:none}.bc-rating img{width:19%;max-width:26px;height:auto;opacity:.28;filter:grayscale(1)}.bc-rating img.on{opacity:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.hand-specimens{display:grid;grid-template-columns:1fr 1fr;gap:10px}.specimen{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;border-radius:8px;border:1.5px solid rgba(61,38,22,.35);background:#fffaeb59;color:var(--ink-dry)}.specimen-text{font-size:26px;line-height:1.2;color:var(--ink-wet)}.specimen-name{font-family:Kurale,Georgia,serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.6}.specimen.on{border-color:var(--cinnabar);background:#fffaeb99;box-shadow:inset 0 0 0 1px #a3321e59,0 2px 5px #3c140540}.specimen.on .specimen-name{color:var(--cinnabar);opacity:1}.set-levers{margin-top:12px;border-top:1px dashed rgba(110,70,30,.3)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:6px 0;border:none;border-bottom:1px dashed rgba(110,70,30,.3);background:none;color:var(--ink-dry);font-family:Kurale,Georgia,serif;font-size:16px;text-align:left}.set-row-text small{display:block;font-size:12px;opacity:.6}.lever{position:relative;flex:none;width:50px;height:28px;border-radius:14px;background:linear-gradient(to bottom,#6b4a1c,#4a3310);box-shadow:inset 0 2px 4px #0000008c;transition:background .2s ease}.lever.on{background:linear-gradient(to bottom,#a3321e,#7a1f14)}.lever-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:linear-gradient(to bottom,#f0d38e,#c9a35c 55%,#a8823f);box-shadow:inset 0 1px #fff5d2cc,0 1px 3px #00000080;transition:transform .2s ease}.lever.on .lever-knob{transform:translate(22px)}.set-actions{display:flex;gap:10px}.set-actions button{flex:1;padding:10px;border-radius:10px;font-family:Kurale,Georgia,serif;font-size:15px}.ink-btn.danger{border-color:#a3321e99;color:var(--cinnabar)}.ink-btn.small{flex:none;padding:7px 14px;border-radius:8px;font-family:Kurale,Georgia,serif;font-size:14px}.ink-btn:disabled{opacity:.45}.set-account{display:flex;align-items:center;gap:12px}.set-avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14);box-shadow:inset 0 1px 2px #ffd2b466,inset 0 -2px 3px #3c0a0566,0 2px 4px #3c140559;color:#fff3e0;font-family:Ruslan,Kurale,serif;font-size:20px;text-shadow:0 1px 1px rgba(0,0,0,.45)}.set-account-text{flex:1;min-width:0}.set-account-name{font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:22px;color:var(--ink-wet);line-height:1.1}.set-account-mail{font-size:13px;opacity:.65;overflow:hidden;text-overflow:ellipsis}.set-sync{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(110,70,30,.3);font-size:15px}.set-sync-text{flex:1;min-width:0}.set-sync-text small{display:block;font-size:12px;opacity:.6}.card-page{position:relative;margin-top:6px;padding:18px 20px 22px;border-radius:10px;border:7px solid transparent;background:url(/assets/parchment.jpg) center / cover padding-box,url(/assets/leather.jpg) center / 300px auto border-box,#4a2c1a border-box;box-shadow:inset 0 0 40px #78461459,0 10px 28px #0000008c;color:var(--ink-dry)}.card-page .arr-title{margin-top:18px}.card-page .arr-title:first-of-type{margin-top:0}.card-page .field-label{color:#3d2616b3;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.card-page .field-label.sub{margin-top:12px;margin-bottom:6px}.card-page .field input,.card-page .field textarea,.card-page .field select{padding:6px 2px;border:none;border-bottom:1.5px solid rgba(61,38,22,.35);border-radius:0;background:transparent;color:var(--ink-wet);font-family:Kurale,Georgia,serif;font-size:17px}.card-page .field textarea{padding:6px 8px;border:1.5px solid rgba(61,38,22,.3);border-radius:6px;background:repeating-linear-gradient(to bottom,transparent 0 25px,rgba(110,70,30,.16) 25px 26px),#fffaeb40;line-height:26px}.card-page .field input:focus,.card-page .field textarea:focus{border-color:var(--cinnabar)}.card-page .field input::placeholder,.card-page .field textarea::placeholder{color:#3d261659}.card-page .field input.hand-input{font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:26px;padding-bottom:2px}.card-page .field input.hand-input.title{color:var(--cinnabar)}.card-page .field.has-error input,.card-page .field.has-error textarea{border-color:#b3261e}.card-page .field-error,.card-page .form-error{color:#a3261a}.card-page .cover-pick{margin-bottom:14px}.card-page .cover-slot{filter:drop-shadow(2px 4px 6px rgba(60,30,5,.45))}.card-page .tag{background:#a3321e1f;border:1px solid rgba(163,50,30,.3);color:var(--cinnabar)}.card-page .file-name{color:var(--ink-wet);text-decoration:underline}.card-page .feather-btn img{filter:grayscale(1) brightness(.4)}.card-page .feather-btn.on img{filter:drop-shadow(0 1px 1px rgba(60,30,5,.4))}.card-page .prio{border-color:#3d261666;background:#fffaeb59;color:var(--ink-dry)}.card-page .prio.lit{background:#c9a35c59}.card-page .prio.on{color:#3a240c;background:linear-gradient(to bottom,#f0d38e,#c9a35c 50%,#a8823f)}.card-page input[type=date]{min-height:38px;color-scheme:light}.auth{background:radial-gradient(ellipse at 50% 0%,rgba(193,154,87,.2),transparent 60%),linear-gradient(#140a048c,#140a048c),url(/assets/leather.jpg) center / cover,var(--leather)}.folio-page{position:relative;overflow:visible;padding:30px 24px 24px;border-radius:10px;border:8px solid transparent;background:url(/assets/parchment.jpg) center / cover padding-box,url(/assets/leather.jpg) center / 300px auto border-box,#4a2c1a border-box;box-shadow:inset 0 0 40px #78461459,0 14px 34px #0009}.folio-page .arr-ribbon{top:-8px;right:30px}.auth-quill{position:absolute;top:-34px;left:-18px;width:92px;transform:rotate(-12deg);filter:drop-shadow(3px 5px 5px rgba(0,0,0,.45));pointer-events:none}.auth-kicker{color:#3d2616b3}.folio-page .ornament-img{margin:8px auto 2px}.auth-title{font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:40px;letter-spacing:0;margin:2px 0 14px}.folio-page .field-label{color:#3d2616b3;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.folio-page .field input{font-family:Kurale,Georgia,serif;font-size:17px;border-bottom-color:#3d261659}.folio-page .field input:focus{border-bottom-color:var(--cinnabar)}.folio-page .field-error,.folio-page .form-error{color:#a3261a}.auth-submit{width:100%;margin-top:6px;padding:13px;border-radius:10px;font-family:Kurale,Georgia,serif;font-size:17px}.auth-submit:disabled{opacity:.7}.auth-switch{color:var(--ink-dry)}.auth-switch a{font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:20px}html,body{background:#1e130c}.app,.auth{background:radial-gradient(ellipse at 50% 0%,rgba(193,154,87,.16),transparent 55%),radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.45)),linear-gradient(#160c069e,#160c069e),url(/assets/leather.jpg) center / 600px auto,var(--leather)}.app.shelf-screen{background:linear-gradient(to bottom,rgba(10,5,2,.75),transparent 22%),linear-gradient(to right,rgba(10,5,2,.55),transparent 12%,transparent 88%,rgba(10,5,2,.55)),linear-gradient(#140a0459,#140a0459),url(/assets/cabinet.jpg) center top / 100% auto repeat-y,#2a190e}.form-screen .bar{background:linear-gradient(to bottom,#160c06f5 70%,#160c06cc)}.composer{background:linear-gradient(to top,rgba(22,12,6,.95) 65%,transparent)}.icon-btn,.mic{border:2px solid transparent;background:radial-gradient(circle at 35% 30%,rgba(255,220,160,.16),transparent 60%) padding-box,url(/assets/leather.jpg) center / 200px auto padding-box,linear-gradient(145deg,#f0d38e,#a8823f 45%,#6b4a1c 70%,#c9a35c) border-box;box-shadow:inset 0 2px 5px #0000008c,0 2px 5px #00000080}.icon-btn:active,.mic:active{transform:scale(.94)}.mic.listening{background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14) padding-box,linear-gradient(145deg,#f0d38e,#a8823f 45%,#6b4a1c 70%,#c9a35c) border-box}.fab{border-radius:10px;background:radial-gradient(circle at 10px 50%,#5a3e14 0 2.5px,transparent 3px),radial-gradient(circle at calc(100% - 10px) 50%,#5a3e14 0 2.5px,transparent 3px),linear-gradient(to bottom,#f0d38e,#c9a35c 45%,#a8823f 55%,#d8b46a);color:#3a240c;padding:13px 26px 13px 24px;font-family:Kurale,Georgia,serif;text-shadow:0 1px 0 rgba(255,240,200,.5);box-shadow:inset 0 1px #fff5d2cc,inset 0 -1px #3c230580,0 6px 16px #0000008c}.fab:active{transform:translateY(1px)}.done-btn{border:none;background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14);color:#fff3e0;text-shadow:0 1px 1px rgba(0,0,0,.45);box-shadow:inset 0 1px 2px #ffd2b466,0 2px 5px #00000073}.composer textarea,.search,.hero-fields input,.hero-fields select{border:1px dashed rgba(193,154,87,.55);background:linear-gradient(#0c06038c,#0c06038c),url(/assets/leather.jpg) center / 400px auto;box-shadow:inset 0 2px 6px #0009,0 0 0 3px #0c060359}.composer textarea:focus,.hero-fields input:focus,.hero-fields select:focus{border-color:var(--gold);border-style:solid}.hero-chips .chip,.hero-back,.hero-delete{border:1px solid rgba(193,154,87,.5);background:radial-gradient(ellipse at 30% 25%,rgba(255,220,160,.14),transparent 60%),url(/assets/leather.jpg) center / 300px auto,#4a2c1a;box-shadow:inset 0 0 0 1px #00000059,0 2px 4px #00000073}.hero-chips .chip.add{border-style:dashed;background:#140a0466;box-shadow:none}.hero-delete.confirm{border-color:#6e1b10;background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14)}.hero-composer{gap:8px}.hero-composer .hero-fields,.hero-composer .composer-row{gap:8px;align-items:center}.hero-fields input,.hero-fields select{height:44px;padding:0 12px}.hero-back,.hero-composer .mic,.hero-delete:not(.confirm){flex:none;width:44px;height:44px;padding:0;border-radius:50%;display:grid;place-items:center;align-self:center;border:2px solid transparent;background:radial-gradient(circle at 35% 30%,rgba(255,220,160,.16),transparent 60%) padding-box,url(/assets/leather.jpg) center / 200px auto padding-box,linear-gradient(145deg,#f0d38e,#a8823f 45%,#6b4a1c 70%,#c9a35c) border-box;box-shadow:inset 0 2px 5px #0000008c,0 2px 5px #00000080;color:var(--gold);font-size:22px;line-height:1}.hero-composer .mic.listening{background:radial-gradient(circle at 35% 30%,#d0553b,#a3321e 55%,#7a1f14) padding-box,linear-gradient(145deg,#f0d38e,#a8823f 45%,#6b4a1c 70%,#c9a35c) border-box}.hero-composer .gen-icon{width:22px;height:22px;margin:0}.hero-delete.confirm{flex:none;align-self:center;height:44px;padding:0 12px;border-radius:22px}.hero-composer .composer-row textarea{min-height:44px;height:64px}.hero-composer .done-btn{align-self:center;height:44px}.composer-slot{height:calc(138px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:stretch}.composer-slot>.composer{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:8px 12px calc(env(safe-area-inset-bottom) + 10px)}.composer-slot>.composer>.composer-row{flex:1;min-height:0;align-items:stretch;gap:8px}.composer-slot>.composer>.composer-row textarea{height:auto;min-height:0;max-height:none}.composer-slot>.composer>.composer-row>.mic,.composer-slot>.composer>.composer-row>.ai-btn,.composer-slot>.composer>.composer-row>.done-btn,.composer-slot>.composer>.composer-row>.hero-delete{align-self:center}.composer-slot .mic{width:44px;height:44px}.composer-slot .mic .gen-icon{width:22px;height:22px}.hero-chips .chip{max-width:220px}.chip-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-slot .slot-hint{margin:auto 24px}.hero-chips{flex:none;padding:2px 0}.hero-hint{flex:none;margin:2px 2px 0}.add-wide{flex:none;margin-top:auto;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;background:radial-gradient(circle at 10px 50%,#5a3e14 0 2.5px,transparent 3px),radial-gradient(circle at calc(100% - 10px) 50%,#5a3e14 0 2.5px,transparent 3px),linear-gradient(to bottom,#f0d38e,#c9a35c 45%,#a8823f 55%,#d8b46a);color:#3a240c;font-family:Kurale,Georgia,serif;font-size:16px;text-shadow:0 1px 0 rgba(255,240,200,.5);box-shadow:inset 0 1px #fff5d2cc,inset 0 -1px #3c230580,0 3px 8px #00000080}.add-wide .gen-icon{width:18px;height:18px;filter:brightness(.25) sepia(.6)}.app.writing .composer-slot{height:auto}.app.writing .composer-slot>.composer>.composer-row textarea{height:58px}.app.writing .hero-composer{flex-direction:row;align-items:center;gap:8px}.app.writing .hero-composer>.hero-fields{flex:1;min-width:0}.app.writing .hero-composer>.composer-row{flex:none}.app.writing .hero-composer>.composer-row:has(textarea){flex:1;min-width:0}.app.writing .hero-composer .done-btn{height:44px;padding:0 14px}.hero-fields input:only-of-type{flex:1}.site{height:100dvh;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);background:radial-gradient(ellipse at 50% 0%,rgba(193,154,87,.18),transparent 55%),radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.45)),linear-gradient(#160c069e,#160c069e),url(/assets/leather.jpg) center / 600px auto,var(--leather)}.site>*{max-width:920px;margin-left:auto;margin-right:auto}.site-hero{position:relative;padding:36px 0 28px;text-align:center}.site-quill{width:84px;transform:rotate(-14deg);filter:drop-shadow(3px 5px 5px rgba(0,0,0,.5))}.site-kicker{margin-top:6px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#f1e3c2a6}.site-title{margin:4px 0 8px;font-family:Ruslan,Kurale,serif;font-weight:400;font-size:clamp(44px,11vw,72px);color:var(--gold);letter-spacing:.04em;text-shadow:0 3px 10px rgba(0,0,0,.6)}.site-lead{max-width:30em;margin:0 auto;font-size:19px;line-height:1.5}.site-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:26px}.site-btn{display:inline-block;padding:13px 30px;border-radius:10px;font-size:18px;text-decoration:none}.gold-link{color:var(--gold);text-underline-offset:3px}.site-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:8px}.site .folio-page{width:auto;max-width:none}.site-card p,.legal p,.legal li{margin:0 0 10px;line-height:1.55}.site-prices{position:relative;margin-top:24px}.site-prices .ornament-img{display:block;margin:6px auto 4px}.free-list,.price-list{margin:0 0 8px;padding:0;list-style:none}.free-list li{padding:3px 0 3px 22px;position:relative;line-height:1.45}.free-list li:before{content:"✓";position:absolute;left:2px;color:var(--cinnabar)}.price-row{display:flex;align-items:baseline;gap:6px;padding:4px 0}.price-dots{flex:1;min-width:12px;border-bottom:1px dotted rgba(61,38,22,.45)}.price-value{white-space:nowrap;font-weight:700}.price-note{margin:-4px 0 8px;font-size:15px;opacity:.8}.price-note.small{margin-top:16px;font-size:13px}.soon{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;border:1px dashed rgba(61,38,22,.5);font-size:12px;font-weight:400;opacity:.75;white-space:nowrap}.site-footer{margin-top:28px;text-align:center;font-size:13px;color:#f1e3c299}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-bottom:8px}.site-footer a{color:var(--gold)}.site-footer p{margin:4px 0}.site-back{margin-bottom:12px}.legal h2{margin:20px 0 8px;font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-weight:400;font-size:24px;color:var(--cinnabar)}.legal ul{margin:0 0 10px;padding-left:22px}.legal-date{text-align:center;font-size:13px;opacity:.7}.legal-seller{list-style:none;padding-left:0!important}.legal a{color:var(--cinnabar)}.purchases .arr-section:first-of-type{margin-top:8px}.acc-user{margin:0;font-size:15px;opacity:.8}.acc-note{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid rgba(110,70,30,.35);background:#fffaeb66;line-height:1.45}.acc-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:7px 0;border-bottom:1px dotted rgba(61,38,22,.25)}.acc-row:last-child{border-bottom:none}.acc-row>span:first-child{display:flex;flex-direction:column}.acc-row small{font-size:13px;opacity:.7}.acc-buy{padding:8px 14px;border-radius:8px;font-family:Kurale,Georgia,serif;font-size:15px}.acc-buy:disabled{opacity:.6}.acc-usage{margin:0 0 4px;font-size:14px;opacity:.75}.acc-owned{color:#3f6b2a;font-style:italic}.acc-owned:before{content:"✓ "}.set-row-go{font-size:26px;line-height:1;opacity:.6}.ai-sheet p{margin:12px 0 0;line-height:1.5}.ai-small{font-size:14px;opacity:.8}.ai-small a{color:var(--cinnabar)}.ai-questions{margin:12px 0 0;padding-left:22px;font-family:var(--hand-font, "Marck Script"),"Marck Script",cursive;font-size:21px;line-height:1.35;color:#8a5a2b}.ai-questions li+li{margin-top:8px}.ai-btn{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;border:2px solid transparent;background:radial-gradient(circle at 35% 30%,rgba(255,220,160,.16),transparent 60%) padding-box,url(/assets/leather.jpg) center / 200px auto padding-box,linear-gradient(145deg,#f0d38e,#a8823f 45%,#6b4a1c 70%,#c9a35c) border-box;box-shadow:inset 0 2px 5px #0000008c,0 2px 5px #00000080}.ai-btn .gen-icon{width:30px;height:30px}.ai-btn:disabled{opacity:.6}.ai-btn.busy{animation:ai-busy 1s ease-in-out infinite}@keyframes ai-busy{50%{opacity:.45}}.ai-bind{display:inline-flex;align-items:center;gap:6px}.ai-bind.busy{animation:ai-busy 1s ease-in-out infinite}.ai-tidy{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:0 0 6px;padding:4px 12px;border-radius:14px;border:1px solid rgba(193,154,87,.55);background:#8a5a2b40;color:#f1dcb0;font-family:Kurale,Georgia,serif;font-size:14px}
