@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";:root{font-family:Montserrat,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#1f2933;background-color:#f8fafc}body{margin:0;background-color:#f8fafc}a{color:#1d4ed8;text-decoration:none}a:hover{text-decoration:underline}.page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:4rem 1rem}.page.centered{align-items:center}.card-container{max-width:420px;width:100%}.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 20px 45px #0f172a14;display:flex;flex-direction:column;gap:1rem}.card h2,.card h1{margin:0;color:#0f172a}label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;color:#1f2937}input,textarea,button{font:inherit}input,textarea{padding:.6rem .75rem;border-radius:10px;border:1px solid #d0d5dd;background:#fff}input:focus,textarea:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #2563eb33;outline:none}button{padding:.75rem 1rem;border-radius:12px;border:none;background:#1d4ed8;color:#fff;font-weight:600;cursor:pointer}button:disabled{background:#94a3b8;cursor:not-allowed}.error-text{color:#dc2626;font-size:.875rem}.error-banner{margin:0;padding:.75rem 1rem;border-radius:10px;background:#dc26261a;color:#991b1b}.card-footer{text-align:center;margin-top:1rem;color:#475569}.card header{display:flex;flex-direction:column;gap:.45rem}.card header h1{font-size:1.75rem;margin:0}.subtle{color:#64748b;margin:0}.text-blocks{display:grid;gap:1rem}.text-blocks textarea{min-height:120px;resize:vertical}.text-blocks.single-field textarea{min-height:220px}.text-blocks .input-hint{font-weight:400;font-size:.9rem;line-height:1.5;color:#7c6a59}.actions{display:flex;align-items:center;gap:1rem}.success-text{color:#0f766e;font-weight:600}.media-section{display:flex;flex-direction:column;gap:1rem}.media-header{display:flex;justify-content:space-between;align-items:baseline}.upload-tile{display:inline-flex;align-items:center;justify-content:center;padding:1rem;border:2px dashed #cbd5f5;border-radius:12px;background:#2563eb0d;color:#1d4ed8;font-weight:600;cursor:pointer;width:fit-content}.upload-tile input{display:none}.upload-tile:has(input:disabled){opacity:.5;cursor:not-allowed}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.photo-card{position:relative;background:#e2e8f0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.photo-remove{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border-radius:50%;border:none;background:#0f172ab3;color:#fff;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.photo-remove:hover{background:#dc2626e6}.photo-card img{width:100%;height:220px;object-fit:cover}.photo-card.skeleton{height:160px;background:linear-gradient(120deg,#e2e8f0 30%,#f8fafc,#e2e8f0 70%);background-size:200% 100%;animation:shimmer 1.5s infinite}.page.book-view{min-height:0vh;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:4rem 2rem 6rem;background-color:#f5f7fb}.book-toolbar{width:min(100%,700px);display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.toolbar-week{display:flex;flex-direction:column;gap:.75rem}.toolbar-week h1{margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(1.85rem,3.8vw,2.2rem);color:#2f2419}.toolbar-actions{display:flex;align-items:center;gap:1rem}.error-banner.inline{display:inline-flex;padding:.5rem .85rem;font-size:.9rem}.info-banner.inline{display:inline-flex;padding:.5rem .85rem;font-size:.9rem;border-radius:999px}.week-book{width:min(100%,700px)}.week-book.preview-book{--book-width: 1000px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:0;border:1px solid #e6ded0;background:linear-gradient(150deg,#fff,#fff);box-shadow:0 38px 80px #5a44322e;overflow:hidden;width:min(100%,var(--book-width))}.week-book.preview-book:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:linear-gradient(180deg,#f8f4f026,#d4ccc58c 45%,#f8f4f026);box-shadow:0 0 22px #9a999938;z-index:2}.book-page{padding:clamp(1.8rem,3vw,2.35rem) clamp(1.35rem,2.3vw,1.9rem);position:relative;display:flex;flex-direction:column;gap:clamp(1.15rem,2.1vw,1.45rem);height:100%}.text-page,.photo-page{background:#fff}.book-header{display:flex;flex-direction:column;align-items:center;gap:.85rem;z-index:3}.book-week{margin:0;font-size:26px;letter-spacing:.03em;color:#8b7d72}.book-divider{position:relative;width:100%;height:clamp(18px,2.8vw,22px);display:flex;align-items:center;justify-content:center;color:#9a7d60}.book-divider:before{content:"";position:absolute;top:50%;height:5px;width:45%;background:linear-gradient(90deg,#9a7d6000 50%,#9a7d60b3,#9a7d60 0%);transform:translateY(-50%)}.book-divider:after{content:"";position:absolute;top:50%;height:5px;width:45%;background:linear-gradient(90deg,#9a7d60 00%,#9a7d60b3,#9a7d6000 50%);transform:translateY(-50%)}.book-divider:before{left:0}.page-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.page-sidebar{background:#fff;border-right:1px solid #e2e8f0;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.page-sidebar h2{margin:0;font-size:1.125rem;color:#0f172a}.page-sidebar h3{margin:1.25rem 0 .75rem;font-size:.95rem;text-transform:capitalize;color:#475569}.page-sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.page-sidebar li a{display:block;padding:.45rem .5rem;border-radius:8px;color:#1f2937;display:flex;gap:.75rem;align-items:center}.page-sidebar li.active a,.page-sidebar li a:hover{background:#3b82f61f;color:#1d4ed8}.page-list-number{display:inline-flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:999px;background:#3b82f61a;color:#1d4ed8;font-weight:600}.page-form{width:min(100%,960px);margin:0 auto;padding:4rem 2rem 6rem;display:flex;flex-direction:column;gap:2rem}.page-fields{display:flex;flex-direction:column;gap:1.75rem}.field-block{display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 18px 36px #0f172a0d}.field-block textarea{min-height:140px;resize:vertical}.field-hint{font-size:.85rem;color:#64748b}.list-field{display:flex;flex-direction:column;gap:1rem}.list-item{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#f8fafc}.list-item-header{display:flex;justify-content:space-between;align-items:center}.list-item-body{display:grid;gap:.75rem}.table-field{display:flex;flex-direction:column;gap:1rem}.table-container{overflow-x:auto}.table-field table{width:100%;border-collapse:collapse}.table-field th,.table-field td{border:1px solid #e2e8f0;padding:.5rem;text-align:left;background:#fff}.table-field input{width:100%}.table-unit{font-size:.75rem;color:#94a3b8}.media-field{display:flex;flex-direction:column;gap:1rem;background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 18px 36px #0f172a0d}.media-field-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.media-actions{display:flex;align-items:center;gap:.75rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.media-item{display:flex;flex-direction:column;gap:.5rem;background:#f8fafc;padding:.75rem;border-radius:12px;border:1px solid #e2e8f0}.media-item img{width:100%;height:140px;object-fit:cover;border-radius:8px}.page-sidebar ul li button,.media-item button{align-self:flex-start;background:#ef4444;padding:.35rem .75rem;border-radius:999px}.media-item button:hover{background:#dc2626}@media (max-width: 1024px){.page-layout{grid-template-columns:220px 1fr}}@media (max-width: 768px){.page-layout{grid-template-columns:1fr}.page-sidebar{border-right:none;border-bottom:1px solid #e2e8f0}.page-form{padding:2rem 1rem 4rem}}.marketing-shell{min-height:100vh;background:#f5f1f0;color:#5e5148}.marketing-header{border-bottom:1px solid rgba(188,177,169,.3);background:#f5f1f0eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.marketing-header-inner{max-width:1120px;margin:0 auto;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.5rem}.marketing-brand{margin-right:auto;display:inline-flex;align-items:center;gap:.45rem;font-family:Playfair Display,Georgia,serif;font-size:1rem;color:#7f6f63}.marketing-brand-mark{width:1.8rem;height:1.8rem;border-radius:.5rem;border:1px solid rgba(143,129,118,.5);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;letter-spacing:.04em}.marketing-brand:hover{text-decoration:none}.marketing-nav{display:flex;align-items:center;gap:1.25rem}.marketing-nav a{color:#9a8d84;font-size:.88rem;font-weight:500}.marketing-nav a.active{color:#675a51}.marketing-actions{margin-left:auto}.marketing-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.64rem 1.5rem;font-weight:600;font-size:.95rem;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.marketing-btn:hover{text-decoration:none;transform:translateY(-1px)}.marketing-btn-primary{background:#8ea897;color:#fff;box-shadow:none}.marketing-btn-primary:hover{background:#7b9987}.marketing-btn-secondary{background:#8ea89726;color:#5e5148}.marketing-btn-ghost{background:#f5f1e9;border:1px solid #8b7d72;color:#8b7d72}.marketing-btn-ghost:hover{background:#eee8dd}.marketing-footer{border-top:1px solid rgba(188,177,169,.3);background:transparent}.marketing-footer-inner{max-width:1120px;margin:0 auto;padding:1.4rem 1.5rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;color:#8d7d72;font-size:.88rem}.marketing-footer-inner p{margin:0}.marketing-footer-links{display:flex;gap:1.2rem}.marketing-page .container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.hero-section{padding:2rem 0 2.8rem}.home-hero-main{position:relative;overflow:hidden}.home-hero-main:before{content:"";position:absolute;top:14%;left:-6%;width:260px;height:260px;border-radius:999px;background:#a3b8c938;filter:blur(12px)}.home-hero-main:after{content:"";position:absolute;right:-8%;top:18%;width:280px;height:280px;border-radius:999px;background:#c9b77a24;filter:blur(12px)}.home-hero-copy{position:relative;z-index:2;max-width:860px;padding:clamp(2rem,4vw,3rem)}.home-hero-eyebrow{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;color:#8b7d72;font-weight:600}.home-hero-copy h1{margin:0;font-family:Playfair Display,Georgia,serif;color:#2e2e2e;line-height:1.08;font-size:clamp(3rem,6.5vw,5.5rem)}.home-hero-subtitle{margin:1rem 0 0;font-size:clamp(1.18rem,2.1vw,1.7rem);color:#5f5349;max-width:820px}.home-hero-explainer{margin-top:1.2rem;font-size:1rem;color:#7c6f65;max-width:760px}.home-hero-cta-row{margin-top:1.35rem;display:flex;flex-wrap:wrap;gap:.8rem}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fdfbf9e6;border:1px solid rgba(188,177,169,.24);min-height:420px}.hero-copy{padding:clamp(2rem,4vw,3.3rem);display:flex;flex-direction:column;justify-content:center;gap:.6rem}.hero-section h1,.marketing-section h1,.marketing-section h2{font-family:Playfair Display,Georgia,serif;color:#675a51;line-height:1.2}.hero-section h1{margin:0;font-size:clamp(2rem,3.8vw,3.2rem)}.hero-subtitle{margin:.4rem 0;font-size:1.18rem;color:#81726a}.hero-explainer{color:#96867b;max-width:520px;margin-top:0}.hero-visual{position:relative;min-height:320px;display:flex;align-items:stretch;background:linear-gradient(135deg,#f7f2eb,#efe6da)}.book-scene{position:relative;width:100%;min-height:320px}.book-cover{position:absolute;right:20%;top:16%;width:190px;height:250px;background:#f9f4ed;border:1px solid rgba(139,125,114,.25);border-radius:8px;box-shadow:0 26px 40px #2e2e2e1f;transform:rotate(-6deg);display:flex;align-items:center;justify-content:center}.book-cover-title{font-family:Playfair Display,Georgia,serif;color:#8b7d72;font-size:1.2rem}.baby-shape{position:absolute;right:-32px;top:6%;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#f4e9df,#ddc7b1);opacity:.9}.plant-shape{position:absolute;left:10%;bottom:14%;width:84px;height:124px;border-radius:40px;background:linear-gradient(180deg,#d8cebf,#c7b8a4);opacity:.6}.about-scene .book-cover{transform:rotate(-2deg);right:23%;top:14%}.tagline-band{padding:.6rem 0 2.1rem;text-align:center}.tagline-band-text{margin:0;color:#9a897e;font-family:Playfair Display,Georgia,serif;font-size:1.8rem}.marketing-section{padding:2rem 0 3rem}.marketing-section h2{margin-top:0;font-size:clamp(1.8rem,3vw,2.7rem)}.section-subtitle{color:#9a8a80}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}.value-card{text-align:center;background:transparent}.value-card h3{margin:.9rem 0 .45rem;font-family:Playfair Display,Georgia,serif;color:#6f6158;font-size:1.45rem}.value-card p{margin:0;color:#8a7a70;font-size:1rem;line-height:1.65}.value-image{width:180px;height:180px;margin:0 auto;overflow:hidden}.value-image-circle{border-radius:999px}.value-image-art{width:100%;height:100%;object-fit:cover}.inside-book-section .section-subtitle{max-width:860px}.inside-grid{margin-top:1.2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.inside-card{background:#fffdfbbf;border:1px solid rgba(188,177,169,.32);border-radius:16px;padding:1rem;box-shadow:0 8px 20px #493c310f}.inside-card h3{margin:0;font-family:Playfair Display,Georgia,serif;color:#6f6158}.inside-subtitle{color:#8c7e73}.inside-card p{color:#7e7066;line-height:1.65}.gift-section-inner{max-width:940px}.gift-section-inner p{color:#7e7066;line-height:1.75}.feature-list{margin:0;padding-left:1.2rem;display:grid;gap:.8rem;color:#7f7066}.feature-list li::marker{color:#8ea897}.feature-list.compact{margin-top:1.4rem;text-align:center;list-style:none;padding:0;font-family:Playfair Display,Georgia,serif;color:#85766c}.family-section{padding-top:.7rem}.family-grid{display:grid;grid-template-columns:1fr;gap:1.3rem;align-items:center;max-width:760px}.family-image{position:relative;min-height:220px;border:1px solid rgba(188,177,169,.3);background:linear-gradient(145deg,#efe2d4,#dcc4ae);overflow:hidden}.family-card{position:absolute;border-radius:10px;border:1px solid rgba(255,255,255,.45);background:#fffcf757}.family-card-a{width:58%;height:66%;top:16%;left:9%}.family-card-b{width:40%;height:50%;right:10%;bottom:14%}.closing-section{text-align:center;padding-top:1rem}.closing-line{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,3vw,2.6rem);color:#75665d;margin:0 0 1rem}.prose-container{max-width:900px}.prose-block p{line-height:1.8;color:#776a60}.prose-block{margin-bottom:2.1rem}.prose-block h2{margin-bottom:.6rem}.faq-visual{background:linear-gradient(145deg,#f4ede5,#e3d5c6)}.phone-stack{margin:auto;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:1.5rem}.phone-frame{border-radius:22px;height:260px;border:1px solid rgba(139,125,114,.26);background:linear-gradient(180deg,#fffdf9,#f1e9df);box-shadow:0 10px 24px #4d423914}.phone-frame-left,.phone-frame-right{transform:scale(.9)}.about-closing{margin-top:2.2rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.faq-list{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.faq-item{background:#fffdfb;border-radius:0;border:1px solid rgba(188,177,169,.4);overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:transparent;color:#695c53;font-size:1.06rem;font-family:Playfair Display,Georgia,serif}.faq-answer{padding:0 1rem 1rem;color:#7b6d62}.faq-support{margin-top:2rem;display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}.pricing-card{max-width:840px;margin:1.1rem auto 0;background:#fffdfb;border-radius:0;border:1px solid rgba(188,177,169,.4);box-shadow:none;padding:2rem}.pricing-card.is-focused{outline:2px solid rgba(142,168,151,.8);box-shadow:0 0 0 6px #8ea89733}.pricing-focus-hint{margin-bottom:.75rem;color:#7d6f66;font-weight:600;text-align:center}.pricing-card header h2{text-align:center;margin-bottom:.35rem;font-size:2.3rem}.price-label{margin:.2rem 0 .7rem;color:#8ea897;text-align:center;font-style:italic;font-size:2rem;font-family:Playfair Display,Georgia,serif}.pricing-note{text-align:center;color:#96877d}.pricing-includes-title{margin-bottom:.9rem;color:#695c53;font-size:1.3rem}.pricing-feature-list{border-top:1px solid rgba(188,177,169,.45);padding-top:1.2rem}.pricing-ethos{margin-top:1rem;text-align:center;color:#84756b;font-style:italic}.pricing-card .marketing-btn{display:flex;margin:0 auto}.interest-feedback{margin:.8rem 0 0;text-align:center}.marketing-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2e2e2e47;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.marketing-modal{width:min(100%,460px);background:#fffdfb;border:1px solid rgba(188,177,169,.45);border-radius:16px;padding:1.25rem;box-shadow:0 20px 34px #493c3124}.marketing-modal h2{margin:0;font-family:Playfair Display,Georgia,serif;color:#675a51}.marketing-modal p{color:#7b6d62;margin:.65rem 0 1rem}.marketing-modal-label{display:block;margin-bottom:.45rem;color:#675a51;font-weight:600}.marketing-modal input{width:100%;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(188,177,169,.55);background:#fff;box-sizing:border-box}.marketing-modal input:focus{outline:none;border-color:#8ea897;box-shadow:0 0 0 3px #8ea8972e}.marketing-modal-checkbox{margin-top:.8rem;display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;color:#7b6d62;font-size:.93rem;line-height:1.45}.marketing-modal-checkbox input[type=checkbox]{width:1rem;height:1rem;margin-top:.2rem}.marketing-modal-checkbox a{color:#6f6158;text-decoration:underline}.marketing-modal-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.65rem}.unsubscribe-card{max-width:680px;margin:0 auto;background:#fffdfb;border:1px solid rgba(188,177,169,.4);padding:2rem}.unsubscribe-card h1{margin:0}.unsubscribe-card>p{margin-top:.75rem;color:#7b6d62}.unsubscribe-form{margin-top:1.25rem;display:grid;gap:.7rem}.unsubscribe-form label{color:#695c53;font-weight:600}.unsubscribe-form input{width:100%;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(188,177,169,.55);background:#fff;box-sizing:border-box}.unsubscribe-form input:focus{outline:none;border-color:#8ea897;box-shadow:0 0 0 3px #8ea8972e}.unsubscribe-form .marketing-btn{justify-self:start;margin-top:.25rem}.unsubscribe-feedback{margin:.1rem 0}.unsubscribe-secondary{margin-top:.65rem;color:#7b6d62}.unsubscribe-secondary a{color:#6f6158;text-decoration:underline}.legal-prose h2{margin-top:2rem}.legal-prose ul{margin-top:.5rem;margin-bottom:.8rem;padding-left:1.1rem;display:grid;gap:.45rem}.legal-updated{color:#7b6f65;font-size:.92rem}@media (max-width: 1024px){.marketing-header-inner{flex-wrap:wrap;justify-content:center}.hero-grid,.family-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inside-grid{grid-template-columns:1fr}.phone-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.marketing-header-inner{gap:.9rem}.marketing-brand{margin:0}.marketing-nav{justify-content:center}.marketing-actions{margin-left:0}.hero-section{padding-top:1.4rem}.home-hero-copy h1{font-size:clamp(2.15rem,8vw,3rem)}.hero-copy{padding:1.5rem}.hero-visual{min-height:260px}.book-cover{width:150px;height:200px;right:22%}.baby-shape{width:120px;height:120px;right:-16px}.value-grid{grid-template-columns:1fr}.value-image{width:150px;height:150px}.tagline-band-text{font-size:1.55rem}.pricing-card{padding:1.25rem}.price-label{font-size:1.5rem}.marketing-footer-inner{justify-content:center}.phone-stack{grid-template-columns:1fr}}.book-divider:after{right:0}.book-divider .book-diamond{width:10px;height:10px;background:currentColor;transform:rotate(45deg);border-radius:5%}.book-divider.bottom{margin-top:auto;color:#9a7d60b3}.book-prompt{margin:0;text-align:center;color:#6d5843;font-size:clamp(.85rem,1.5vw,.95rem);line-height:1.6;padding:0 1rem}.writing-field{position:relative;flex:1;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#fffefaeb,#fff8ece0);box-shadow:inset 0 12px 28px #553f2f14;--line-count: 12;--line-height: 1.85rem;min-height:calc(var(--line-count) * var(--line-height))}.writing-field:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fffcf2cc,#fff5e4f2);z-index:1}.writing-field:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#79614a8c 1px,#79614a00 1px);background-size:12px var(--line-height);background-repeat:repeat;background-position:0 calc(var(--line-height) - 6px);opacity:.85;pointer-events:none;z-index:2}.book-textarea{position:relative;z-index:3;width:100%;height:100%;border:none;background:transparent;padding:1.6rem 2.1rem;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(.92rem,1.6vw,1.05rem);line-height:var(--line-height);color:#4a3829;resize:none}.book-textarea::placeholder{color:#6a584499}.book-textarea:focus{outline:none;box-shadow:none}.photo-dropzone{position:relative;flex:1;border-radius:26px;border:2px dashed rgba(149,123,96,.5);background:#fffcf4ad;box-shadow:inset 0 14px 32px #58423014;padding:clamp(2rem,3.2vw,2.6rem);display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-dropzone.has-image{border-style:solid;padding:0}.photo-dropzone img{width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 18px 38px #3d2d212e}.photo-input{display:none}.photo-trigger{border:none;background:none;color:#8f7053;font-size:1rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:1.5rem;cursor:pointer}.photo-trigger:disabled{opacity:.5;cursor:not-allowed}.photo-trigger .photo-icon svg{display:block;color:currentColor}.photo-copy{letter-spacing:.04em}.photo-status{position:absolute;bottom:1.5rem;padding:.45rem 1rem;background:#2f2419bf;color:#fff;border-radius:999px;font-size:.85rem}.photo-dropzone .photo-remove{position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;border-radius:50%;border:none;background:#0f172ab3;color:#fff;font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-dropzone .photo-remove:hover{background:#dc2626d9}.book-note{margin-top:1rem;font-size:.9rem;text-align:center;color:#7c6a59}.upload-error{text-align:center}@media (max-width: 1100px){.week-book.preview-book{grid-template-columns:1fr;width:100%;height:auto}.week-book.preview-book:before{display:none}.book-page{min-height:480px}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;box-shadow:0 8px 20px #0f172a0f}.dashboard-content{flex:1}.logo{font-weight:700;font-size:1.25rem;color:#1d4ed8}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-links a{color:#1f2937;font-weight:500}.nav-links a.active{color:#1d4ed8;font-weight:600}.user-menu{position:relative}.avatar{width:40px;height:40px;border-radius:50%;background:#1d4ed8;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;border:none;cursor:pointer}.menu-dropdown{position:absolute;right:0;margin-top:.75rem;width:220px;background:#fff;border-radius:12px;box-shadow:0 16px 35px #0f172a1f;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.menu-heading{display:flex;justify-content:space-between;align-items:center}.menu-email{font-size:.9rem;color:#475569}.menu-dropdown button{width:100%;text-align:left;padding:.5rem .75rem;border-radius:8px;background:transparent;border:none;color:#1f2937}.menu-dropdown button:hover{background:#2563eb14}.menu-dropdown button.danger{color:#dc2626}.settings-section{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.settings-form{display:grid;gap:.75rem}.info-banner{margin:0;padding:.75rem 1rem;border-radius:10px;background:#2563eb1f;color:#1d4ed8}
