:root{--teal:#5bbfb5;--teal-deep:#3a9e94;--teal-pale:#e8f7f6;--sage:#8dc87a;--sage-pale:#eef7ea;--blush:#f0a0b0;--blush-deep:#d4607a;--blush-pale:#fdf0f3;--peach:#f0b87a;--peach-pale:#fef4e8;--burgundy:#6b1e2e;--burgundy-mid:#8b2e42;--cream:#fefcf8;--cream-warm:#f8f2e8;--ink:#2a2420;--ink-mid:#5a5250;--ink-soft:#9a918e;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--cream);color:var(--ink);font-family:var(--font-nunito),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.display,h1,h2,h3{font-family:var(--font-playfair),Georgia,serif}.italic{font-style:italic}.hand{font-family:var(--font-caveat),cursive}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit}::selection{background:var(--blush-pale)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:999px;font-weight:700;font-size:.95rem;transition:.15s}.btn-primary{background:var(--burgundy);color:var(--cream)}.btn-primary:hover{background:var(--burgundy-mid)}.btn-teal{background:var(--teal);color:var(--white)}.btn-teal:hover{background:var(--teal-deep)}.btn-ghost{color:var(--burgundy)}.btn-ghost:hover{color:var(--burgundy-mid)}.logo-heart,.logo-mark{width:34px;height:34px;flex:none}.logo-mark{object-fit:contain}.nav-id{display:inline-flex;align-items:center;padding:.15rem}.avatar.sm{width:30px;height:30px;font-size:.8rem}.wrap{max-width:1120px;margin:0 auto;padding:0 1.5rem}main{min-height:60vh}.hdr{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:hsla(40,75%,98%,.9);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--cream-warm)}.hdr-inner{gap:1.5rem;height:66px}.brand,.hdr-inner{display:flex;align-items:center}.brand{gap:.6rem;font-family:var(--font-playfair),serif;font-weight:700;font-size:1.2rem;color:var(--burgundy)}.brand small{display:block;font-family:var(--font-nunito),sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:-2px}.nav{margin-left:auto;display:flex;align-items:center;gap:.35rem}.nav a{padding:.5rem .85rem;border-radius:999px;font-weight:700;font-size:.9rem;color:var(--ink-mid);transition:.15s}.nav a:hover{color:var(--burgundy);background:var(--cream-warm)}.nav a.cta{background:var(--burgundy);color:var(--cream)}.nav a.cta:hover{background:var(--burgundy-mid);color:var(--cream)}.nav-fav{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .7rem;border-radius:999px;font-weight:700;font-size:.9rem;color:var(--ink-mid);transition:.12s}.nav-fav:hover{color:var(--burgundy);background:var(--cream-warm)}.nav-fav svg{color:var(--blush-deep);flex:none}.nav-fav-count{background:var(--burgundy);color:var(--cream);font-size:.68rem;font-weight:800;min-width:1.15rem;height:1.15rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .32rem}@media (max-width:720px){.nav-fav-label{display:none}}@media (max-width:640px){.brand small,.nav a.hide-sm{display:none}}.ftr{margin-top:5rem;background:var(--burgundy);color:var(--cream)}.ftr-inner{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;padding:3rem 0 2.5rem}.ftr h4{font-family:var(--font-playfair),serif;font-size:1.3rem;margin-bottom:.4rem}.ftr p{color:#e9d4d8;max-width:34ch;line-height:1.5;font-size:.95rem}.ftr .cols{display:flex;gap:3rem}.ftr a{color:#f3e4e7;font-weight:600;font-size:.92rem;display:block;padding:.2rem 0}.ftr a:hover{color:var(--white)}.ftr .fine{border-top:1px solid hsla(0,0%,100%,.14);padding:1rem 0 2rem;color:#d9bfc4;font-size:.82rem}.page-head{padding:3.5rem 0 1.5rem}.eyebrow{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--teal-deep)}.page-head h1{font-size:clamp(2.1rem,4vw,3.1rem);color:var(--burgundy);line-height:1.05;margin:.35rem 0 .6rem}.page-head p{color:var(--ink-mid);max-width:56ch;font-size:1.05rem;line-height:1.55}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 .5rem}.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:999px;font-weight:700;font-size:.85rem;background:var(--white);border:1.5px solid var(--cream-warm);color:var(--ink-mid);transition:.15s}.chip:hover{border-color:var(--ink-soft)}.chip .dot{width:10px;height:10px;border-radius:50%}.chip[data-active=true]{color:var(--white);border-color:transparent}.chip[data-active=true] .dot{background:var(--white)!important}.search{position:relative;margin:1rem 0 .5rem;max-width:420px}.search input{width:100%;padding:.7rem 1rem .7rem 2.4rem;border-radius:999px;border:1.5px solid var(--cream-warm);background:var(--white);font-size:.95rem}.search input:focus{outline:none;border-color:var(--teal)}.search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1.5rem;gap:1.5rem;margin:1.5rem 0 2rem}.card{position:relative;background:var(--white);border-radius:20px;overflow:hidden;display:block;box-shadow:0 1px 2px rgba(42,36,32,.05);border:1px solid var(--cream-warm);transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(42,36,32,.12)}.card .ph{aspect-ratio:4/3;width:100%;position:relative;background:var(--cream-warm)}.card .ph img{width:100%;height:100%;object-fit:cover}.card-link{display:block;color:inherit}.card-heart{top:.55rem;right:.55rem}.card-heart,.hero-heart{position:absolute;z-index:2}.hero-heart{top:1rem;right:1rem}.heart{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-width:36px;min-height:36px;aspect-ratio:1;padding:0;line-height:0;border-radius:50%;background:hsla(40,75%,98%,.94);color:var(--blush-deep);box-shadow:0 2px 8px rgba(42,36,32,.16);transition:transform .14s}.heart svg{display:block;width:19px;height:19px;flex:none}.heart:hover{transform:scale(1.08)}.heart.on{background:#fff}.heart.sm{width:30px;height:30px;min-width:30px;min-height:30px}.heart.sm svg{width:16px;height:16px}.card .tag{position:absolute;top:.7rem;left:.7rem;display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:999px;background:hsla(40,75%,98%,.92);font-size:.72rem;font-weight:800;color:var(--ink)}.card .tag .dot{width:8px;height:8px;border-radius:50%}.card .body{padding:.9rem 1rem 1.1rem}.card .body h3{font-size:1.12rem;color:var(--ink);line-height:1.2}.card .body p{color:var(--ink-mid);font-size:.86rem;margin-top:.35rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chapter-h{display:flex;align-items:center;gap:.7rem;margin:2rem 0 .2rem;font-family:var(--font-playfair),serif;font-size:1.5rem;color:var(--burgundy)}.chapter-h .bar{width:34px;height:6px;border-radius:3px}.empty{color:var(--ink-soft);padding:2rem 0;font-style:italic}.chip-n{background:rgba(0,0,0,.08);border-radius:999px;padding:0 .4rem;font-size:.72rem;font-weight:800;min-width:1.2rem;text-align:center}.chip[data-active=true] .chip-n{background:hsla(0,0%,100%,.28)}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}.catalog-tools .search{margin:.6rem 0}.catalog-meta{font-size:.85rem;color:var(--ink-soft);font-weight:700}.pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0 1rem}.pager-btn{padding:.55rem 1.1rem;border-radius:999px;font-weight:700;font-size:.9rem;background:var(--white);border:1.5px solid var(--cream-warm);color:var(--burgundy);transition:.12s}.pager-btn:hover:not(:disabled){border-color:var(--burgundy)}.pager-btn:disabled{opacity:.4;cursor:default}.pager-info{font-size:.88rem;color:var(--ink-mid);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe{max-width:760px;margin:0 auto;padding:2rem 0 1rem}.recipe .hero{position:relative;aspect-ratio:3/2;border-radius:24px;overflow:hidden;background:var(--cream-warm);margin-bottom:1.6rem}.recipe .hero img{width:100%;height:100%;object-fit:cover}.recipe .cat{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.recipe h1{font-size:clamp(2rem,4vw,2.9rem);color:var(--burgundy);line-height:1.06;margin:.3rem 0 .6rem}.recipe .intro{font-family:var(--font-playfair),serif;font-style:italic;font-size:1.2rem;color:var(--ink-mid);line-height:1.5;max-width:60ch}.recipe .meta{display:flex;gap:1.8rem;flex-wrap:wrap;margin:1.4rem 0;padding:1rem 0;border-top:1px solid var(--cream-warm);border-bottom:1px solid var(--cream-warm)}.recipe .meta div span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.recipe .meta div strong{font-size:1.05rem;color:var(--ink);font-weight:700}.recipe .cols{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:2.4rem;gap:2.4rem;margin-top:1.6rem}@media (max-width:640px){.recipe .cols{grid-template-columns:1fr;gap:1.6rem}}.recipe h2{font-size:1.4rem;color:var(--burgundy);margin-bottom:.8rem}.ing{list-style:none}.ing li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--cream-warm);font-size:.98rem}.ing li .amt{color:var(--teal-deep);font-weight:700;white-space:nowrap}.method{list-style:none;counter-reset:step}.method li{counter-increment:step;position:relative;padding:0 0 1.2rem 2.6rem;line-height:1.6}.method li:before{content:counter(step);position:absolute;left:0;top:-.1rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--burgundy);color:var(--cream);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}.appcta{margin:2.5rem 0;background:linear-gradient(135deg,var(--teal-pale),var(--peach-pale));border:1px solid var(--cream-warm);border-radius:24px;padding:1.8rem;gap:1.6rem;flex-wrap:wrap}.appcta,.appcta .qr{display:flex;align-items:center}.appcta .qr{width:96px;height:96px;border-radius:16px;background:var(--white);border:1px solid var(--cream-warm);justify-content:center;flex:none}.appcta h3{font-size:1.35rem;color:var(--burgundy)}.appcta p{color:var(--ink-mid);max-width:44ch;margin:.25rem 0 .8rem;font-size:.95rem}.appcta .stores{display:flex;gap:.6rem;flex-wrap:wrap}.auth{max-width:420px;margin:3.5rem auto;background:var(--white);border-radius:24px;border:1px solid var(--cream-warm);padding:2.2rem;box-shadow:0 10px 30px rgba(42,36,32,.06)}.auth h1{font-size:1.9rem;color:var(--burgundy)}.auth p.sub{color:var(--ink-mid);margin:.4rem 0 1.4rem;line-height:1.5}.auth label{font-weight:700;font-size:.85rem;color:var(--ink-mid)}.auth input{width:100%;margin:.4rem 0 1rem;padding:.8rem 1rem;border-radius:12px;border:1.5px solid var(--cream-warm);font-size:1rem}.auth input:focus{outline:none;border-color:var(--teal)}.auth .btn{width:100%;justify-content:center}.auth .note{margin-top:1rem;font-size:.85rem;color:var(--ink-soft);text-align:center}.btn-google{width:100%;justify-content:center;gap:.6rem;background:var(--white);border:1.5px solid var(--cream-warm);color:var(--ink);font-weight:700}.btn-google:hover{border-color:var(--ink-soft)}.auth-divider{display:flex;align-items:center;gap:.8rem;margin:1rem 0;color:var(--ink-soft);font-size:.8rem;font-weight:700}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;border-top:1px solid var(--cream-warm)}.auth .ok{background:var(--sage-pale);border:1px solid var(--sage);color:#2f6b1f;padding:1rem;border-radius:14px;font-weight:600;line-height:1.5}.auth .err{color:var(--blush-deep);font-size:.88rem;margin-top:.3rem}.btn-cream{background:var(--cream);color:var(--burgundy);border:1.5px solid transparent}.btn-cream:hover{background:var(--white)}.home .eyebrow.light{color:#f3d9c0}.section-head{max-width:60ch;margin-bottom:1.6rem}.section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);color:var(--burgundy);line-height:1.1;margin-top:.35rem}.section-sub{color:var(--ink-mid);font-size:1.08rem;line-height:1.6;margin-top:.8rem}.section-sub strong{color:var(--burgundy)}.hero{position:relative;min-height:min(78vh,680px);display:flex;align-items:center;overflow:hidden}.hero-img{z-index:0}.hero-img,.hero-scrim{position:absolute;inset:0}.hero-scrim{background:linear-gradient(90deg,rgba(42,20,24,.72),rgba(42,20,24,.42) 45%,rgba(42,20,24,.08))}.hero-inner{position:relative;z-index:1;padding:3.5rem 1.5rem;color:var(--cream)}.hero-inner h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;color:#fff}.hero-lead{max-width:44ch;margin:1.2rem 0 1.8rem;font-size:1.15rem;line-height:1.6;color:#f6e8dd}.hero-doors{display:flex;gap:.8rem;flex-wrap:wrap}.two-places{padding:4rem 1.5rem 1rem}.places-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin-top:.5rem}@media (max-width:760px){.places-grid{grid-template-columns:1fr}}.place-card{background:var(--white);border:1px solid var(--cream-warm);border-radius:22px;padding:1.8rem}.place-badge{display:inline-block;color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px}.place-card h3{font-size:1.5rem;color:var(--burgundy);margin:.8rem 0 .4rem}.place-card p{color:var(--ink-mid);line-height:1.6}.chapter-strip{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0 1rem;justify-content:center}.chapter-strip span{padding:.4rem .95rem;border-radius:999px;font-weight:700;font-size:.82rem;color:#fff}.btn-ghost-light{color:var(--cream);border:1.5px solid hsla(0,0%,100%,.5)}.btn-ghost-light:hover{background:hsla(0,0%,100%,.14)}.together{background:#f5eee1;padding:4rem 1.5rem}.tog-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;margin-top:1.8rem;align-items:start}@media (max-width:820px){.tog-cols{grid-template-columns:1fr}}.tog-col{background:var(--white);border:1px solid var(--cream-warm);border-radius:22px;padding:1.8rem}.tog-badge{display:inline-block;color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px}.tog-col h3{font-size:1.4rem;color:var(--burgundy);margin:.8rem 0}.tog-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.tog-list li{position:relative;padding-left:1.4rem;color:var(--ink-mid);line-height:1.5}.tog-list li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--teal)}.tog-steps{list-style:none;display:flex;flex-direction:column;gap:.85rem}.tog-steps li{display:flex;gap:.7rem;align-items:flex-start}.tog-steps li div{line-height:1.5;color:var(--ink-mid)}.tog-steps li strong{color:var(--ink)}.step-n{flex:none;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--burgundy);color:var(--cream);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.doors{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;padding:3.5rem 1.5rem}@media (max-width:900px){.doors{grid-template-columns:1fr}}.door{background:var(--white);border:1px solid var(--cream-warm);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}a.door:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(42,36,32,.14)}.door-primary{border-color:var(--burgundy);box-shadow:0 0 0 1px var(--burgundy) inset}.door-img{position:relative;aspect-ratio:16/10;background:var(--cream-warm)}.door-body{padding:1.5rem}.door-tag{display:inline-block;background:var(--burgundy);color:var(--cream);font-weight:800;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}.door-body h3{font-size:1.5rem;color:var(--burgundy)}.door-body p{color:var(--ink-mid);line-height:1.55;margin:.4rem 0 .8rem}.door-cta{font-weight:800;color:var(--burgundy)}.door-app{display:flex;flex-direction:column;gap:.2rem}.ethos{background:var(--burgundy);color:var(--cream);padding:3.5rem 1.5rem;text-align:center}.ethos-line{font-family:var(--font-playfair),serif;font-size:clamp(1.4rem,3vw,2rem);line-height:1.4;max-width:44ch;margin:0 auto 1.6rem}.ethos-line .hand{font-family:var(--font-caveat),cursive;color:#f3d9c0;font-size:1.25em}.build-shell{display:flex;flex-direction:column;height:calc(100vh - 67px);height:calc(100dvh - 67px);overflow:hidden}body:has(.build-shell) .ftr{display:none}.build-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem .9rem}.build-h{font-size:1.6rem;color:var(--burgundy);line-height:1}.muted{color:var(--ink-soft);font-size:.85rem}.muted strong{color:var(--ink-mid)}.flash{background:var(--sage-pale);border:1px solid var(--sage);color:#2f6b1f;padding:.6rem 1rem;border-radius:12px;font-weight:600;font-size:.9rem}.build-grid{display:grid;grid-template-columns:280px 280px minmax(0,1fr);flex:1 1;min-height:0;border-top:1px solid var(--cream-warm)}.identity{gap:.5rem}.avatar,.identity{display:flex;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:var(--burgundy);color:var(--cream);justify-content:center;font-weight:800;font-size:.95rem;flex:none}.identity-text{display:flex;flex-direction:column;line-height:1.15;font-size:.68rem;color:var(--ink-soft)}.identity-text strong{font-size:.8rem;color:var(--ink);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--cream-warm);background:var(--cream)}.col.preview{border-right:none;background:var(--cream-warm)}.col.manuscript{background:var(--white)}.col-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:1rem 1.1rem .6rem}.col-head h2{font-size:1.05rem;color:var(--burgundy)}.col-scroll{flex:1 1;overflow-y:auto;padding:0 1.1rem 2rem}.search.sm{margin:0 1.1rem .6rem}.search.sm input{padding:.55rem .9rem .55rem 2.2rem;font-size:.9rem}.search.sm svg{left:.75rem}.pick-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 1.1rem .5rem}.pchip{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 .55rem;border-radius:999px;border:1.5px solid var(--cream-warm);background:var(--white);font-size:.72rem;font-weight:800;color:var(--ink-mid);cursor:pointer}.pchip[data-active=true]{color:#fff}.pchip .pdot{width:9px;height:9px;border-radius:50%}.pick-group{margin-top:.8rem}.pick-group-h{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:.4rem 0 .5rem}.pick-group-h .lock{font-size:.72rem;color:var(--teal-deep);font-weight:800}.locked-note{text-align:left;width:100%;background:var(--teal-pale);border:1px dashed var(--teal);color:var(--teal-deep);border-radius:12px;padding:.7rem .8rem;font-size:.82rem;line-height:1.4;font-weight:600}.sm-pad{padding:.3rem 0 .6rem}.pick-item{display:flex;align-items:center;gap:.6rem;padding:.4rem;border-radius:12px;cursor:-webkit-grab;cursor:grab;transition:.12s}.pick-item:hover{background:var(--white);box-shadow:0 1px 3px rgba(42,36,32,.06)}.pick-item:active{cursor:-webkit-grabbing;cursor:grabbing}.thumb{position:relative;width:46px;height:46px;border-radius:10px;overflow:hidden;background:var(--cream-warm);flex:none}.thumb.sm{width:38px;height:38px;border-radius:8px}.thumb img{width:100%;height:100%;object-fit:cover}.pick-meta{flex:1 1;min-width:0;display:flex;align-items:center;gap:.4rem}.pick-title{flex:1 1;min-width:0;font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:9px;height:9px;border-radius:50%;flex:none}.fav-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.4rem 1.1rem;color:var(--ink-mid);line-height:1.5}.fav-empty-ic{font-size:1.8rem;color:var(--blush-deep)}.fav-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--cream-warm);border:1px solid #ebdec9;border-radius:16px;padding:1rem 1.3rem;margin-bottom:1.6rem}.fav-cta-count{font-weight:800;color:var(--burgundy)}.fav-empty-page{text-align:center;color:var(--ink-soft);padding:4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.fav-empty-page span{font-size:3rem;color:var(--blush-deep);line-height:1}.fav-empty-page p{font-size:1.1rem;color:var(--ink-mid)}.pick-item .heart{background:transparent;box-shadow:none}.pick-item .heart:hover{background:var(--blush-pale)}.head-cta{align-items:center;gap:1rem;margin-top:1rem}.fav-tabs,.head-cta{display:flex;flex-wrap:wrap}.fav-tabs{gap:.4rem;border-bottom:1.5px solid var(--cream-warm);margin:0 0 1.6rem}.fav-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;font-weight:800;font-size:.95rem;color:var(--ink-soft);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:.12s}.fav-tab.on,.fav-tab:hover{color:var(--burgundy)}.fav-tab.on{border-bottom-color:var(--burgundy)}.fav-tab-n{background:var(--cream-warm);color:var(--ink-mid);font-size:.72rem;font-weight:800;min-width:1.35rem;height:1.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem}.fav-tab.on .fav-tab-n{background:var(--burgundy);color:var(--cream)}.mine-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}.mine-head-actions{display:inline-flex;align-items:center;gap:1rem}.mine-empty{text-align:center;color:var(--ink-soft);padding:3.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.mine-empty span{font-size:2.6rem}.mine-empty p{font-size:1.1rem;color:var(--ink-mid)}.mine-card{position:relative}.mine-actions{display:flex;gap:.5rem;padding:0 .9rem .9rem}.mine-actions .btn-sm{flex:1 1;text-align:center}.mod-badge{position:absolute;left:.6rem;bottom:.6rem;background:rgba(42,36,32,.82);color:#fff;font-size:.66rem;font-weight:700;padding:.2rem .5rem;border-radius:6px;letter-spacing:.02em}.rform-page{max-width:760px}.rform{display:flex;flex-direction:column;gap:1.6rem}.rform-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem 1.2rem;gap:1rem 1.2rem;background:var(--cream);border:1px solid var(--cream-warm);border-radius:18px;padding:1.4rem}.rf-field{display:flex;flex-direction:column;gap:.4rem}.rf-span{grid-column:1/-1}.rf-field>span{font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.rf-field>span em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--ink-soft);font-weight:600}.rf-field input,.rf-field select,.rf-field textarea,.rf-row input,.rf-row textarea{font:inherit;font-size:.95rem;color:var(--ink);padding:.55rem .7rem;border-radius:10px;border:1.5px solid var(--cream-warm);background:var(--white);width:100%}.rf-field input:focus,.rf-field select:focus,.rf-field textarea:focus,.rf-row input:focus,.rf-row textarea:focus{outline:none;border-color:var(--teal)}.rf-photo{display:flex;align-items:center;gap:.7rem}.rf-photo-thumb{position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;flex:none;background:var(--cream-warm)}.rf-photo-btn{cursor:pointer}.rf-section{background:var(--cream);border:1px solid var(--cream-warm);border-radius:18px;padding:1.2rem 1.4rem}.rf-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.9rem}.rf-section-head h3{font-family:var(--font-playfair),serif;font-size:1.3rem;color:var(--burgundy)}.rf-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.rf-ing-item{flex:1 1}.rf-ing-amt{flex:0 0 32%}.rf-step{align-items:flex-start}.rf-step-n{flex:none;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--burgundy);color:var(--cream);font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center;margin-top:.35rem}.rf-x{flex:none;width:2rem;height:2rem;border-radius:8px;color:var(--ink-soft);font-size:.85rem;margin-top:.2rem}.rf-x:hover:not(:disabled){background:var(--blush-pale);color:var(--blush-deep)}.rf-x:disabled{opacity:.3;cursor:default}.rf-add{align-self:flex-start;margin-top:.3rem;font-weight:800;font-size:.85rem;color:var(--burgundy);padding:.4rem .7rem;border-radius:8px}.rf-add:hover{background:var(--cream-warm)}.rf-error{background:var(--blush-pale);color:var(--blush-deep);font-weight:700;font-size:.9rem;padding:.7rem 1rem;border-radius:10px}.rf-actions{display:flex;align-items:center;gap:1rem}@media (max-width:560px){.rform-grid{grid-template-columns:1fr}.rf-ing-amt{flex-basis:38%}}.create-gate{max-width:520px;margin:3rem auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;background:var(--cream);border:1px solid var(--cream-warm);border-radius:22px;padding:2.6rem 2rem}.create-gate span{font-size:2.8rem}.create-gate h1{font-family:var(--font-playfair),serif;font-size:1.7rem;color:var(--burgundy)}.create-gate p{color:var(--ink-mid);line-height:1.5}.beta-gate{max-width:560px;margin:2rem auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem;background:linear-gradient(180deg,var(--cream),var(--cream-warm));border:1px solid var(--cream-warm);border-radius:22px;padding:2.4rem 2rem}.beta-gate-compact{margin:1rem auto 2rem;padding:1.8rem 1.6rem}.beta-gate-badge{align-self:center;background:var(--teal-pale,#e8f7f6);color:var(--teal-deep,#2f8f86);font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}.beta-gate h2{font-family:var(--font-playfair),serif;font-size:1.5rem;color:var(--burgundy);line-height:1.2}.beta-gate p{color:var(--ink-mid);line-height:1.55;max-width:46ch}.beta-gate-actions{gap:.7rem;flex-wrap:wrap;align-items:center;margin-top:.3rem}.beta-gate-actions,.pm-overlay{display:flex;justify-content:center}.pm-overlay{position:fixed;inset:0;z-index:60;background:rgba(42,36,32,.55);align-items:flex-start;padding:4vh 1rem;overflow-y:auto}.pm-card{position:relative;background:var(--cream);border:1px solid var(--cream-warm);border-radius:22px;padding:2rem 1.8rem;max-width:560px;width:100%;box-shadow:0 24px 60px rgba(42,36,32,.28)}.pm-x{position:absolute;top:.9rem;right:1rem;font-size:1.1rem;color:var(--ink-soft);line-height:1}.pm-title,.pm-x:hover{color:var(--burgundy)}.pm-title{font-family:var(--font-playfair),serif;font-size:1.6rem;margin:.1rem 0 .2rem}.pm-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem;margin:1.1rem 0}.pm-form .pm-span{grid-column:1/-1}.pm-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:700;color:var(--ink-mid)}.pm-form label em{font-weight:400;color:var(--ink-soft)}.pm-form input,.pm-form select{border:1.5px solid var(--cream-warm);border-radius:10px;padding:.5rem .65rem;font:inherit;font-size:.92rem;background:var(--white)}.pm-form input:focus,.pm-form select:focus{outline:none;border-color:var(--teal)}.pm-cost{background:var(--cream-warm);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:1rem}.pm-cost>div{display:flex;justify-content:space-between;font-size:.92rem;color:var(--ink-mid);padding:.15rem 0}.pm-cost-total{border-top:1px solid rgba(0,0,0,.08);margin-top:.3rem;padding-top:.4rem!important;font-weight:800;color:var(--ink)}.pm-cost p{margin-top:.4rem;font-size:.82rem}.pm-actions{justify-content:flex-end;flex-wrap:wrap}.pm-actions,.pm-done{display:flex;gap:.7rem;align-items:center}.pm-done{text-align:center;flex-direction:column;padding:.6rem 0}.pm-done span{font-size:2.6rem}.pm-done h2{font-family:var(--font-playfair),serif;font-size:1.5rem;color:var(--burgundy)}.pm-done p{color:var(--ink-mid);line-height:1.5;max-width:42ch}@media (max-width:520px){.pm-form{grid-template-columns:1fr}}.help-page{max-width:760px}.faq-list{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}.faq{background:var(--cream);border:1px solid var(--cream-warm);border-radius:14px;padding:.1rem 1.1rem}.faq summary{cursor:pointer;font-weight:800;color:var(--burgundy);padding:.9rem 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.3rem;color:var(--ink-soft);font-weight:400}.faq[open] summary:after{content:"–"}.faq-a{color:var(--ink-mid);line-height:1.6;padding:0 0 1rem}.faq-a a{color:var(--burgundy);font-weight:700}.help-contact{text-align:center;margin:2.4rem auto 0;background:var(--cream-warm);border-radius:18px;padding:2rem}.help-contact h2{font-family:var(--font-playfair),serif;color:var(--burgundy);font-size:1.4rem;margin-bottom:.3rem}.help-contact p{color:var(--ink-mid);margin-bottom:1rem}.admin-note{margin:0 0 1rem;font-size:.86rem;color:var(--ink-mid);background:var(--cream-warm);border-radius:10px;padding:.6rem .9rem}.admin-note span[aria-hidden]{color:var(--teal-deep,#2f8f86);font-weight:800;margin-right:.3rem}.admin-note strong{color:var(--burgundy)}.legal-page{max-width:720px}.legal-placeholder{background:var(--cream);border:1px solid var(--cream-warm);border-radius:16px;padding:1.8rem;color:var(--ink-mid);line-height:1.6}.legal-placeholder p+p{margin-top:.9rem}.legal-placeholder a{color:var(--burgundy);font-weight:700}.legal-body section{margin-bottom:1.6rem}.legal-body h2{font-family:var(--font-playfair),serif;color:var(--burgundy);font-size:1.25rem;margin-bottom:.5rem}.legal-body p{color:var(--ink-mid);line-height:1.6;margin-bottom:.6rem}.teaser,main.bare{min-height:100vh}.teaser{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem 1.2rem;overflow:hidden}.teaser-bg{position:absolute;inset:0;background:url(/home/kitchen-hero.png) 50%/cover no-repeat}.teaser-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(40,75%,98%,.82),hsla(38,53%,94%,.9))}.teaser-card{position:relative;z-index:1;width:100%;max-width:460px;text-align:center;background:var(--cream);border:1px solid var(--cream-warm);border-radius:26px;padding:2.6rem 2rem 2.2rem;box-shadow:0 30px 70px rgba(42,36,32,.18)}.teaser-brand{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:1.4rem}.teaser-logo{display:inline-flex}.teaser-word{font-family:var(--font-playfair),serif;font-weight:700;font-size:1.35rem;color:var(--burgundy);line-height:1;text-align:left}.teaser-tag{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px;text-align:left}.teaser-line{font-family:var(--font-playfair),serif;font-size:2rem;line-height:1.12;color:var(--burgundy);margin-bottom:.7rem}.teaser-sub{color:var(--ink-mid);line-height:1.55;font-size:.98rem;margin-bottom:1.5rem}.teaser-form{display:flex;gap:.5rem;flex-wrap:wrap}.teaser-form input{flex:1 1 12rem;min-width:0;border:1.5px solid var(--cream-warm);border-radius:12px;padding:.7rem .9rem;font:inherit;font-size:.98rem;background:var(--white)}.teaser-form input:focus{outline:none;border-color:var(--teal)}.teaser-form .btn{flex:0 0 auto}.teaser-thanks{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--teal-pale,#e8f7f6);color:var(--teal-deep,#2f8f86);border-radius:14px;padding:1.1rem 1rem}.teaser-thanks span{font-size:1.6rem}.teaser-err,.teaser-thanks p{font-weight:700}.teaser-err{flex-basis:100%;color:var(--blush-deep,#b23a48);font-size:.86rem;margin-top:.2rem}.teaser-beta{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--cream-warm)}.teaser-beta-link{font-size:.86rem;font-weight:700;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.teaser-beta-link:hover{color:var(--burgundy)}.teaser-pass{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.teaser-pass input{flex:1 1 10rem;min-width:0;border:1.5px solid var(--cream-warm);border-radius:12px;padding:.6rem .85rem;font:inherit;background:var(--white)}.teaser-pass input:focus{outline:none;border-color:var(--teal)}.pick-group+.pick-group{margin-top:1rem}.pick-group-head{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:.3rem .2rem .4rem;position:-webkit-sticky;position:sticky;top:0;background:var(--cream)}.pick-group-head span{background:var(--cream-warm);color:var(--ink-mid);border-radius:999px;padding:.05rem .45rem;font-size:.72rem}.spine-note{flex:none;font-size:.58rem;font-weight:800;color:#b07a2e;background:var(--peach-pale);padding:.1rem .38rem;border-radius:5px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.acc-notice{padding:.7rem 1rem;border-radius:12px;font-weight:700;font-size:.92rem;margin-bottom:1.2rem}.acc-notice.ok{background:var(--teal-pale,#e8f7f6);color:var(--teal-deep,#2f8f86)}.acc-notice.err{background:var(--blush-pale);color:var(--blush-deep)}.acc-grid{display:grid;grid-template-columns:minmax(0,260px) 1fr;grid-gap:1.2rem;gap:1.2rem;margin-bottom:2rem}.acc-card{background:var(--cream);border:1px solid var(--cream-warm);border-radius:18px;padding:1.4rem}.acc-balance{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem}.acc-balance-n{font-family:var(--font-playfair),serif;font-size:3.4rem;font-weight:800;color:var(--burgundy);line-height:1}.acc-balance-l{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--ink-soft)}.acc-packs{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:1rem}.acc-packs .btn{width:100%;justify-content:center}.acc-gallery h2,.acc-gen h2{font-family:var(--font-playfair),serif;font-size:1.4rem;color:var(--burgundy);margin-bottom:.8rem}.acc-kind{display:inline-flex;border:1.5px solid var(--cream-warm);border-radius:10px;overflow:hidden;margin-bottom:.8rem;background:var(--white)}.acc-kind button{font-size:.82rem;font-weight:700;color:var(--ink-mid);padding:.4rem .8rem;border-left:1.5px solid var(--cream-warm)}.acc-kind button:first-child{border-left:0}.acc-kind button.on{background:var(--burgundy);color:var(--cream)}.acc-gen textarea{width:100%;border:1.5px solid var(--cream-warm);border-radius:12px;padding:.7rem .85rem;font:inherit;font-size:.95rem;resize:vertical;margin-bottom:.8rem;background:var(--white)}.acc-gen textarea:focus{outline:none;border-color:var(--teal)}.acc-gallery{margin-top:1rem}.acc-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:1rem;gap:1rem}.acc-img{background:var(--cream);border:1px solid var(--cream-warm);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.acc-img img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream-warm)}.acc-img figcaption{font-size:.76rem;color:var(--ink-soft);padding:.5rem .7rem;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.acc-img .btn-sm{margin:0 .7rem .7rem;text-align:center}@media (max-width:620px){.acc-grid{grid-template-columns:1fr}}.cred-grant{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.4rem}.cred-grant label{display:flex;flex-direction:column;gap:.3rem;font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.cred-grant input{font:inherit;padding:.5rem .7rem;border:1.5px solid var(--cream-warm);border-radius:10px;background:var(--white)}.cred-table{width:100%;border-collapse:collapse;font-size:.9rem}.cred-table td,.cred-table th{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--cream-warm)}.cred-table th{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.cred-delta.pos{color:var(--teal-deep,#2f8f86);font-weight:800}.cred-delta.neg{color:var(--blush-deep);font-weight:800}.fav-empty strong{color:var(--ink);font-size:1.05rem}.fav-empty a{color:var(--burgundy);font-weight:700;text-decoration:underline}.fav-empty .btn{margin-top:.3rem}.add{width:30px;height:30px;border-radius:50%;background:var(--burgundy);color:var(--cream);font-weight:800;font-size:1.1rem;line-height:1;flex:none;transition:.12s}.add:hover{background:var(--burgundy-mid)}.add.is-added{background:var(--sage);color:var(--white);cursor:default}.cover-card{background:var(--cream);border:1px solid var(--cream-warm);border-radius:18px;padding:1.1rem;margin:.9rem 0 1rem}.cover-eyebrow{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;color:var(--ink-soft);margin-bottom:.4rem}.cover-title{font-size:1.7rem}.cover-sub{border-bottom:1px solid transparent}.cover-sub:focus{border-bottom-color:var(--cream-warm)}.cover-ded{font-size:1.4rem;margin-top:.4rem}.spine-head{display:flex;align-items:center;justify-content:space-between;margin:.4rem 0 .8rem}.spine-head span{font-weight:800;font-size:.8rem;color:var(--ink-mid)}.btn.sm{padding:.5rem 1rem;font-size:.85rem}.drop-empty{border:2px dashed var(--cream-warm);border-radius:16px;padding:2rem 1rem;text-align:center;color:var(--ink-soft);display:flex;flex-direction:column;gap:.3rem}.drop-empty strong{color:var(--ink-mid);font-size:1rem}.chapter-hint{font-size:.72rem;color:var(--ink-soft);font-style:italic;margin:.6rem 0 .2rem}.ms-chapter{margin-bottom:.4rem}.chapter-band{display:flex;align-items:center;gap:.4rem;color:var(--white);font-weight:800;font-size:.78rem;letter-spacing:.03em;padding:.4rem .6rem;border-radius:8px;margin:.5rem 0 .4rem;cursor:-webkit-grab;cursor:grab}.chapter-band:active{cursor:-webkit-grabbing;cursor:grabbing}.band-grip{opacity:.85;font-size:.72rem;letter-spacing:-2px}.band-count{margin-left:auto;background:hsla(0,0%,100%,.28);border-radius:999px;padding:.02rem .5rem;font-size:.7rem}.spine-row{display:flex;align-items:center;gap:.5rem;padding:.32rem .45rem;border-radius:10px;background:var(--cream);border:1px solid var(--cream-warm);margin-bottom:.32rem}.spine-title{flex:1 1;min-width:0;font-weight:700;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x{width:24px;height:24px;border-radius:50%;color:var(--ink-soft);font-size:.8rem;flex:none}.x:hover{background:var(--blush-pale);color:var(--blush-deep)}.col.preview{background:var(--cream)}.build-shell{position:relative}.flash-float{position:absolute;top:.8rem;left:50%;transform:translateX(-50%);z-index:55;box-shadow:0 8px 24px rgba(42,36,32,.18)}.preview-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem .7rem;flex-wrap:wrap}.preview-bar .build-h{font-size:1.45rem}.preview-bar .muted{display:block;margin-top:.15rem}.preview-row{flex:1 1;min-height:0;display:flex;align-items:stretch;gap:.6rem;padding:0 .9rem 1.4rem}.book-frame{position:relative;flex:1 1;min-width:0;min-height:0;border:1.5px solid #d3c4ac;border-radius:16px;background:#eee4d5;overflow:hidden;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 3px rgba(42,36,32,.06)}.book-viewport{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.book-scaler{transform:scale(var(--fit,1));transform-origin:center center;will-change:transform}.spread.fixed{display:flex;width:auto;max-width:none;box-shadow:0 18px 46px rgba(42,36,32,.2)}.spread.fixed .bpage{flex:none;width:360px;height:540px;aspect-ratio:auto}.spread.fixed.single,.spread.fixed.single .bpage{border-radius:6px 10px 10px 6px}.spread.fixed.single .bpage{box-shadow:inset -6px 0 14px -8px rgba(42,36,32,.28)}.page-arrow{width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--burgundy);font-size:1.7rem;line-height:1;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(42,36,32,.18);border:1px solid var(--cream-warm);transition:.12s}.page-arrow.flank{flex:none;align-self:center}.page-arrow:hover:not(:disabled){transform:scale(1.07)}.page-arrow:disabled{opacity:.32;cursor:default}.spread-pos{position:absolute;bottom:.55rem;left:0;right:0;text-align:center;z-index:3;font-size:.76rem;font-weight:700;color:#9a8b72;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.book-frame .preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.index-style{display:flex;align-items:center;gap:.6rem;margin-top:.55rem}.index-style span{font-weight:800;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);flex:none}.index-style select{flex:1 1;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink);padding:.45rem .6rem;border-radius:10px;border:1.5px solid var(--cream-warm);background:var(--white)}.index-style select:focus{outline:none;border-color:var(--teal)}.seg-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.6rem}.seg-label{font-weight:800;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.seg{display:inline-flex;border:1.5px solid var(--cream-warm);border-radius:9px;overflow:hidden;background:var(--white)}.seg button{font:inherit;font-size:.8rem;font-weight:700;color:var(--ink-mid);padding:.32rem .7rem;border:0;border-left:1.5px solid var(--cream-warm);background:transparent;cursor:pointer;transition:.1s}.seg button:first-child{border-left:0}.seg.sm button{padding:.32rem .62rem;min-width:2rem}.seg button:hover{background:var(--cream)}.seg button.on{background:var(--burgundy);color:var(--cream)}.tmpl-cards{display:flex;gap:.5rem}.tmpl-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .7rem;border-radius:12px;border:1.5px solid var(--cream-warm);background:var(--white);font-weight:700;font-size:.72rem;color:var(--ink-mid);transition:.12s}.tmpl-card:hover{border-color:var(--ink-soft)}.tmpl-card[data-active=true]{border-color:var(--burgundy);color:var(--burgundy);box-shadow:0 0 0 1px var(--burgundy) inset}.tmpl-glyph{display:flex;gap:2px}.tg-page{width:15px;height:21px;background:var(--cream);border:1px solid var(--cream-warm);border-radius:2px;padding:2px;display:flex;flex-direction:column;gap:1.6px}.tg-photo{height:7px;background:var(--peach);border-radius:1px}.tg-photo.full{flex:1 1}.tg-line{height:1.6px;background:var(--ink-soft);border-radius:1px}.tg-line.short{width:60%}.preview-count{font-size:.82rem;color:var(--ink-soft)}.preview-count strong{color:var(--ink-mid)}.spreads{align-items:center;gap:1.7rem;padding:1.7rem 1.2rem 3rem}.preview-empty,.spreads{display:flex;flex-direction:column}.preview-empty{text-align:center;color:var(--ink-soft);gap:.35rem;padding:3.5rem 1rem}.preview-empty strong{color:var(--ink-mid);font-size:1.15rem}.spread{display:flex;gap:2px;box-shadow:0 14px 40px rgba(42,36,32,.18);border-radius:5px;background:#d9ccb8;max-width:820px;width:100%}.bpage{flex:1 1;min-width:0;aspect-ratio:6/9;background:var(--white);position:relative;overflow:hidden;container-type:size}.bpage:first-child{border-radius:5px 0 0 5px;box-shadow:inset -14px 0 20px -14px rgba(42,36,32,.22)}.bpage:last-child{border-radius:0 5px 5px 0;box-shadow:inset 14px 0 20px -14px rgba(42,36,32,.22)}.bpage-blank{background:var(--white)}.bpage-blank,.pg{position:absolute;inset:0}.pg{padding:6.4cqh 6.4cqh 10.5cqh;overflow:hidden;display:flex;flex-direction:column}.pg-no{position:absolute;bottom:3cqh;left:0;right:0;text-align:center;font-size:2.4cqh;color:var(--ink-soft)}.show-grid .pg:before{outline:1px dashed rgba(58,158,148,.55)}.show-grid .pg:after,.show-grid .pg:before{content:"";position:absolute;inset:6.4cqh 6.4cqh 10.5cqh;pointer-events:none;z-index:9}.show-grid .pg:after{background:repeating-linear-gradient(180deg,rgba(58,158,148,.16) 0,rgba(58,158,148,.16) 1px,transparent 0,transparent 3.9cqh)}.pg-center{align-items:center;justify-content:center;gap:3.5cqh}.cv-title,.pg-center{text-align:center}.cv-title h1{color:var(--burgundy);line-height:1.08}.cv-title h1,.cv-title p{font-family:var(--font-playfair),serif}.cv-title p{font-style:italic;color:var(--ink-mid);margin-top:1.4cqh}.cv-title[data-ts=S] h1{font-size:5.6cqh}.cv-title[data-ts=S] p{font-size:3cqh}.cv-title[data-ts=M] h1{font-size:7.4cqh}.cv-title[data-ts=M] p{font-size:3.6cqh}.cv-title[data-ts=L] h1{font-size:9.4cqh}.cv-title[data-ts=L] p{font-size:4.4cqh}.tp-rule{width:12.7cqh;height:.5cqh;background:var(--peach)}.pg-ded{font-size:6cqh;color:var(--burgundy-mid);line-height:1.4}.pg-toc-h{font-family:var(--font-playfair),serif;font-size:4.4cqh;color:var(--burgundy);margin-bottom:2.2cqh}.pg-toc ul{list-style:none}.pg-toc li{display:flex;align-items:baseline;gap:1.2cqh;padding:.32cqh 0;font-size:2.4cqh;line-height:1.2}.pg-toc li.toc-ch{font-weight:800;color:var(--ink);font-size:2.55cqh;margin-top:1.5cqh}.pg-toc li.toc-r{padding-left:3cqh;color:var(--ink-mid)}.toc-dot{width:1.6cqh;height:1.6cqh;border-radius:50%;flex:none;align-self:center}.toc-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-leader{flex:1 1;border-bottom:1px dotted var(--ink-soft);transform:translateY(-.75cqh);opacity:.5}.toc-pg{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ms-section-label{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;color:var(--ink-soft);margin:.9rem 0 .5rem}.setup-card{background:var(--cream);border:1px solid var(--cream-warm);border-radius:18px;padding:1rem;margin-bottom:1rem}.cover-up{margin-bottom:.7rem}.cover-drop{width:100%;display:flex;align-items:center;gap:.55rem;text-align:left;padding:.55rem .75rem;border:1.5px dashed #e0cba8;border-radius:10px;background:none;color:var(--ink-mid);cursor:pointer;transition:.12s}.cover-drop:hover{background:var(--peach-pale);border-color:var(--peach)}.cover-drop strong{color:var(--burgundy);font-size:.85rem;font-weight:700}.cover-drop .muted{display:none}.cover-ic{font-size:1rem;line-height:1}.cover-have img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;display:block}.cover-actions{display:flex;gap:.5rem;margin-top:.5rem}.cover-title{width:100%;font-family:var(--font-playfair),serif;font-size:1.6rem;color:var(--burgundy);background:none;border:none;border-bottom:2px solid transparent;padding:.1rem 0;margin-top:.3rem}.cover-title:focus{outline:none;border-bottom-color:var(--peach)}.cover-sub{width:100%;font-size:1rem;color:var(--ink-mid);border:none;background:none;padding:.3rem 0}.cover-sub:focus{outline:none}.cover-ded{width:100%;font-size:1.35rem;color:var(--burgundy-mid);border:none;background:none;resize:vertical;margin-top:.3rem;line-height:1.2}.cover-ded:focus{outline:none}.ms-contents-head{margin:.4rem 0 .6rem}.ms-contents-head h3{font-family:var(--font-playfair),serif;font-size:1.25rem;color:var(--burgundy)}.addtext{display:flex;flex-direction:column;gap:.3rem;margin-top:.55rem;border-top:1px dashed var(--cream-warm);padding-top:.55rem}.xp-head{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;font-weight:700;font-size:.85rem;color:var(--ink-mid);padding:.3rem .2rem;border-radius:8px}.xp-head:hover{color:var(--burgundy);background:var(--cream)}.xp-plus{width:1.1rem;height:1.1rem;background:var(--cream-warm);color:var(--burgundy);font-weight:800;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;flex:none}.xp-dot,.xp-plus{border-radius:50%}.xp-dot{width:7px;height:7px;background:var(--sage);margin-left:.2rem}.xp-input{width:100%;border:1.5px solid var(--cream-warm);border-radius:10px;padding:.5rem .7rem;font-size:.95rem;margin:.2rem 0 .3rem;resize:vertical;background:var(--white)}.xp-input:focus{outline:none;border-color:var(--teal)}.xp-input.hand{font-size:1.25rem;color:var(--burgundy-mid);line-height:1.25}.ms-footer{flex:none;padding:.8rem 1.1rem 1rem;border-top:1px solid var(--cream-warm);background:var(--white)}.ms-order{width:100%;justify-content:center}.preview-title{font-weight:800;color:var(--burgundy);font-size:1.05rem}.pg-title{padding:0;background:#f6efe4}.pg-cover-plain{border:2.5cqh solid #f6efe4;background:var(--cream)}.pg-cover{position:absolute;inset:0}.pg-cover img{width:100%;height:100%;object-fit:cover}.pg-cover-scrim{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(30,15,18,.72))}.pg-cover-text{position:absolute;left:0;right:0;bottom:0;padding:5.4cqh;text-align:center;color:#fff}.pg-cover-text h1{font-family:var(--font-playfair),serif;line-height:1.1}.pg-cover-text p{font-style:italic;opacity:.92;margin-top:1.2cqh}.pg-cover-text[data-ts=S] h1{font-size:5.2cqh}.pg-cover-text[data-ts=S] p{font-size:3cqh}.pg-cover-text[data-ts=M] h1{font-size:6.6cqh}.pg-cover-text[data-ts=M] p{font-size:3.4cqh}.pg-cover-text[data-ts=L] h1{font-size:8.4cqh}.pg-cover-text[data-ts=L] p{font-size:4.1cqh}.pg-title.cv-framed{background:#fff}.cv-framed{padding:6.4cqh 6.4cqh 8cqh;gap:4.5cqh;justify-content:center}.cv-frame{width:100%;aspect-ratio:4/3;overflow:hidden;flex:none;border:1.4px solid #6b1e2e;background:#f6efe4}.cv-frame img{width:100%;height:100%;object-fit:cover;display:block}.pg-recipe{padding:6.4cqh 6.4cqh 10.5cqh}.rl-photo{position:relative;width:100%;height:33%;flex:none;background:var(--cream-warm);border-radius:1.2cqh;overflow:hidden;margin-bottom:3cqh}.rl-body{flex:1 1;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.rl-cat{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:2.2cqh}.rl-title{font-size:5cqh;color:var(--burgundy);line-height:1.05;margin:.4cqh 0 1cqh}.rl-intro,.rl-title{font-family:var(--font-playfair),serif}.rl-intro{font-style:italic;color:var(--ink-mid);font-size:2.6cqh;line-height:1.38;margin-bottom:1.3cqh}.rl-meta{display:flex;gap:2.7cqh;font-size:2.1cqh;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1.4cqh}.rl-h,.rr-h{font-family:var(--font-playfair),serif;font-size:3.5cqh;color:var(--burgundy);margin-bottom:1cqh}.rl-ings{list-style:none}.rl-ings li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:1.8cqh;column-gap:1.8cqh;align-items:baseline;font-size:2.6cqh;line-height:1.42;border-bottom:1px dotted var(--cream-warm);padding:.2cqh 0}.rl-ings li span{min-width:0;overflow-wrap:break-word}.rl-ings li em{color:var(--teal-deep);font-style:normal;font-weight:700;white-space:nowrap;text-align:right}.rl-ings.two{column-count:2;column-gap:3.2cqh}.rl-ings.two li{page-break-inside:avoid;break-inside:avoid}.rr-steps{list-style:none}.rr-steps li{display:flex;gap:1.7cqh;font-size:2.6cqh;line-height:1.48;margin-bottom:1cqh}.rr-n{flex:none;width:4cqh;height:4cqh;border-radius:50%;color:var(--cream);font-size:2.1cqh;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:.24cqh}.rr-tips{margin-top:1.8cqh;background:var(--peach-pale);border-radius:2cqh;padding:1.8cqh 2.2cqh;font-size:2.45cqh;line-height:1.4}.rr-tips strong{display:block;color:var(--burgundy);font-size:2.25cqh;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.7cqh}.pg[data-d="1"] .rl-ings li,.pg[data-d="1"] .rr-steps li{font-size:2.45cqh}.pg[data-d="1"] .rr-steps li{line-height:1.42;margin-bottom:.8cqh}.pg[data-d="2"] .rl-ings li,.pg[data-d="2"] .rr-steps li{font-size:2.28cqh}.pg[data-d="2"] .rr-steps li{line-height:1.36;margin-bottom:.6cqh}.pg[data-d="2"] .rl-title{font-size:4.6cqh}.pg[data-d="2"] .rl-photo{height:30%}.pg[data-d="3"] .rl-ings li,.pg[data-d="3"] .rr-steps li{font-size:2.02cqh}.pg[data-d="3"] .rr-steps li{line-height:1.3;margin-bottom:.4cqh}.pg[data-d="3"] .rr-n{width:3.4cqh;height:3.4cqh;font-size:1.85cqh}.pg[data-d="3"] .rl-title{font-size:4.2cqh}.pg[data-d="3"] .rl-photo{height:28%}.pg[data-d="3"] .rl-h,.pg[data-d="3"] .rr-h{font-size:3.1cqh}.pg[data-d="3"] .rl-meta{margin-bottom:.9cqh}.wall{position:fixed;inset:0;z-index:60;background:rgba(42,36,32,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.wall-card{background:var(--cream);border-radius:22px;padding:2rem;max-width:440px;box-shadow:0 24px 60px rgba(0,0,0,.3)}.wall-card h2{font-size:1.5rem;color:var(--burgundy);line-height:1.15}.wall-card p{color:var(--ink-mid);margin:.6rem 0 1.3rem;line-height:1.55}.wall-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}@media (max-width:960px){.build-shell{height:auto;overflow:visible}.build-grid{grid-template-columns:1fr}.col{border-right:none;border-bottom:1px solid var(--cream-warm)}.col-scroll{max-height:70vh}}.report-trigger{font-size:.72rem;font-weight:800;color:var(--ink-soft);padding:.2rem .3rem;border-radius:6px;flex:none}.report-trigger:hover{color:var(--blush-deep);background:var(--blush-pale)}.report-card{max-width:460px}.report-reasons{display:flex;flex-direction:column;gap:.2rem;margin:.4rem 0 .8rem}.report-reason{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ink-mid);padding:.35rem .2rem;cursor:pointer}.report-note{width:100%;border:1.5px solid var(--cream-warm);border-radius:12px;padding:.6rem .8rem;font-size:.95rem;margin-bottom:.4rem}.report-note:focus{outline:none;border-color:var(--teal)}.admin{padding-bottom:4rem}.admin-tabs{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 1.6rem}.btn-sm{padding:.4rem .8rem;border-radius:999px;font-weight:700;font-size:.82rem;background:var(--cream-warm);color:var(--ink);transition:.12s}.btn-sm:hover{background:#ead9c4}.btn-sm.danger{background:var(--blush-pale);color:var(--blush-deep)}.btn-sm.danger:hover{background:#f8d9e0}.btn-sm.ghost{background:none;color:var(--ink-soft)}.btn-sm.ghost:hover{color:var(--ink-mid)}.hidden-badge{display:inline-block;margin-left:.4rem;background:var(--blush-deep);color:#fff;font-size:.66rem;font-weight:800;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase}.flag-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1rem;gap:1rem}.flag-card{background:var(--white);border:1px solid var(--cream-warm);border-radius:16px;padding:1.1rem}.flag-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.reason{background:var(--burgundy);color:var(--cream);font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:999px}.flag-note{font-style:italic;color:var(--ink-mid);margin-bottom:.6rem;line-height:1.4}.flag-preview{display:flex;gap:.7rem;align-items:center;padding:.6rem;background:var(--cream);border-radius:12px;margin-bottom:.7rem}.crecipe .thumb,.flag-preview .thumb{position:relative;width:52px;height:52px;border-radius:10px;overflow:hidden;background:var(--cream-warm);flex:none}.crecipe img,.flag-preview img{width:100%;height:100%;object-fit:cover}.crecipe-actions,.flag-actions{display:flex;flex-wrap:wrap;gap:.4rem}.crecipe-list{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.crecipe{display:grid;grid-template-columns:52px 1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center;background:var(--white);border:1px solid var(--cream-warm);border-radius:14px;padding:.7rem .9rem}.crecipe-meta strong{font-size:1rem}.edit-form{grid-column:1/-1;gap:.5rem;padding-top:.6rem;border-top:1px dashed var(--cream-warm);margin-top:.3rem}.edit-form,.edit-form label{display:flex;flex-direction:column}.edit-form label{font-weight:700;font-size:.8rem;color:var(--ink-mid);gap:.25rem}.edit-form input,.edit-form textarea{border:1.5px solid var(--cream-warm);border-radius:10px;padding:.5rem .7rem;font-size:.95rem;font-weight:400;color:var(--ink)}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:var(--teal)}