:root{--bg-deep: #1a1f2e;--bg-warm: #2a2438;--bg-card: #352f42;--cream: #f5efe6;--gold: #c9a86c;--sage: #8b9a6b;--rose: #c49a9a;--text: #f5efe6;--text-muted: #b8b0c4;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--radius: 16px;--font-ui: "Nunito", system-ui, sans-serif;--font-story: "Fraunces", Georgia, serif;--accent-glow: rgba(201, 168, 108, .2)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg-deep);color:var(--text);font-family:var(--font-ui)}body{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(201,168,108,.15),transparent),var(--bg-deep)}button{font-family:inherit;cursor:pointer}#app{min-height:100vh}.shell{max-width:1100px;margin:0 auto;padding:1.25rem;min-height:100vh}.shell-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.logo{font-family:var(--font-story);font-size:1.5rem;font-weight:700;color:var(--gold);margin:0}.logo span{color:var(--text-muted);font-size:.75rem;font-family:var(--font-ui);font-weight:600;display:block;letter-spacing:.06em;text-transform:uppercase}.btn{border:none;border-radius:999px;padding:.6rem 1.1rem;font-weight:700;font-size:.9rem;transition:transform .15s,background .15s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gold);color:#1a1f2e}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:#ffffff14;color:var(--text)}.btn-ghost:hover{background:#ffffff24}.btn-icon{width:2.5rem;height:2.5rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.hero{text-align:center;padding:2rem 1rem 2.5rem}.hero h2{font-family:var(--font-story);font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 .75rem;line-height:1.2}.hero p{color:var(--text-muted);max-width:32rem;margin:0 auto 2rem;line-height:1.6}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.mode-card{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;text-align:left;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow);cursor:pointer;transition:transform .2s,border-color .2s}.mode-card:hover{transform:translateY(-3px);border-color:#c9a86c59}.mode-card h3{font-family:var(--font-story);margin:0 0 .5rem;color:var(--gold)}.mode-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem;padding:.5rem 0 2rem}.book-spine{background:none;border:none;padding:0;text-align:left;color:inherit}.book-cover{aspect-ratio:3 / 4;border-radius:8px 12px 12px 8px;box-shadow:4px 4px #0003,var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;position:relative;overflow:hidden;transition:transform .2s}.book-spine:hover .book-cover{transform:translateY(-6px) rotate(-1deg)}.book-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%)}.book-cover h4,.book-cover small{position:relative;z-index:1;margin:0}.book-cover h4{font-family:var(--font-story);font-size:.95rem;line-height:1.25}.book-cover small{color:#ffffffbf;font-size:.7rem}.progress-ribbon{position:absolute;top:.5rem;right:.5rem;z-index:2;background:var(--gold);color:#1a1f2e;font-size:.65rem;font-weight:800;padding:.2rem .45rem;border-radius:6px}.reading-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-deep);display:flex;flex-direction:column;z-index:100}.reading-shell.bedtime{filter:brightness(.85)}.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;background:#1a1f2eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;z-index:200;position:relative;pointer-events:auto}.reading-exit-btn{flex-shrink:0;font-weight:700;min-height:44px;padding:.5rem .85rem}.reading-toolbar .title{font-family:var(--font-story);font-size:1rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reading-controls{display:flex;gap:.35rem;align-items:center}.reading-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem 1rem;overflow:hidden;touch-action:pan-x;position:relative}.swipe-hint{font-size:.7rem;color:var(--text-muted);opacity:.6;margin-bottom:.35rem;letter-spacing:.15em}.reading-audio-bar{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;padding:.65rem .75rem;background:#1a1f2ef2;border-top:1px solid rgba(255,255,255,.08);z-index:200;flex-shrink:0}.reading-audio-btn{font-size:.78rem;padding:.45rem .65rem;min-height:40px;white-space:nowrap}.reading-audio-btn.active{background:#c9a86c4d;color:var(--gold)}.reading-mode-bar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.35rem .75rem;font-size:.78rem;color:var(--text-muted);background:#0003}.reading-mode-bar label{display:flex;align-items:center;gap:.25rem}.page-book{width:min(520px,92vw);aspect-ratio:4 / 3;position:relative;perspective:1400px}.page-sheet{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2rem 2rem 2.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background-size:cover}.page-sheet:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;opacity:.5}.page-sheet h2{font-family:var(--font-story);font-size:1.6rem;margin:0 0 1rem;color:var(--cream);position:relative}.page-text{position:relative;font-size:1.05rem;line-height:1.75;color:var(--cream)}.page-text .sentence{display:inline;padding:.1em .05em;border-radius:4px;transition:background .2s}.page-text .sentence.active{background:#c9a86c73;-webkit-box-decoration-break:clone;box-decoration-break:clone}.page-turn-hint{text-align:center;color:var(--text-muted);font-size:.8rem;padding:.5rem}.page-nav-zones{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;z-index:5}.page-nav-zones button{flex:1;background:transparent;border:none;cursor:pointer}.page-sheet.enter-slide{animation:slideIn .45s ease-out}.page-sheet.enter-fade{animation:fadeIn .4s ease-out}.page-sheet.enter-curl{animation:curlIn .55s ease-out;transform-origin:left center}@keyframes slideIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes curlIn{0%{opacity:0;transform:rotateY(-18deg) scale(.98)}to{opacity:1;transform:rotateY(0) scale(1)}}.creator-layout{display:grid;grid-template-columns:200px 1fr 220px;gap:1rem;min-height:calc(100vh - 5rem)}@media(max-width:800px){.creator-layout{grid-template-columns:1fr}.creator-side{order:2}}.panel{background:var(--bg-card);border-radius:var(--radius);padding:1rem;border:1px solid rgba(255,255,255,.06)}.panel h3{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.canvas-preview{aspect-ratio:4 / 3;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px #ffffff14}.canvas-preview input,.canvas-preview textarea{width:100%;background:#0003;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--cream);padding:.5rem .75rem;font-family:var(--font-story);margin-bottom:.5rem}.canvas-preview textarea{min-height:100px;resize:vertical;font-family:var(--font-ui);font-size:.95rem}.page-list{list-style:none;margin:0;padding:0}.page-list li{margin-bottom:.35rem}.page-list button{width:100%;text-align:left;padding:.45rem .6rem;border-radius:8px;border:none;background:transparent;color:var(--text);font-size:.85rem}.page-list button.active,.page-list button:hover{background:#c9a86c33}.settings-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.settings-row label{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid rgba(201,168,108,.4);padding:.65rem 1.2rem;border-radius:999px;font-size:.85rem;z-index:200;animation:fadeIn .3s ease-out}.shell-help .help-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:1.25rem;align-items:start}.help-nav{display:flex;flex-direction:column;gap:.35rem}.help-nav-item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.65rem .85rem;border:1px solid transparent;border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-size:.9rem;transition:border-color .15s,background .15s}.help-nav-item:hover,.help-nav-item.active{border-color:#c9a86c73;background:#c9a86c1f}.help-nav-emoji{font-size:1.1rem}.help-main{display:flex;flex-direction:column;gap:1rem}.help-article{padding:1.5rem;min-height:280px}.help-section-emoji{font-size:2rem;display:block;margin-bottom:.5rem}.help-body{margin-top:1rem;line-height:1.75;font-size:1.05rem}.help-audio-bar{position:sticky;bottom:0}@media(max-width:720px){.shell-help .help-layout{grid-template-columns:1fr}.help-nav{flex-direction:row;flex-wrap:wrap}.help-nav-item{flex:1 1 auto;min-width:140px}}body[data-pattern=stars]:before,body[data-pattern=dots]:before,body[data-pattern=waves]:before,body[data-pattern=paper]:before,body[data-pattern=aurora]:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35}body[data-pattern=stars]:before{background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 60% 70%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 80% 20%,rgba(201,168,108,.8),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.4),transparent);background-size:100% 100%}body[data-pattern=dots]:before{background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px}body[data-pattern=waves]:before{background:repeating-linear-gradient(-3deg,transparent,transparent 18px,rgba(255,255,255,.03) 18px,rgba(255,255,255,.03) 20px)}body[data-pattern=paper]:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E")}body[data-pattern=aurora]:before{background:radial-gradient(ellipse 60% 40% at 20% 20%,rgba(184,160,216,.2),transparent),radial-gradient(ellipse 50% 35% at 80% 30%,rgba(201,168,108,.15),transparent),radial-gradient(ellipse 40% 30% at 50% 80%,rgba(139,154,107,.12),transparent)}#app{position:relative;z-index:1}#sparkle-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;overflow:hidden}.sparkle-particle{position:fixed;font-size:.85rem;color:var(--gold);text-shadow:0 0 8px rgba(201,168,108,.8);animation:sparkle-burst .65s ease-out forwards;transform:translate(-50%,-50%);pointer-events:none}@keyframes sparkle-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1.2)}}.reduced-motion .sparkle-particle,body.reduced-motion .sparkle-particle{display:none}.shell-header{align-items:flex-start}.shell-title-wrap .logo{font-size:clamp(1.25rem,3vw,1.65rem)}.shell-subtitle{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.shell-header-right{flex-shrink:0}.settings-fab{font-size:1.15rem;box-shadow:0 0 20px var(--accent-glow, rgba(201, 168, 108, .2))}.shell-home .hero-eyebrow{color:var(--gold);font-weight:700;font-size:.9rem;margin:0 0 .5rem}.mode-card{position:relative;overflow:hidden}.mode-card:before{content:"";position:absolute;top:-40%;right:-20%;width:120px;height:120px;background:var(--accent-glow, rgba(201, 168, 108, .15));border-radius:50%;filter:blur(20px)}.mode-card-icon{font-size:2rem;display:block;margin-bottom:.5rem}.mode-card-cta{display:inline-block;margin-top:.75rem;font-size:.8rem;font-weight:700;color:var(--gold)}.feature-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.75rem}.feature-pill{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:.35rem .75rem;border-radius:999px;font-size:.78rem;color:var(--text-muted)}.shelf-wood{background:linear-gradient(180deg,rgba(90,60,40,.25) 0%,transparent 12px);border-radius:var(--radius);padding:1rem .5rem 1.5rem;border-bottom:8px solid rgba(60,40,30,.5)}.book-item{display:flex;align-items:stretch;background:none;border:none;padding:0;cursor:pointer;color:inherit;text-align:left;transition:transform .25s}.book-item:hover{transform:translateY(-8px)}.book-item-spine{width:22px;border-radius:4px 0 0 4px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:inset -2px 0 4px #0003}.spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.55rem;font-weight:700;letter-spacing:.05em;color:var(--gold);max-height:90%;overflow:hidden;text-overflow:ellipsis}.book-item .book-cover{flex:1;min-width:100px;border-radius:0 10px 10px 0}.book-cover-emoji{position:absolute;top:12%;left:50%;transform:translate(-50%);font-size:2rem;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}[data-pattern=stars]:after,.cover-preview[data-pattern=stars]:after,.book-cover[data-pattern=stars]:after,.book-item-spine[data-pattern=stars]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 25% 35%,rgba(255,255,255,.5),transparent);background-size:100% 100%;pointer-events:none;opacity:.6}[data-pattern=dots]:after,.cover-preview[data-pattern=dots]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);background-size:12px 12px;pointer-events:none}[data-pattern=waves]:after,.cover-preview[data-pattern=waves]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 8px,rgba(255,255,255,.04) 8px,rgba(255,255,255,.04) 10px);pointer-events:none}[data-pattern=hearts]:after{content:"💕";position:absolute;top:0;right:0;bottom:0;left:0;font-size:.65rem;opacity:.12;word-spacing:1.2rem;line-height:1.8rem;overflow:hidden;pointer-events:none}[data-pattern=paper]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");pointer-events:none}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .28s}.settings-backdrop.open{opacity:1}.settings-panel{background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:20px;width:min(420px,100%);max-height:min(85vh,640px);display:flex;flex-direction:column;box-shadow:var(--shadow);transform:translateY(12px);transition:transform .28s}.settings-backdrop.open .settings-panel{transform:translateY(0)}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.settings-panel-header h2{margin:0;font-family:var(--font-story);font-size:1.2rem}.settings-scroll{overflow-y:auto;padding:.5rem 1.25rem 1.25rem}.settings-section{margin-bottom:1.25rem}.settings-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .65rem}.settings-row-control{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.9rem}.settings-row-control select{background:#00000040;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:8px;padding:.35rem .5rem;max-width:55%}.settings-row-control.toggle input{width:1.1rem;height:1.1rem;accent-color:var(--gold)}.toast{display:flex;align-items:center;gap:.5rem}.toast-icon{font-size:1.1rem}.creator-tabs{display:flex;gap:.35rem;margin-bottom:1rem;flex-wrap:wrap}.creator-tab{flex:1;min-width:100px;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;color:var(--text-muted);font-weight:700;font-size:.82rem}.creator-tab.active{background:#c9a86c40;color:var(--gold);border-color:#c9a86c66}.creator-subtabs{display:flex;gap:.35rem;margin-bottom:1rem}.creator-subtab{padding:.4rem .75rem;border-radius:8px;border:none;background:#ffffff0f;color:var(--text);font-size:.82rem;font-weight:600}.creator-subtab.active{background:var(--gold);color:#1a1f2e}.cover-creator-layout{min-height:calc(100vh - 8rem);gap:1.25rem}.cover-creator-layout .creator-side{display:flex;flex-direction:column;gap:.75rem}.cover-part-list{display:flex;flex-direction:column;gap:1rem}.cover-part-list .cover-part-item{margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.cover-part-list .cover-part-item:last-child{border-bottom:none;padding-bottom:0}.cover-part-list .cover-part-item button[data-part]{margin-bottom:.5rem}.cover-canvas-panel{display:flex;flex-direction:column;align-items:center;min-height:420px}.canvas-panel-label{display:block;width:100%;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.65rem;font-weight:700}.cover-canvas-host{flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:1rem}.cover-canvas-host .cover-canvas{position:relative;box-shadow:var(--shadow);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;border:2px solid rgba(255,255,255,.1)}.cover-canvas-host .cover-canvas-front,.cover-canvas-host .cover-canvas-back{width:min(300px,78vw);aspect-ratio:3 / 4;max-width:100%;min-height:unset}.cover-canvas-host .cover-canvas-spine{width:min(56px,14vw);aspect-ratio:1 / 6;max-width:100%;min-height:unset;border-radius:6px}.cover-canvas-inner{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;position:relative;z-index:1}.cover-canvas-spine .cover-canvas-inner{justify-content:center;align-items:center;padding:1rem .35rem}.cover-canvas-emoji{position:absolute;top:18%;left:50%;transform:translate(-50%);font-size:clamp(2.5rem,8vw,4rem);filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));pointer-events:none}.cover-canvas-title,.cover-canvas-subtitle{width:100%;background:#00000040;border:1px dashed rgba(255,255,255,.25);border-radius:8px;padding:.55rem .75rem;font-family:var(--font-story);margin-bottom:.5rem;text-align:center}.cover-canvas-title{font-size:clamp(1.1rem,3vw,1.65rem);font-weight:700}.cover-canvas-subtitle{font-size:.9rem;font-family:var(--font-ui);opacity:.95}.cover-canvas-spine .cover-canvas-title{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;max-height:85%;width:auto;min-height:120px;font-size:.85rem;padding:.5rem .35rem}.cover-canvas-hint{margin:0;padding:.5rem .75rem;font-size:.7rem;color:var(--text-muted);background:#00000059;text-align:center;position:relative;z-index:2}.cover-part-list .cover-part-item{margin-bottom:.75rem}.cover-part-list .cover-part-item.active .cover-part-thumb{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}.cover-part-thumb{margin-top:.5rem;cursor:pointer;display:flex;justify-content:center;padding:.35rem}.cover-part-thumb-inner.cover-preview,.cover-part-thumb .cover-preview{pointer-events:none;box-shadow:var(--shadow)}.cover-part-item[data-part=front] .cover-part-thumb .cover-preview,.cover-part-item[data-part=back] .cover-part-thumb .cover-preview{width:88px;aspect-ratio:3 / 4;border-radius:8px;padding:.4rem}.cover-part-item[data-part=spine] .cover-part-thumb .cover-preview{width:22px;aspect-ratio:1 / 6;min-height:100px;border-radius:4px;padding:.25rem}.cover-mini-shelf{margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.cover-mini-shelf-row{display:flex;align-items:flex-end;justify-content:center;gap:0;margin-top:.75rem;padding:.5rem;background:#00000026;border-radius:12px}.cover-mini-wrap{flex-shrink:0;line-height:0}.cover-mini-wrap .cover-preview{box-shadow:2px 4px 12px #00000059;display:flex;flex-direction:column;justify-content:flex-end;padding:.25rem}.cover-mini-spine .cover-preview{width:18px;aspect-ratio:1 / 6;min-height:90px;border-radius:3px 0 0 3px}.cover-mini-front .cover-preview{width:64px;aspect-ratio:3 / 4;border-radius:0 6px 6px 0}.cover-mini-back .cover-preview{width:64px;aspect-ratio:3 / 4;border-radius:6px 0 0 6px}.cover-mini-wrap .cover-preview-text h4{font-size:.45rem}.cover-mini-wrap .cover-preview-text small,.cover-mini-spine .cover-preview-text h4{font-size:.35rem}.cover-preview-row{display:flex;align-items:flex-end;justify-content:center;gap:.35rem;margin-bottom:1rem}.cover-preview-wrap{position:relative}.cover-front-wrap .cover-preview{width:120px;aspect-ratio:3/4;border-radius:8px 12px 12px 8px}.cover-spine-wrap .cover-preview{width:28px;aspect-ratio:1/4;border-radius:4px 0 0 4px}.cover-back-wrap .cover-preview{width:120px;aspect-ratio:3/4;border-radius:12px 8px 8px 12px}.cover-preview{position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;padding:.5rem}.cover-preview-emoji{position:absolute;top:18%;left:50%;transform:translate(-50%);font-size:1.75rem}.cover-preview-text{position:relative;z-index:1}.cover-preview-text h4{margin:0;font-family:var(--font-story);font-size:.7rem;line-height:1.2}.cover-preview-text small{font-size:.55rem;opacity:.85}.cover-spine-wrap .cover-preview-text h4{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.5rem}.field-block{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.65rem}.field-label{font-size:.78rem;color:var(--text-muted);font-weight:600}.field-block input,.book-info-panel input{background:#0003;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--cream);padding:.5rem .65rem}.preset-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.preset-swatch{width:2rem;height:2rem;border-radius:50%;border:2px solid rgba(255,255,255,.2);cursor:pointer}.emoji-grid{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.emoji-btn{width:2.25rem;height:2.25rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0003;font-size:1.1rem;cursor:pointer}.emoji-btn.active{border-color:var(--gold);background:#c9a86c40}.layout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:.75rem}.layout-chip{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .25rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#00000026;color:var(--text);font-size:.7rem;cursor:pointer}.layout-chip span{font-size:1.1rem}.layout-chip.active{border-color:var(--gold);background:#c9a86c33}.chip-row{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.chip{padding:.3rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#00000026;color:var(--text-muted);font-size:.72rem;cursor:pointer}.chip.active{background:#c9a86c40;color:var(--gold)}.page-sticker,.page-sticker-read{position:absolute;top:.75rem;right:.75rem;font-size:2rem;z-index:3;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));pointer-events:none}.page-sheet.layout-title,.canvas-preview.layout-title{justify-content:center;text-align:center}.page-sheet.layout-title h2,.canvas-preview.layout-title input:first-of-type{font-size:2rem}.page-sheet.layout-chapter{justify-content:center;text-align:center}.page-sheet.layout-chapter h2:before{content:"— "}.page-sheet.layout-chapter h2:after{content:" —"}.page-sheet.layout-text_focus .page-text,.canvas-preview.layout-text_focus textarea{font-size:1.2rem;line-height:1.9}.page-sheet.layout-cinematic{margin:0 5%;width:90%;aspect-ratio:2.35/1;align-self:center}.page-sheet.layout-comic .page-text{background:#0003;border-radius:12px;padding:1rem;border:2px solid rgba(255,255,255,.15)}.page-sheet.layout-scrapbook{transform:rotate(-.5deg);box-shadow:4px 6px #00000026}.page-sheet.layout-credits{justify-content:flex-end;text-align:center;font-style:italic}.page-sheet.layout-full_image .page-text{opacity:.95;background:#00000059;padding:1rem;border-radius:8px}.book-info-panel{max-width:400px;margin:0 auto}.dyslexic-global,.dyslexic-reading .page-text{font-family:Comic Sans MS,OpenDyslexic,Verdana,sans-serif;letter-spacing:.04em;line-height:1.85}.empty-shelf{text-align:center;color:var(--text-muted);padding:2rem}
