@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600;6..72,700&family=Nunito:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap);html{height:100%;height:-webkit-fill-available}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Lora,Georgia,-apple-system,BlinkMacSystemFont,Segoe UI,serif;margin:0;min-height:100%;min-height:-webkit-fill-available;min-height:100dvh;overscroll-behavior:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:#fbf8f1;font-size:clamp(16px,4vw,18px)}body,button,input,select,textarea{font-family:Nunito,sans-serif}.remnant-shell{background:#fbf8f1;display:flex;min-height:100svh}.sidebar{background:#efebe0;border-right:1px solid #0f172a14;display:flex;flex-direction:column;height:100svh;left:0;overflow:hidden;position:fixed;top:0;width:280px;z-index:100}.sidebar-brand{border-bottom:1px solid #0f172a14;flex-shrink:0;padding:20px 24px 16px;text-align:center}.sidebar-brand h1{color:#0f172a;font-family:Newsreader,serif;font-size:1.4rem;font-weight:700;letter-spacing:4px}.sidebar-user{border-bottom:1px solid #0f172a0f;flex-shrink:0;padding:10px 24px}.sidebar-user p{color:#0f172acc;font-family:Lora,serif;font-size:.85rem;font-weight:600;letter-spacing:1.5px;margin-bottom:2px;text-transform:uppercase}.sidebar-user span{color:#0f172a;font-size:1.05rem;font-style:italic}.sidebar-nav{flex:1 1;overflow-y:auto;padding:8px 0;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#0f172acc;cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:500;gap:12px;letter-spacing:0;padding:14px 24px;text-align:left;transition:all .2s ease;width:100%}.nav-item:hover{background:#0f172a0f;border-left-color:#0f172a66;color:#0f172a}.nav-item.active{background:#0f172a;border-left-color:#0000;border-radius:6px;color:#fbf8f1}.nav-icon{font-size:1rem;text-align:center;width:20px}.sidebar-footer{border-top:1px solid #0f172a0f;flex-shrink:0;padding:12px 16px}.signout-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#0f172a99;cursor:pointer;display:flex;font-family:Lora,serif;font-size:.95rem;gap:12px;letter-spacing:1px;padding:10px;text-align:left;transition:all .2s;width:100%}.signout-btn:hover{background:#0f172a0d;color:#0f172a}.main-content{background:#fbf8f1;flex:1 1;margin-left:280px;min-height:100svh;overflow-x:hidden;padding:48px 56px}.page-header{border-bottom:1px solid #0f172a1a;margin-bottom:40px;max-width:1080px;padding-bottom:24px}.page-header h2{color:#0f172a;font-family:Lora,serif;font-size:2.2rem;font-weight:400;letter-spacing:3px;margin-bottom:8px}.page-header p{color:#3c4653;font-size:1.2rem;font-style:italic}.card{background:#fff;border:1px solid #0f172a12;border-radius:12px;margin-bottom:28px;max-width:1080px;padding:32px}.card h3{font-size:1rem;font-weight:600;letter-spacing:3px;margin-bottom:20px;text-transform:uppercase}.card h3,.inp{color:#0f172a;font-family:Lora,serif}.inp{background:#fbf8f1;border:1px solid #0f172a1f;border-radius:8px;font-size:1.2rem;margin-bottom:14px;outline:none;padding:14px 18px;transition:border-color .2s;width:100%}.inp:focus{border-color:#0f172a}.inp::placeholder{color:#3c4653}textarea.inp{line-height:1.7;min-height:160px;resize:vertical}.btn{border:none;border-radius:7px;cursor:pointer;font-family:Lora,serif;font-size:1.05rem;letter-spacing:1.5px;padding:14px 28px;text-transform:uppercase;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-gold{background:linear-gradient(135deg,#7c2d12,#b08a38);color:#fff;font-weight:700}.btn-gold:hover:not(:disabled){background:#6b211a;transform:translateY(-1px)}.btn-green{background:#27ae601f;border:1px solid #27ae6066;color:#217a3e}.btn-green:hover:not(:disabled){background:#27ae6033}.btn-blue{background:#2c52821a;border:1px solid #2c528259;color:#2c5282}.btn-blue:hover:not(:disabled){background:#2c52822e}.btn-red{background:#c5303014;border:1px solid #c5303059;color:#c53030}.btn-red:hover:not(:disabled){background:#c5303026}.btn-ghost{background:#fbf8f1;border:1px solid #0f172a1f;color:#0f172a}.btn-ghost:hover:not(:disabled){background:#0f172a0d;border-color:#0f172a;color:#0f172a}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.file-item{align-items:center;background:#fff;border:1px solid #0f172a12;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:18px}.file-thumb{border:1px solid #0f172a1f;border-radius:6px;object-fit:cover}.file-icon,.file-thumb{flex-shrink:0;height:72px;width:72px}.file-icon{align-items:center;background:#0f172a0d;border-radius:6px;display:flex;font-size:1.8rem;justify-content:center}.file-info{flex:1 1}.file-name{color:#0f172a;font-size:1.15rem;font-weight:500;margin-bottom:6px}.file-meta{color:#3c4653;font-size:1rem;margin-bottom:14px}.story-item{background:#fff;border:1px solid #0f172a12;border-radius:10px;margin-bottom:14px;padding:22px;transition:border-color .2s}.story-item:hover{border-color:#0f172a33}.story-item.editing{background:#0f172a08;border-color:#0f172a40}.story-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.story-title{color:#0f172a;font-family:Lora,serif;font-size:1.1rem;margin-bottom:5px}.story-date{color:#3c4653;font-size:1rem;font-style:italic}.story-content{color:#3c4653;font-size:1.1rem;line-height:1.82}.keepsake-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:900}.keepsake-page{background:#fbf8f1;border:1px solid #0f172a1f;border-radius:16px;box-shadow:0 24px 80px #0003,0 0 0 1px #0f172a0d;max-height:85vh;max-width:720px;overflow-y:auto;padding:60px 56px 48px;position:relative;width:100%}.keepsake-page:before{border:1px solid #0f172a0f;border-radius:12px;bottom:16px;content:"";left:16px;pointer-events:none;position:absolute;right:16px;top:16px}.keepsake-corner{height:24px;pointer-events:none;position:absolute;width:24px}.keepsake-corner:after,.keepsake-corner:before{background:#0f172a1f;content:"";position:absolute}.keepsake-corner--tl{left:12px;top:12px}.keepsake-corner--tl:before{height:1px;left:0;top:0;width:24px}.keepsake-corner--tl:after{height:24px;left:0;top:0;width:1px}.keepsake-corner--tr{right:12px;top:12px}.keepsake-corner--tr:before{height:1px;right:0;top:0;width:24px}.keepsake-corner--tr:after{height:24px;right:0;top:0;width:1px}.keepsake-corner--bl{bottom:12px;left:12px}.keepsake-corner--bl:before{bottom:0;height:1px;left:0;width:24px}.keepsake-corner--bl:after{bottom:0;height:24px;left:0;width:1px}.pill-btn{align-items:center;background:#fff;border:1px solid #0f172a1a;border-radius:100px;color:#0f172a;cursor:pointer;display:flex;font-family:Lora,serif;font-size:.95rem;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.pill-btn:hover{background:#0f172a0a;border-color:#0f172a40;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.pill-btn:active{box-shadow:none;transform:translateY(0)}.pill-btn:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.chapter-card{align-items:center;background:#fff;border:1px solid #0f172a12;border-radius:10px;cursor:pointer;display:flex;gap:14px;margin-bottom:8px;padding:14px 18px;transition:all .2s ease}.chapter-card:hover{background:rgba(15,23,42,.015);border-color:#0f172a33;box-shadow:0 2px 8px #0000000a;transform:translateX(2px)}.chapter-card:active{transform:translateX(0)}.drag-handle{color:#3c4653;opacity:.5;transition:opacity .15s ease,color .15s ease}.chapter-card:hover .drag-handle,.drag-handle:hover{color:#3c4653;opacity:1}.book-delete-btn{opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.book-card:hover .book-delete-btn{opacity:1}.book-delete-btn:hover{background:#c0392b14!important;color:#c0392b!important}.photo-grid-card{background:#fff;border:1px solid #0f172a14;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s,transform .18s}.photo-grid-card:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-2px)}.photo-grid-card .pgc-photo{background-position:50%;background-size:cover;flex-shrink:0;height:140px;position:relative;width:100%}.photo-grid-card .pgc-title{background:linear-gradient(0deg,#00000094 0,#0000);bottom:0;color:#fff;font-family:Lora,serif;font-size:.72rem;font-weight:600;left:0;line-height:1.3;overflow:hidden;padding:20px 10px 8px;position:absolute;right:0;text-overflow:ellipsis;white-space:nowrap}.photo-grid-card .pgc-action{background:#fff;border-top:1px solid #0f172a12;padding:8px 10px}.photo-grid-card .pgc-enhance-btn{background:#c9a84c0f;border:1px solid #c9a84c80;border-radius:7px;color:#7c2d12;cursor:pointer;font-family:Lora,serif;font-size:.75rem;font-weight:600;letter-spacing:.01em;padding:7px 0;transition:background .15s,border-color .15s;width:100%}.photo-grid-card .pgc-enhance-btn:hover{background:#c9a84c24;border-color:#c9a84ccc}.photo-grid-card .pgc-enhanced-badge{background:#5a7a4a0f;border:1px solid #5a7a4a4d;border-radius:7px;color:#5a7a4a;font-family:Lora,serif;font-size:.75rem;font-weight:600;padding:7px 0;text-align:center;width:100%}.btn-open-book{background:none;border:1px solid #0f172a26;border-radius:8px;color:#0f172a;cursor:pointer;font-family:Lora,serif;font-size:1.05rem;padding:10px 22px;transition:all .2s ease}.btn-open-book:hover{background:#0f172a0a;border-color:#0f172a4d;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.btn-open-book:active{transform:translateY(0)}.btn-open-book:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.btn-order-main{background:#7c2d12;border:none;border-radius:9999px;box-shadow:0 1px 3px #0000001f;color:#fbf8f1;cursor:pointer;font-family:Lora,serif;font-size:1rem;font-weight:500;letter-spacing:1px;padding:10px 28px;transition:all .15s ease}.btn-order-main:hover{background:#6b211a}.btn-order-main:active{transform:translateY(0)}.btn-order-main:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.reader-sticky-bar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f5f0e8f2;border-bottom:1px solid #0f172a14;display:flex;justify-content:space-between;padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.page-slider{-webkit-appearance:none;appearance:none;background:#0f172a1f;border-radius:3px;box-sizing:initial;cursor:pointer;height:6px;outline:none;padding:8px 0;width:100%}.page-slider::-webkit-slider-runnable-track{background:#0f172a1f;border-radius:3px;height:6px}.page-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#7c2d12;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #00000040;cursor:pointer;height:22px;margin-top:-8px;width:22px}.page-slider::-moz-range-track{background:#0f172a1f;border-radius:3px;height:6px}.page-slider::-moz-range-thumb{background:#7c2d12;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #00000040;cursor:pointer;height:22px;width:22px}.chapter-search{background:#fbf8f1;border:1px solid #0f172a1a;border-radius:8px;color:#0f172a;font-family:Lora,serif;font-size:1rem;outline:none;padding:10px 16px 10px 36px;transition:border-color .2s;width:100%}.chapter-search:focus{background:#fff;border-color:#0f172a4d}.chapter-search::placeholder{color:#0f172a66}.edit-link{background:none;border:none;border-radius:4px;color:#3c4653;cursor:pointer;font-family:Lora,serif;font-size:1rem;padding:4px 8px;text-decoration:none;transition:all .2s ease}.edit-link:hover{background:#0f172a08;color:#7c2d12}.chapter-row-card{transition:all .2s ease}.chapter-row-card:hover{background:#fdfcfa!important;border-color:#0f172a40!important;box-shadow:0 2px 8px #0000000a;transform:translateY(-1px)}.action-pill{align-items:center;background:#fff;border:1px solid #0f172a1a;border-radius:100px;color:#0f172a;cursor:pointer;display:flex;font-family:Lora,serif;font-size:.95rem;gap:8px;padding:8px 16px;transition:all .2s ease}.action-pill:hover{background:#0f172a08;border-color:#0f172a38;box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.action-pill:active{box-shadow:none;transform:translateY(0)}.action-pill:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.btn-open-main{background:none;border:1px solid #0f172a26;border-radius:8px;color:#0f172a;cursor:pointer;font-family:Lora,serif;font-size:1.05rem;padding:10px 22px;transition:all .2s ease}.btn-open-main:hover{background:#0f172a0a;border-color:#0f172a4d;box-shadow:0 2px 8px #0000000f}.btn-open-main:active{transform:translateY(1px)}.btn-open-main:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.edit-link-btn{background:none;border:none;border-radius:4px;color:#3c4653;cursor:pointer;flex-shrink:0;font-family:Lora,serif;font-size:1.05rem;padding:4px 8px;transition:all .2s ease}.edit-link-btn:hover{background:#0f172a0d;color:#0f172a}.edit-link-btn:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.nav-arrow{background:none;border:1px solid #0f172a1f;border-radius:8px;color:#0f172a;cursor:pointer;font-size:1.05rem;padding:8px 16px;transition:all .2s ease}.nav-arrow:hover:not(:disabled){background:#0f172a0a;border-color:#0f172a40}.nav-arrow:focus-visible{outline:2px solid #7c2d12;outline-offset:2px}.keepsake-corner--br{bottom:12px;right:12px}.keepsake-corner--br:before{bottom:0;height:1px;right:0;width:24px}.keepsake-corner--br:after{bottom:0;height:24px;right:0;width:1px}.keepsake-ornament{color:#0f172a2e;font-size:1.2rem;letter-spacing:12px;margin-bottom:28px;text-align:center}.keepsake-title{color:#0f172a;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:400;letter-spacing:1px;line-height:1.3;margin-bottom:16px}.keepsake-meta,.keepsake-title{font-family:Lora,serif;text-align:center}.keepsake-meta{color:#3c4653;font-size:.85rem;letter-spacing:3px;margin-bottom:8px;text-transform:uppercase}.keepsake-author{color:#3c4653;font-family:Lora,serif;font-size:1.05rem;font-style:italic;margin-bottom:32px;text-align:center}.keepsake-divider{background:linear-gradient(90deg,#0000,#0f172a33,#0000);height:1px;margin:0 auto 36px;width:80px}.keepsake-body{color:#0f172a;font-family:Lora,serif;font-size:1.2rem;line-height:2;text-align:left}.keepsake-body p{margin-bottom:12px;text-indent:0}.keepsake-body h2{font-size:1.3rem;letter-spacing:1px;margin:28px 0 12px}.keepsake-body h2,.keepsake-body h3{color:#3c4653;font-family:Lora,serif;font-weight:600}.keepsake-body h3{font-size:1.15rem;margin:20px 0 10px}.keepsake-footer-ornament{color:#0f172a2e;font-size:1rem;letter-spacing:8px;margin-top:40px;text-align:center}.keepsake-actions{border-top:1px solid #0f172a14;display:flex;gap:10px;justify-content:center;margin-top:28px;padding-top:20px}.keepsake-close{background:none;border:none;color:#3c4653;cursor:pointer;font-size:1.5rem;position:absolute;right:24px;top:20px;transition:color .2s;z-index:10}.keepsake-close:hover{color:#0f172a}@media (max-width:640px){.keepsake-overlay{padding:16px}.keepsake-page{padding:40px 28px 36px}}.ai-prompt-box{background:#fbf8f1;border:1px solid #0f172a14;border-left:3px solid #7c2d12;border-radius:2px 10px 10px 2px;margin-bottom:20px;padding:22px 26px}.ai-prompt-box p{color:#0f172a;font-size:1.3rem;font-style:italic;line-height:1.7}.ai-response-box{background:#fbf8f1;border:1px solid #0f172a1f;border-radius:10px;margin-bottom:16px;padding:22px 26px}.ai-response-box p{color:#3c4653;font-size:1.2rem;line-height:1.88;white-space:pre-wrap}.upload-zone{border:2px dashed #0f172a40;border-radius:10px;padding:48px 40px;position:relative;text-align:center;transition:all .2s}.upload-zone:hover{background:#b894480d;border-color:#b89448bf}.upload-zone input[type=file]{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.upload-zone-icon{font-size:2.8rem;margin-bottom:14px}.upload-zone p{color:#0f172a;font-size:1.2rem}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:32px}.stat-card{background:#fff;border:1px solid #0f172a12;border-radius:10px;padding:28px;text-align:center}.stat-num{color:#0f172a;font-family:Lora,serif;font-size:2.6rem;margin-bottom:8px}.stat-label{color:#3c4653;font-size:1rem;letter-spacing:2px;text-transform:uppercase}.empty-state{color:#0f172a;font-size:1.15rem;font-style:italic;padding:48px 24px;text-align:center}.footer-text{border-top:1px solid #0f172a0d;color:#3c4653;font-size:1rem;font-style:italic;line-height:1.6;margin-top:60px;padding-top:24px}.question-btn{align-items:flex-start;background:#fbf8f1;border:1px solid #0f172a1a;border-radius:8px;color:#0f172a;cursor:pointer;display:flex;font-family:Lora,serif;font-size:1.15rem;gap:16px;line-height:1.5;margin-bottom:10px;padding:18px 22px;text-align:left;transition:all .2s;width:100%}.question-btn:hover{background:#0f172a0d;border-color:#7c2d12;color:#0f172a}.question-btn.selected{background:#0f172a14;border-color:#7c2d12;color:#0f172a}.question-num{color:#0f172a;font-family:Lora,serif;font-size:1rem;min-width:28px;padding-top:2px}.mobile-header,.mobile-nav{display:none}@media (max-width:640px){.sidebar{display:none}.remnant-shell{flex-direction:column}.stats-grid{gap:10px;grid-template-columns:1fr 1fr}.card{padding:18px 14px}.page-header h2{font-size:1.5rem}.btn-row{flex-direction:column}.btn-row .btn{justify-content:center;min-height:44px;width:100%}.upload-zone{padding:28px 20px}.upload-zone-icon{font-size:2.2rem;margin-bottom:10px}.upload-zone p{font-size:1rem}.question-btn{font-size:1.05rem;min-height:44px;padding:14px 16px}.keepsake-page{padding:28px 18px}.ai-prompt-box p{font-size:1.1rem}.ai-response-box p{font-size:1.05rem}button{min-height:44px}.mobile-header{align-items:center;background:#efebe0;border-bottom:1px solid #0f172a26;display:flex;height:48px;justify-content:space-between;left:0;padding:10px 16px;position:fixed;right:0;top:0;z-index:200}.mobile-header-brand{align-items:center;color:#7c2d12;display:flex;font-family:Newsreader,serif;font-size:1rem;gap:10px;letter-spacing:3px}.mobile-header-brand img{height:28px;object-fit:contain;width:28px}input,select,textarea{font-size:16px!important}.main-content{margin-left:0;padding:60px 14px 80px}.mobile-nav{-webkit-overflow-scrolling:touch;background:#efebe0;border-top:1px solid #0f172a26;bottom:0;display:flex;height:64px;left:0;overflow-x:auto;padding:0 2px env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:200}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav-item{align-items:center;background:none;border:none;border-top:2px solid #0000;color:#0f172a;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:700;gap:4px;justify-content:center;letter-spacing:.5px;min-width:0;padding:8px 4px;text-transform:uppercase;transition:all .2s;white-space:nowrap}.mobile-nav-item.active{border-top-color:#7c2d12;color:#7c2d12}.mobile-nav-item span.icon{font-size:1.4rem}}@media (max-width:374px){.main-content{padding:56px 10px 76px}.stats-grid{grid-template-columns:1fr}.keepsake-page{padding:20px 12px 24px}}@media (min-width:641px){.mobile-header,.mobile-nav{display:none}}@media (min-width:641px) and (max-width:1024px){.sidebar{width:200px}.sidebar-brand h1{font-size:1.1rem;letter-spacing:2px}.nav-item{font-size:1.05rem;letter-spacing:1px;padding:12px 16px}.main-content{margin-left:200px;padding:28px 24px 60px}.signout-btn{font-size:.82rem}}.beta-banner{align-items:center;background:linear-gradient(90deg,#0f172a0d,#0f172a0d);border-bottom:1px solid #0f172a14;color:#0f172a;display:flex;font-family:Lora,serif;font-size:.92rem;gap:10px;justify-content:center;letter-spacing:1.5px;padding:8px 24px;text-transform:uppercase}.beta-banner-tag{background:#7c2d12;border:1px solid #7c2d12;border-radius:4px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:2px;padding:2px 10px}.feedback-fab{align-items:center;background:linear-gradient(135deg,#7c2d12,#8a6420);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 20px #0f172a40,0 2px 8px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:1.4rem;height:52px;justify-content:center;position:fixed;right:24px;transition:all .25s;width:52px;z-index:500}.feedback-fab:hover{box-shadow:0 6px 28px #0f172a40,0 3px 12px #0000004d;transform:scale(1.08) translateY(-2px)}@media (max-width:640px){.feedback-fab{bottom:90px;font-size:.9rem;height:36px;opacity:.6;right:12px;width:36px;z-index:190}.feedback-fab:hover{opacity:1}.beta-banner{font-size:.68rem;gap:6px;letter-spacing:.5px;padding:6px 12px;white-space:nowrap}.beta-banner,.beta-banner span{overflow:hidden;text-overflow:ellipsis}.beta-banner-tag{font-size:.62rem;letter-spacing:1px;padding:1px 6px}}.toast{align-items:center;animation:toastIn .3s ease;border-radius:10px;box-shadow:0 8px 32px #0006;display:flex;font-family:Lora,serif;font-size:1.05rem;gap:10px;max-width:420px;padding:14px 24px;position:fixed;right:24px;top:24px;z-index:9999}.toast-success{border:1px solid #68d39166;color:#2a7d2a}.toast-error,.toast-success{background:#fff;box-shadow:0 8px 32px #0000001a}.toast-error{border:1px solid #fc818166;color:#c53030}.toast-info{background:#fff;border:1px solid #0f172a1f;box-shadow:0 8px 32px #0000001a;color:#0f172a}@keyframes toastIn{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes loading{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@media (max-width:640px){.toast{bottom:90px;font-size:.95rem;left:12px;max-width:none;padding:12px 18px;right:12px;top:auto}}.feedback-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:600}.feedback-modal{background:#fbf8f1;border:1px solid #0f172a1f;border-radius:14px;max-width:480px;overflow:hidden;position:relative;width:100%}.feedback-modal:before{background:linear-gradient(90deg,#0000,#0f172a26,#0000);content:"";height:1px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:60%}.feedback-modal-header{align-items:center;border-bottom:1px solid #0f172a14;display:flex;justify-content:space-between;padding:24px 28px 16px}.feedback-modal-header h3{color:#0f172a;font-family:Lora,serif;font-size:1rem;letter-spacing:2px;margin:0;text-transform:uppercase}.feedback-modal-close{background:none;border:none;color:#3c4653;cursor:pointer;font-size:1.4rem;line-height:1;padding:4px}.feedback-modal-close:hover{color:#0f172a}.feedback-modal-body{padding:24px 28px 28px}.feedback-stars{display:flex;gap:6px;justify-content:center;margin-bottom:20px}.feedback-star{background:none;border:none;cursor:pointer;font-size:2rem;padding:0;transition:transform .15s}.feedback-star:hover{transform:scale(1.15)}.feedback-context{background:#fff;border:1px solid #0f172a14;border-radius:6px;color:#3c4653;font-family:Lora,serif;font-size:1rem;font-style:italic;margin-bottom:16px;padding:10px 14px}.feedback-card{background:#fff;border:1px solid #0f172a12;border-radius:10px;margin-bottom:14px;padding:20px;transition:border-color .2s}.feedback-card:hover{border-color:#0f172a40}.feedback-card.reviewed{opacity:.55}.feedback-card-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.feedback-card-stars{color:#0f172a;font-size:1rem;letter-spacing:2px}.feedback-card-meta{color:#3c4653;font-size:1.05rem;font-style:italic}.feedback-card-tab{background:#0f172a0d;border:1px solid #0f172a4d;border-radius:4px;color:#0f172a;display:inline-block;font-family:Lora,serif;font-size:.82rem;letter-spacing:1px;padding:2px 10px;text-transform:uppercase}.feedback-card-comment{color:#0f172a;font-size:1.1rem;line-height:1.75;margin-bottom:12px;white-space:pre-wrap}.feedback-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.feedback-filter-btn{border:1px solid;border-radius:6px;cursor:pointer;font-family:Lora,serif;font-size:.85rem;letter-spacing:1px;padding:7px 16px;text-transform:uppercase;transition:all .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}audio{border-radius:8px}.book-cover{background:linear-gradient(135deg,#0f172a0d,#0a1510e6);border:1px solid #0f172a1f;border-radius:10px;overflow:hidden;padding:36px;position:relative;text-align:center}.book-cover:before{border:1px solid #0f172a0f;border-radius:6px;content:"";inset:8px;pointer-events:none;position:absolute}.book-cover-title{color:#0f172a;font-family:Lora,serif;font-size:1.8rem;font-weight:400;letter-spacing:2px;margin-bottom:8px}.book-cover-author{color:#e8c97a99;margin-bottom:4px}.book-cover-author,.book-cover-dedication{font-family:Lora,serif;font-size:1.05rem;font-style:italic}.book-cover-dedication{color:#0f172a4d;margin-bottom:16px}.book-cover-count{color:#0f172a40;font-family:Lora,serif;font-size:.85rem;letter-spacing:2px;margin-bottom:20px;text-transform:uppercase}.book-chapter-list{margin:16px 0;text-align:left}.book-chapter-item{align-items:center;background:#fff;border:1px solid #0f172a0d;border-radius:6px;display:flex;gap:10px;margin-bottom:6px;padding:10px 14px;transition:all .2s}.book-chapter-item:hover{border-color:#0f172a40}.book-chapter-num{color:#0f172a40;font-family:Lora,serif;font-size:.85rem;min-width:24px}.book-chapter-title{color:#0f172a;flex:1 1;font-size:1rem}.book-chapter-actions{display:flex;gap:4px}.book-chapter-actions button{background:none;border:none;color:#0f172a;cursor:pointer;font-size:.85rem;padding:2px 6px;transition:color .2s}.book-chapter-actions button:hover{color:#0f172a}.book-reader-nav{align-items:center;border-top:1px solid #0f172a14;display:flex;justify-content:space-between;margin-top:24px;padding-top:20px}.book-reader-nav button{background:none;border:1px solid #0f172a26;border-radius:8px;color:#0f172a;cursor:pointer;font-family:Lora,serif;font-size:1.05rem;letter-spacing:1.5px;padding:8px 20px;text-transform:uppercase;transition:all .2s}.book-reader-nav button:hover{background:#0f172a0d}.book-reader-nav button:disabled{cursor:default;opacity:.3}.book-reader-progress{color:#3c4653;font-family:Lora,serif;font-size:.92rem;letter-spacing:2px}.collection-card{background:#fff;border:1px solid #0f172a12;border-radius:10px;margin-bottom:12px;padding:20px;transition:border-color .2s}.collection-card:hover{border-color:#0f172a40}.add-to-menu{background:#fff;border:1px solid #0f172a1f;border-radius:8px;box-shadow:0 8px 32px #0000001a;min-width:200px;padding:8px 0;position:absolute;right:0;top:100%;z-index:50}.add-to-menu button{background:none;border:none;color:#0f172a;cursor:pointer;display:block;font-family:Lora,serif;font-size:1rem;padding:8px 16px;text-align:left;transition:background .15s;width:100%}.add-to-menu button:hover{background:#0f172a0d}.add-to-menu-divider{background:#0f172a14;height:1px;margin:4px 0}.storyteller-shell{background:#fbf8f1;margin:0 auto;max-width:1000px;min-height:100svh;position:relative}.storyteller-topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f3edf2;border-bottom:1px solid #0f172a14;display:flex;justify-content:space-between;padding:14px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.storyteller-topbar-brand{color:#0f172a;font-family:Newsreader,serif;font-size:1rem;letter-spacing:3px}.storyteller-content{margin-left:auto;margin-right:auto;max-width:1080px;padding:28px 32px 130px}.storyteller-bottomnav{background:#efebe0;border-top:1px solid #0f172a26;bottom:0;display:flex;left:50%;max-width:1000px;padding:6px 0 env(safe-area-inset-bottom,8px);position:fixed;transform:translateX(-50%);width:100%;z-index:100}.storyteller-tab{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;border-top:3px solid #0000;color:#0f172a;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:600;gap:4px;justify-content:center;min-height:64px;padding:10px 4px;transition:color .15s}.storyteller-tab.active{border-top-color:#7c2d12;color:#7c2d12!important}.storyteller-tab .st-icon{font-size:1.6rem}.st-h1{font-size:2.3rem}.st-h1,.st-h2{color:#0f172a;font-family:Lora,serif;font-weight:600;margin-bottom:12px}.st-h2{font-size:1.9rem}.st-sub{color:#0f172a;font-size:1.25rem;line-height:1.5}.st-card{background:#fff;border:1px solid #0f172a12;border-radius:14px;cursor:pointer;margin-bottom:14px;padding:28px;text-align:left;transition:border-color .2s;width:100%}.st-card:hover{border-color:#7c2d12}.st-action-card{align-items:center;background:#fff;border:1px solid #0f172a1a;border-radius:16px;cursor:pointer;display:flex;gap:16px;margin-bottom:14px;padding:28px 26px;text-align:left;transition:border-color .2s;width:100%}.st-action-card:hover{border-color:#7c2d12}.st-action-primary{background:linear-gradient(135deg,#0f172a14,#0f172a0d);border:1px solid #0f172a40}.st-btn-primary{background:#0f172a14;border:1px solid #0f172a4d;border-radius:14px;color:#0f172a;cursor:pointer;font-family:Lora,serif;font-size:1.3rem;font-weight:600;letter-spacing:1px;min-height:64px;padding:20px 40px}.st-btn-primary:hover{background:#0f172a4d}.st-btn-secondary{background:none;border:1px solid #0f172a33;border-radius:14px;color:#0f172a;cursor:pointer;font-family:Lora,serif;font-size:1.2rem;letter-spacing:1px;padding:16px 28px}.st-btn-secondary:hover{background:#0f172a0d;border-color:#0f172a}.st-input{background:#fff;border:1.5px solid #d4c9b8;border-radius:10px;color:#1a1209;font-family:Lora,serif;font-size:1.15rem;font-weight:500;padding:16px 18px;transition:border-color .2s,box-shadow .2s;width:100%}.st-input:focus{border-color:#b8944a;box-shadow:0 0 0 3px #0f172a12;outline:none}.st-input::placeholder{color:#bfb3a1;font-style:italic;font-weight:400}.st-textarea{line-height:1.7;min-height:220px;resize:vertical}.st-label{color:#0f172a99;display:block;font-family:Lora,serif;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.st-warm-box{background:#0f172a0a;border:1px solid #0f172a0f;border-radius:16px;padding:24px 26px}.st-record-btn{align-items:center;background:linear-gradient(135deg,#0f172a40,#0f172a0d);border:3px solid #0f172a4d;border-radius:50%;box-shadow:0 0 0 12px #0f172a0a,0 8px 32px #0000004d;cursor:pointer;display:flex;flex-direction:column;height:180px;justify-content:center;margin:0 auto 28px;transition:transform .15s;width:180px}.st-record-btn:hover{transform:scale(1.03)}.st-record-active{animation:pulse-red 2s ease-in-out infinite;background:linear-gradient(135deg,#dc503c4d,#b4322826);border-color:#dc503c80}.chapter-editor-shell{background:#fbf8f1;display:flex;height:100vh;overflow:hidden}.chapter-editor-scroll{align-items:center;display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.chapter-editor-inner{max-width:600px;padding:40px 32px;width:100%}.chapter-preview-btn,.chapter-preview-pane{display:none}@media (min-width:1200px) and (pointer:fine){.chapter-editor-scroll{align-items:center}.chapter-preview-pane{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fbf8f1e0;border-left:1px solid #dcd8cecc;box-shadow:-6px 0 32px #0f172a0d;display:flex!important;flex-direction:column;flex-shrink:0;justify-content:center;overflow:hidden;padding:40px 32px;width:340px}.chapter-preview-btn{display:none!important}}@media (max-width:1199px){.chapter-editor-shell{display:block;height:auto;overflow:visible}.chapter-editor-scroll{align-items:center;overflow:visible}.chapter-editor-inner{margin:0 auto;max-width:672px}.chapter-preview-btn{display:inline-flex!important}}@keyframes pulse-red{0%,to{box-shadow:0 0 0 12px #dc503c1a,0 0 0 24px #dc503c0d}50%{box-shadow:0 0 0 18px #dc503c26,0 0 0 36px #dc503c14}}.st-back{align-items:center;background:#0000;border:none;border-radius:9999px;color:#0f172acc;cursor:pointer;display:inline-flex;font-family:Lora,serif;font-size:.9rem;font-weight:500;gap:6px;letter-spacing:.5px;margin-bottom:24px;padding:8px 14px;transition:all .15s ease}.st-back:hover{background:#0f172a0d;color:#0f172a}@media (max-width:640px){.storyteller-content{padding:16px 16px 100px}.page-header{margin-bottom:20px;padding-bottom:16px}.page-header h2{font-size:1.5rem;letter-spacing:2px}.st-h1{font-size:1.7rem}.st-h2{font-size:1.4rem}.st-sub{font-size:1rem;line-height:1.5}.st-label{font-size:1rem;margin-bottom:8px}.st-card{border-radius:12px;padding:18px 16px}.st-action-card{border-radius:14px;gap:12px;padding:18px 16px}.st-warm-box{border-radius:12px;padding:16px 18px}.st-btn-primary{border-radius:10px;font-size:1.05rem;min-height:48px;padding:14px 20px}.st-btn-secondary{border-radius:10px;font-size:1rem;padding:12px 18px}.st-input{border-radius:8px;font-size:1rem;padding:13px 14px}.st-record-btn{font-size:2rem!important;height:80px!important;width:80px!important}.st-back{align-items:center;display:inline-flex;min-height:44px;padding:8px 14px}.chapter-card{align-items:center;flex-wrap:nowrap;gap:10px;min-height:56px;padding:10px 12px}.chapter-card>div:nth-child(2){border-radius:6px;flex-shrink:0!important;height:44px!important;width:44px!important}.chapter-card>div:nth-child(3){flex:1 1;min-width:0;overflow:hidden}.chapter-card>div:nth-child(3)>div:first-child{font-size:.95rem!important;font-weight:600!important;margin-bottom:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.chapter-card-meta,.chapter-enhance-btn{display:none!important}.chapter-card .edit-link{align-items:center;color:#8a7e72;display:flex;flex-shrink:0;font-size:.9rem!important;min-height:44px;padding:0 4px}.chapter-card>div:first-child{padding:4px 2px!important}.pill-btn{font-size:.88rem;gap:6px;padding:7px 13px}.story-item{padding:16px}.story-header{align-items:flex-start;flex-direction:column;gap:6px}.file-item{gap:10px;padding:12px}.file-icon,.file-thumb{height:52px;width:52px}.reader-sticky-bar{gap:8px;padding:8px 10px}.photo-grid-card .pgc-title{font-size:.68rem}.photo-grid-card .pgc-enhance-btn,.photo-grid-card .pgc-enhanced-badge{font-size:.72rem;min-height:0!important;padding:6px 0}.keepsake-page{max-height:92vh}.btn-open-book{font-size:.92rem;padding:8px 14px}.btn-order-main{font-size:.92rem;padding:8px 18px}.estate-tab-bar,.memory-tab-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none}.estate-tab-bar::-webkit-scrollbar,.memory-tab-bar::-webkit-scrollbar{display:none}.estate-tab-btn,.memory-tab-btn{flex-shrink:0;font-size:.82rem!important;min-width:80px;padding:10px 6px!important}.archive-filter-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.archive-filter-bar::-webkit-scrollbar{display:none}.journal-entry-row{flex-wrap:wrap;gap:4px}}
/*# sourceMappingURL=main.893eeb07.css.map*/