@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2)format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2)format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-italic-BTOWH4O7.woff2)format("woff2"),url(/assets/fraunces-vietnamese-400-italic-CO9zBbpA.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-italic-jodr80a5.woff2)format("woff2"),url(/assets/fraunces-latin-ext-400-italic-CGHg0U1I.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2)format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2)format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2)format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2)format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-cyrillic-ext-400-normal-3iEGd-c5.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-400-normal-Cg0RnRQ5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-cyrillic-400-normal-9cDH9rLW.woff2)format("woff2"),url(/assets/caveat-cyrillic-400-normal-CebvvJET.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-ext-400-normal-D7hBUiug.woff2)format("woff2"),url(/assets/caveat-latin-ext-400-normal-DtiRFvw0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/caveat-latin-400-normal-D6LQsQ_v.woff2)format("woff2"),url(/assets/caveat-latin-400-normal-BzhAQZkN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-ext-600-normal-DDEJyoof.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-600-normal-BLVNc-Ct.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-cyrillic-600-normal-Ba_MyzgW.woff2)format("woff2"),url(/assets/caveat-cyrillic-600-normal-CqH0c_uj.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2)format("woff2"),url(/assets/caveat-latin-ext-600-normal-shBvSnoU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2)format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0e0c0a;--bg-2:#15120f;--panel:#1a1613;--panel-2:#221d19;--border:#ffffff17;--fg:#f3ede4;--text:var(--fg);--muted:#9a8f82;--accent:#e2b26a;--accent-soft:#e2b26a24;--danger:#e5705f;--paper:#f6efe2;--paper-2:#ebe2d1;--ink:#2a241d;--ink-soft:#5b5146;--leather:#4a1f1a;--radius:14px;--shadow:0 1px 2px #00000080, 0 12px 32px #00000059;--serif:Fraunces, Georgia, serif;--hand:Caveat, cursive;--sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--fg);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overscroll-behavior-y:none;overflow-x:clip}h1,h2,h3{font-weight:500;font-family:var(--serif);letter-spacing:-.01em;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.hand{font-family:var(--hand)}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.eyebrow{color:var(--accent);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:500}.btn{border:1px solid var(--border);white-space:nowrap;background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:500;line-height:1.2;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:hover{background:#ffffff17}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.primary{background:var(--fg);color:var(--bg);border-color:#0000}.btn.primary:hover{background:#fff}.btn.gold{background:var(--accent);color:#1a1208;border-color:#0000}.btn.gold:hover{background:#ecc07e}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--fg);background:#ffffff0f}.btn.lg{padding:14px 24px;font-size:1.02rem}.btn.sm{padding:7px 12px;font-size:.88rem}.btn.danger{color:var(--danger);border-color:#e5705f59}.btn.danger:hover{background:#e5705f1a}.icon-btn{width:36px;height:36px;color:var(--muted);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--fg);background:#ffffff14}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.link:hover{text-decoration:underline}.brand{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.3rem;font-weight:600;display:inline-flex}.brand-mark{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;display:inline-block}.splash{place-items:center;min-height:100vh;display:grid}.splash .brand-mark{width:14px;height:14px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4;transform:scale(.85)}}label.field,.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.82rem;display:flex}input,select,textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;color:var(--fg);background:#ffffff0a;border-radius:10px;padding:11px 13px;font-size:1rem}input::placeholder,textarea::placeholder{color:#9a8f8299}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#e2b26a99;outline:none}textarea{resize:vertical;min-height:90px;line-height:1.5}.form{flex-direction:column;gap:14px;display:flex}.form-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.form-error{color:var(--danger);margin:0;font-size:.9rem}.form-info{color:var(--accent);margin:0;font-size:.9rem}.auth-wrap{background:radial-gradient(ellipse at 50% 30%, #1c1713 0%, var(--bg) 70%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:14px;padding:30px;display:flex}.auth-card h1{margin-top:4px;font-size:1.7rem}.auth-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.82rem;display:flex}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.turnstile{min-height:65px;margin:4px 0}.menu{position:relative}.menu-list{z-index:30;background:var(--panel-2);border:1px solid var(--border);min-width:210px;box-shadow:var(--shadow);border-radius:12px;margin:4px 0 0;padding:6px;list-style:none;position:absolute;top:100%;right:0}.menu-list.flip{left:0;right:auto}.menu-list li{cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:9px 11px;font-size:.95rem;display:flex}.menu-list li:hover{background:#ffffff12}.menu-list li.danger{color:var(--danger)}.menu-icon{text-align:center;opacity:.7;width:18px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{width:min(var(--w,420px), 100%);background:var(--panel);border:1px solid var(--border);border-radius:20px;min-width:0;max-width:100%;max-height:100%;overflow-y:auto;box-shadow:0 20px 60px #0009}.modal-head{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.modal-head h2{font-size:1.3rem}.modal-body{padding:16px 20px 20px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#0e0c0ad1;align-items:center;gap:12px;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.topbar .crumb{min-width:0;color:var(--muted);flex:0 auto;align-items:center;gap:8px;font-size:.95rem;display:flex;overflow:hidden}.topbar .crumb a{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.topbar .crumb strong{flex:auto;min-width:3ch}.topbar>.btn,.topbar>.seg{flex:none}.topbar .btn.back{color:var(--accent);background:var(--accent-soft);border-color:#e2b26a73;gap:7px;padding:9px 14px 9px 11px;font-size:.95rem;font-weight:600}.topbar .btn.back:hover{color:var(--fg);background:#e2b26a42}@media (width<=640px){.topbar .btn.back{padding:9px 11px}.topbar .btn.back span{display:none}}.topbar .crumb a:hover{color:var(--fg)}.topbar .crumb strong{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.topbar .crumb .sep{opacity:.5}.page{width:100%;max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,44px) clamp(16px,4vw,40px) 90px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.page-head h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05}.page-head p{color:var(--muted);margin:6px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:18px;padding:60px 20px}.empty h3{color:var(--fg);margin-bottom:6px;font-size:1.4rem}.empty p{margin:0 0 18px}.toast{z-index:60;background:var(--panel-2);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;padding:10px 16px;font-size:.92rem;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.error{color:var(--danger);border-color:#e5705f66}.books{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:clamp(18px,3vw,32px);display:grid}.book-card{text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;gap:12px;padding:0;display:flex;position:relative}.book-card .menu{z-index:2;opacity:0;transition:opacity .15s;position:absolute;top:8px;right:8px}.book-card:hover .menu,.book-card:focus-within .menu{opacity:1}.book-card .menu:has([aria-expanded=true]){opacity:1}@media (hover:none){.book-card .menu{opacity:1}}.book-card .menu .icon-btn{color:#f0d9b0;background:#00000059}.cover-3d{aspect-ratio:3/4;background:radial-gradient(ellipse at 30% 20%, #ffffff14, transparent 55%), linear-gradient(160deg, var(--c-a), var(--c-b) 45%, var(--c-c));border-radius:3px 10px 10px 3px;justify-content:center;align-items:center;padding:10%;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 14px 30px #00000073}.cover-3d:before{content:"";background:linear-gradient(90deg,#0006,#0000);width:7%;position:absolute;inset:0}.cover-3d:after{content:"";background:#ffffff14;width:1px;position:absolute;inset:0 auto 0 7%}.book-card:hover .cover-3d{transform:translateY(-4px)rotate(-.6deg);box-shadow:inset 0 0 0 1px #ffffff14,0 22px 40px #0000008c}.cover-3d .frame{outline-offset:4px;text-align:center;width:100%;color:var(--accent);border:1px solid #e2b26a99;outline:1px solid #e2b26a38;padding:14% 8%}.cover-3d .frame small{font-family:var(--serif);opacity:.9;margin-bottom:4px;font-size:.8rem;font-style:italic;display:block}.cover-3d .frame b{font-family:var(--serif);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500;line-height:1.1;display:block}.cover-3d.new{border:1px dashed var(--border);box-shadow:none;color:var(--muted);background:0 0;flex-direction:column;gap:8px;font-size:.95rem}.book-card:hover .cover-3d.new{border-color:var(--accent);color:var(--accent)}.book-card .title{font-family:var(--serif);font-size:1.1rem;line-height:1.2}.book-card .sub{color:var(--muted);margin-top:2px;font-size:.85rem}.book-layout{grid-template-columns:240px 1fr;align-items:start;gap:clamp(20px,3vw,40px);display:grid}.side{flex-direction:column;gap:4px;display:flex;position:sticky;top:76px}.side h4{font:500 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;padding:0 10px}.side-item{text-align:left;width:100%;color:var(--muted);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:.95rem;display:flex}.side-item:hover{color:var(--fg);background:#ffffff0d}.side-item.on{background:var(--accent-soft);color:var(--accent)}.side-item .n{opacity:.7;margin-left:auto;font-size:.78rem}.side-item.depth-1{padding-left:28px}.side-item.depth-2{padding-left:44px}.side-item.depth-3{padding-left:60px}.side .menu{margin-left:auto}.side-item:hover .menu .icon-btn,.side-item .menu .icon-btn[aria-expanded=true]{opacity:1}.side-item .menu .icon-btn{opacity:0;width:26px;height:26px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar .search{border-radius:999px;flex:1;min-width:180px;padding:10px 14px}.seg{border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.9rem;display:inline-flex}.seg button.on{background:var(--fg);color:var(--bg)}.recipes{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.recipe-card{text-align:left;background:var(--panel);border:1px solid var(--border);color:inherit;border-radius:18px;flex-direction:column;padding:0;transition:transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.recipe-card:hover{border-color:#ffffff2e;transform:translateY(-3px)}.recipe-card .thumb{aspect-ratio:4/3;background:var(--paper-2);position:relative;overflow:hidden}.recipe-card .thumb img{object-fit:cover;width:100%;height:100%}.recipe-card .thumb.paper{background:repeating-linear-gradient(to bottom, transparent 0 22px, #5a463224 22px 23px), var(--paper);justify-content:center;align-items:center;display:flex}.recipe-card .thumb.paper span{font-family:var(--hand);color:var(--ink-soft);text-align:center;padding:0 20px;font-size:1.6rem;transform:rotate(-3deg)}.recipe-card .body{flex-direction:column;gap:4px;padding:14px 16px 16px;display:flex}.recipe-card .body h3{font-size:1.15rem;line-height:1.2}.recipe-card .meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.recipe-card .menu{position:absolute;top:8px;right:8px}.recipe-card .menu .icon-btn{color:#fff;background:#0006}.chip{letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:4px 9px;font-size:.72rem;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.capture{flex-direction:column;gap:20px;max-width:760px;margin:0 auto;display:flex}.drop{text-align:center;background:var(--panel);border:1px dashed #e2b26a73;border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:clamp(28px,6vw,56px) 20px;display:flex;position:relative}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop h2{font-size:1.6rem}.drop p{color:var(--muted);max-width:40ch;margin:0}.drop input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.drop .actions{z-index:1;flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:relative}.drop .actions label{position:relative;overflow:hidden}.drop .actions label input{opacity:0;cursor:pointer;position:absolute;inset:0}.analyzing{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.analyzing img{box-shadow:var(--shadow);object-fit:contain;background:#000;border-radius:14px;width:100%;max-height:60vh}.scan-wrap{border-radius:14px;position:relative;overflow:hidden}.scan-wrap:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 18px var(--accent);animation:2.2s ease-in-out infinite scan;position:absolute;left:0;right:0}@keyframes scan{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}.analyzing .status{flex-direction:column;gap:10px;display:flex}.analyzing .status h2{font-size:1.6rem}.analyzing .status p{color:var(--muted);margin:0}.dots:after{content:"…";animation:1.2s steps(4,end) infinite dots}@keyframes dots{to{content:""}}.editor{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:clamp(20px,3vw,40px);display:grid}.editor-main{flex-direction:column;gap:22px;min-width:0;display:flex}.editor-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:76px}.title-input{font-family:var(--serif);letter-spacing:-.01em;background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;width:100%;padding:6px 0;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:500}.title-input:focus{box-shadow:none;border-bottom-color:var(--border)}.meta-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.block{background:var(--panel);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:10px;padding:18px;display:flex}.block-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.block-head h2{font-size:1.15rem}.list-edit{flex-direction:column;gap:6px;display:flex}.list-row{align-items:flex-start;gap:8px;display:flex}.list-row .num{text-align:right;width:26px;color:var(--accent);font-family:var(--serif);flex:none;padding-top:11px;font-size:.95rem}.list-row .dot{text-align:center;width:26px;color:var(--accent);flex:none;padding-top:9px}.list-row textarea,.list-row input{flex:1;min-width:0;min-height:0;padding:9px 12px}.list-row textarea{field-sizing:content;resize:none}.list-row .icon-btn{width:30px;height:30px;margin-top:5px}.add-row{align-self:flex-start}.photos{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;display:grid}.photos .ph{aspect-ratio:1;background:var(--panel-2);border-radius:10px;position:relative;overflow:hidden}.photos .ph img{object-fit:cover;width:100%;height:100%}.photos .ph button{color:#fff;background:#0009;border:none;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:4px;right:4px}.photos .add{aspect-ratio:1;border:1px dashed var(--border);color:var(--muted);background:0 0;border-radius:10px;place-items:center;display:grid;position:relative}.photos .add:hover{border-color:var(--accent);color:var(--accent)}.photos .add input{opacity:0;cursor:pointer;position:absolute;inset:0}.save-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow);background:#1a1613e6;border-radius:999px;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex;position:sticky;bottom:16px}.save-bar .state{color:var(--muted);margin-left:10px;margin-right:auto;font-size:.85rem}.reader{max-width:860px;margin:0 auto}.reader-hero{grid-template-columns:1fr;gap:20px;margin-bottom:30px;display:grid}.reader-hero img{object-fit:cover;width:100%;max-height:420px;box-shadow:var(--shadow);border-radius:22px}.reader h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.reader .lead{color:var(--muted);margin:10px 0 0;font-size:1.05rem}.reader .facts{color:var(--muted);flex-wrap:wrap;gap:22px;margin:18px 0 0;font-size:.9rem;display:flex}.reader .facts b{color:var(--fg);font-family:var(--serif);font-size:1.2rem;font-weight:500;display:block}.reader-cols{grid-template-columns:1fr 1.5fr;gap:clamp(24px,4vw,48px);margin-top:28px;display:grid}.reader h2{margin-bottom:12px;font-size:1.3rem}.reader ul.ing{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reader ul.ing li{border-bottom:1px solid var(--border);padding:10px 0;font-size:1.02rem}.reader ol.steps{counter-reset:s;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.reader ol.steps li{counter-increment:s;font-size:1.12rem;line-height:1.65;font-family:var(--sans,Inter, sans-serif);grid-template-columns:34px 1fr;gap:12px;display:grid}.reader ol.steps li:before{content:counter(s);font-family:var(--serif);color:var(--accent);font-size:1.3rem;line-height:1.2}.reader .notes{background:var(--paper);color:var(--ink);font-family:var(--hand);border-radius:16px;margin-top:28px;padding:18px 20px;font-size:1.35rem;line-height:1.3}.reader .sources{margin-top:32px}.reader .sources .grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.reader .sources img{aspect-ratio:3/4;object-fit:cover;cursor:zoom-in;border-radius:10px;width:100%}.lightbox{z-index:70;cursor:zoom-out;background:#000000e6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}@media (width<=900px){.book-layout{grid-template-columns:1fr}.side{flex-flow:wrap;gap:6px;position:static}.side h4{display:none}.side-item{border:1px solid var(--border);border-radius:999px;width:auto;padding:7px 12px;font-size:.88rem}.side-item .n{margin-left:6px}.side-item.depth-1,.side-item.depth-2,.side-item.depth-3{padding-left:12px}.side-item .menu .icon-btn{opacity:1}.editor{grid-template-columns:1fr}.editor-side{position:static}.analyzing,.reader-cols{grid-template-columns:1fr}.meta-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=560px){.books{grid-template-columns:repeat(2,1fr);gap:16px}.page{padding-bottom:110px}.topbar .hide-sm{display:none}.topbar{gap:8px}.topbar .crumb .crumb-mid,.topbar .crumb .sep{display:none}.topbar .btn.primary{padding:9px 11px}.seg button{padding:7px 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.avatar-dot{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font-size:.85rem;font-weight:600;display:grid}.book-form-grid{grid-template-columns:150px 1fr;align-items:start;gap:20px;display:grid}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:30px;height:30px;padding:0;box-shadow:inset 0 0 0 1px #ffffff26}.swatch.on{border-color:var(--accent)}@media (width<=560px){.book-form-grid{grid-template-columns:1fr}.book-form-grid .cover-3d{max-width:140px}}.flip-view{touch-action:pan-y;background:radial-gradient(ellipse at 50% 60%, #1c1713 0%, var(--bg) 70%);-webkit-user-select:none;user-select:none;flex:1;min-height:calc(100vh - 61px);position:relative;overflow:hidden}.flip-view .book-stage{--pw:clamp(150px, min(44vw, 36vh), 380px);padding-bottom:60px}.flip-zone{z-index:3;cursor:pointer;background:0 0;border:none;width:22%;position:absolute;top:0;bottom:70px}.flip-zone.left{cursor:w-resize;left:0}.flip-zone.right{cursor:e-resize;right:0}.flip-zone:disabled{cursor:default}.flip-controls{border:1px solid var(--border);color:var(--muted);z-index:4;white-space:nowrap;background:#1a1613d9;border-radius:999px;align-items:center;gap:10px;padding:6px 10px;font-size:.85rem;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.flip-controls .icon-btn:disabled{opacity:.3}.flip-note{text-align:center;color:var(--muted);margin:0;font-size:.8rem;position:absolute;top:12px;left:0;right:0}.open-recipe{font:500 .6em var(--sans);color:#8b2d25;letter-spacing:.04em;pointer-events:auto;position:absolute;bottom:.9em;left:1.5em}.open-recipe:hover{text-decoration:underline}.polaroid-empty{aspect-ratio:1/1.05;color:var(--ink-soft);font-family:var(--hand);text-align:center;background:repeating-linear-gradient(45deg,#efe7d8 0 10px,#e8dfcd 10px 20px);place-items:center;padding:.5em;font-size:1.3em;display:grid}.tree{flex-direction:column;gap:4px;display:flex}@media (width<=700px){.flip-view .book-stage{--pw:clamp(140px, min(44vw, 34vh), 380px)}}.share-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.share-link{gap:8px;margin-top:10px;display:flex}.share-link input{flex:1;min-width:0;font-size:.85rem}.share-invite{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:10px;display:grid}.share-invite select{width:auto}.share-members{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.share-members li{align-items:center;gap:10px;display:flex}.share-members li span:first-child{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}@media (width<=560px){.share-invite{grid-template-columns:1fr}}.shared-chip{z-index:2;position:absolute;top:10px;left:10px}.shared-foot{text-align:center;margin-top:40px;font-size:.9rem}.shared-foot a{color:var(--accent)}.drop .quota{color:var(--accent);z-index:1;font-size:.88rem;position:relative}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lang-switch{border:1px solid var(--border);border-radius:999px;flex:none;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--muted);font:600 .72rem/1 var(--sans,Inter, sans-serif);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;padding:7px 9px}.lang-switch button.on{background:var(--accent-soft);color:var(--accent)}.lang-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.auth-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.install-card{border:1px solid var(--border);background:#e2b26a12;border-radius:14px;align-items:center;gap:14px;margin-bottom:18px;padding:14px 16px;display:flex}.install-card .install-text{flex:1;min-width:0}.install-card .install-text strong{font-size:.95rem;display:block}.install-card .install-text p{color:var(--muted);margin:3px 0 0;font-size:.86rem}.install-card .install-actions{flex:none;align-items:center;gap:4px;display:flex}@media (width<=640px){.install-card{flex-direction:column;align-items:flex-start}}.book-stage{perspective:2400px;perspective-origin:50% 45%;--pw:clamp(150px, 46vw, 380px);--ph:calc(var(--pw) * 1.36);--bleed:calc(var(--pw) * .018);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.book-wrap{transform-style:preserve-3d;will-change:transform}.book{width:var(--pw);height:var(--ph);transform-style:preserve-3d;font-size:calc(var(--pw) / 20);color:var(--ink);position:relative}.book:before{content:"";left:calc(var(--pw) * -.05);right:calc(var(--pw) * -.05);bottom:calc(var(--ph) * -.08);filter:blur(6px);pointer-events:none;background:radial-gradient(#0000008c,#0000 70%);height:12%;position:absolute;transform:translateZ(-12px)}.leather{background:radial-gradient(ellipse at 30% 20%, #ffffff12, transparent 55%), linear-gradient(160deg, var(--c-a,#5a2721), var(--c-b,#4a1f1a) 45%, var(--c-c,#30120f));box-shadow:inset 0 0 0 1px #ffffff0f}.back-cover{inset:calc(-1 * var(--bleed));border-radius:2px 8px 8px 2px;position:absolute;transform:translateZ(-2px)}.sheet{transform-style:preserve-3d;transform-origin:0;--shade:0;--z:0px;position:absolute;inset:0}.sheet.cover{inset:calc(-1 * var(--bleed)) calc(-1 * var(--bleed)) calc(-1 * var(--bleed)) 0}.face{backface-visibility:hidden;padding:1.6em 1.5em;position:absolute;inset:0;overflow:hidden}.face.front{transform:translateZ(var(--z))}.face.back{transform:rotateY(180deg) translateZ(calc(-1 * var(--z)))}.face:after{content:"";pointer-events:none;opacity:var(--shade);background:linear-gradient(90deg,#00000073,#0000 60%);position:absolute;inset:0}.face.back:after{background:linear-gradient(270deg,#00000073,#0000 60%)}.seg3d{width:var(--segw);height:100%;transform-style:preserve-3d;transform-origin:0;position:absolute;top:0;left:0}.seg3d .seg3d{left:calc(100% - .5px)}.seg-face{width:calc(var(--segw) + 1px);backface-visibility:hidden;height:100%;position:absolute;top:0;left:0;overflow:hidden}.seg-front{transform:translateZ(var(--z))}.seg-back{transform:rotateY(180deg) translateZ(calc(-1 * var(--z)));left:-1px}.seg-face>.face{height:100%;width:var(--pw);top:0;left:calc(-1 * var(--i) * var(--segw));position:absolute}.seg-face.seg-back>.face{left:auto;right:calc(-1 * var(--i) * var(--segw) - 1px)}.cover-front{border-radius:2px 8px 8px 2px;justify-content:center;align-items:center;display:flex}.cover-front:before{content:"";background:linear-gradient(90deg,#00000059,#0000);width:6%;position:absolute;inset:0}.cover-frame{text-align:center;outline-offset:4px;width:72%;color:var(--accent);border:1px solid #e2b26a99;outline:1px solid #e2b26a40;padding:2.2em 1.6em}.cover-small{font-family:var(--serif);opacity:.9;margin:0 0 .5em;font-size:.95em;font-style:italic}.cover-title{font-family:var(--serif);letter-spacing:-.01em;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;margin:0 0 .9em;font-size:2em;font-weight:500;line-height:1.05}.cover-years{font:500 .55em/1 var(--sans);letter-spacing:.25em;opacity:.8;text-transform:uppercase;margin:0}.cover-inside{border-radius:8px 2px 2px 8px;align-items:flex-end;display:flex}.dedication{font-family:var(--hand);color:#f0d9b0;white-space:pre-line;margin:0 0 .5em .4em;font-size:1.45em;line-height:1.25}.dedication span{opacity:.75;margin-top:.4em;font-size:.8em;display:block}.paper .face{background:repeating-linear-gradient(to bottom, transparent 0 1.55em, #5a46321f 1.55em calc(1.55em + 1px)), linear-gradient(to right, var(--paper-2), var(--paper) 10%, var(--paper) 90%, #f0e8d8);background-origin:content-box,border-box;box-shadow:inset 0 0 0 1px #0000000a}.paper .face.front{border-radius:1px 4px 4px 1px}.paper .face.back{background-image:repeating-linear-gradient(to bottom, transparent 0 1.55em, #5a46321f 1.55em calc(1.55em + 1px)), linear-gradient(to left, var(--paper-2), var(--paper) 10%, var(--paper) 90%, #f0e8d8);border-radius:4px 1px 1px 4px}.paper .face.front:before{content:"";pointer-events:none;background:linear-gradient(90deg,#00000017,#0000);width:8%;position:absolute;inset:0 auto 0 0}.paper .face.back:before{content:"";pointer-events:none;background:linear-gradient(270deg,#00000017,#0000);width:8%;position:absolute;inset:0 0 0 auto}.page-num{font:.55em var(--sans);color:var(--ink-soft);margin:0;position:absolute;bottom:.9em;right:1.3em}.small-caps{font:500 .6em/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 1em}.toc{font-family:var(--hand);margin:.4em 0 0;padding:0;font-size:1.15em;line-height:1.55em;list-style:none}.toc li{align-items:baseline;gap:.4em;display:flex}.toc li span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toc i{border-bottom:1px dotted var(--ink-soft);flex:1;min-width:1em;transform:translateY(-.25em)}.note{font-family:var(--hand);color:#8b2d25;margin:1.2em 0 0;font-size:1.05em}.note.tilt{display:inline-block;transform:rotate(-3deg)}.recipe-title{font-family:var(--hand);color:#1f1a15;margin:0 0 .1em;font-size:1.9em;font-weight:700;line-height:1.1}.meta{font-family:var(--hand);color:var(--ink-soft);margin:0 0 .8em;font-size:.95em}.ingredients{font-family:var(--hand);margin:0 0 .7em;padding-left:1.1em;font-size:1.2em;line-height:1.42em}.steps{font-family:var(--hand);margin:0;font-size:1.15em;line-height:1.5em}.steps p{margin:0}.clamp{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.photo-page{justify-content:center;align-items:center;display:flex}.polaroid{background:#fff;width:84%;margin:0;padding:.55em .55em 2.2em;position:relative;transform:rotate(-2.5deg);box-shadow:0 10px 25px #00000040,0 1px 2px #0003}.polaroid.rot{transform:rotate(2deg)}.polaroid img{aspect-ratio:1/1.05;object-fit:cover;filter:saturate(1.05)contrast(1.02);background:#e8e0d0;width:100%}.polaroid figcaption{text-align:center;font-family:var(--hand);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;padding:0 .5em;font-size:1.1em;position:absolute;bottom:.35em;left:0;right:0;overflow:hidden}.polaroid:after{content:"";background:#ffecaa8c;width:3.2em;height:1.1em;position:absolute;top:-.6em;left:50%;transform:translate(-50%)rotate(-1deg);box-shadow:0 1px 2px #0000001a}.stain{pointer-events:none;border:.35em solid #8c5a282e;border-radius:50%;width:5.5em;height:5.5em;position:absolute;bottom:1.4em;right:1em;box-shadow:inset 0 0 .6em #8c5a281a}.stain.small{border-width:.25em;width:3.2em;height:3.2em;inset:1.4em auto auto 1em}.digital-page{justify-content:center;align-items:center;padding:1.2em;display:flex}.digital-card{color:#f1ebe2;background:#141210;border-radius:.8em;width:100%;padding:1.2em 1.1em 1em;font-size:.78em;box-shadow:0 18px 40px #00000059,0 0 0 1px #ffffff0f}.digital-top{flex-wrap:wrap;gap:.5em;margin-bottom:1em;display:flex}.tag{font:500 .72em/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#1a1208;border-radius:999px;padding:.55em .8em}.tag.muted{color:#d8cfc2;background:#ffffff14}.digital-card h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .2em;font-size:1.7em;font-weight:500}.digital-sub{color:#9a8f82;margin:0 0 1.2em;font-size:.85em}.digital-cols{grid-template-columns:1fr 1.15fr;gap:1em;font-size:.92em;display:grid}.digital-cols ul,.digital-cols ol{margin:0;padding-left:1.1em;line-height:1.55}.digital-cols ul li::marker{color:var(--accent)}.digital-foot{color:#9a8f82;border-top:1px solid #ffffff14;gap:1.2em;margin-top:1.3em;padding-top:.9em;font-size:.8em;display:flex}.paper .face.final-left{flex-direction:column;justify-content:center;display:flex}.final-title{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 .8em;font-size:1.75em;font-weight:400;line-height:1.1}.final-title em{color:#8b2d25;font-style:italic}.final-text{color:var(--ink-soft);max-width:26ch;margin:0;font-size:.8em;line-height:1.55}.last-page{background:linear-gradient(to right, var(--paper-2), var(--paper) 10%);border-radius:1px 4px 4px 1px;padding:1.6em 1.5em;position:absolute;inset:0}.last-page:before{content:"";background:linear-gradient(90deg,#00000017,#0000);width:8%;position:absolute;inset:0 auto 0 0}.final-right{flex-direction:column;justify-content:center;gap:1em;height:100%;display:flex;position:relative}.checks{color:var(--ink-soft);margin:0 0 .4em;padding:0;font-size:.78em;line-height:1.5;list-style:none}.checks li{margin-bottom:.45em;padding-left:1.5em;position:relative}.checks li:before{content:"";background:var(--accent);width:.8em;height:.8em;box-shadow:inset 0 0 0 .22em var(--paper);border-radius:50%;position:absolute;top:.45em;left:0}.final-note{margin:.6em 0 0 .3em;font-size:1.15em}.seg-face>.face.front,.seg-face>.face.back{transform:none}.landing{background:var(--bg);color:var(--fg)}.landing .nav{z-index:50;background:linear-gradient(#0e0c0ae6,#0e0c0a00);justify-content:space-between;align-items:center;padding:1.1rem clamp(1.2rem,4vw,3rem);display:flex;position:fixed;inset:0 0 auto}.landing .hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:7rem 1.5rem 4rem;display:flex;position:relative}.landing .hero .eyebrow{margin-bottom:1.5rem}.landing .hero h1{font-family:var(--serif);letter-spacing:-.02em;max-width:14ch;margin:0 0 1.5rem;font-size:clamp(2.4rem,7vw,5.6rem);font-weight:400;line-height:1.02}.landing .hero h1 em{color:var(--accent);font-style:italic}.landing .lead{color:var(--muted);max-width:42ch;margin:0 0 3rem;font-size:clamp(1rem,1.6vw,1.2rem)}.scroll-hint{color:var(--muted);flex-direction:column;align-items:center;gap:.6rem;font-size:.8rem;display:flex;position:absolute;bottom:2rem}.scroll-hint span{background:linear-gradient(var(--accent), transparent);width:1px;height:36px;animation:1.6s ease-in-out infinite drop}@keyframes drop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.book-section{background:radial-gradient(ellipse at 50% 60%, #1c1713 0%, var(--bg) 70%);height:100vh;position:relative;overflow:hidden}.book-section .book-stage{--pw:clamp(150px, min(46vw, 38vh), 380px);padding-top:9vh}.captions{text-align:center;pointer-events:none;position:absolute;top:clamp(4.6rem,11vh,7rem);left:0;right:0}.caption{opacity:0;flex-direction:column;align-items:center;gap:.55rem;margin:0;padding:0 1.5rem;display:flex;position:absolute;left:0;right:0}.caption b{color:var(--accent);letter-spacing:.3em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.68rem;font-weight:500;display:inline-flex}.caption b:before,.caption b:after{content:"";opacity:.55;background:currentColor;width:1.4rem;height:1px}.caption span{font-family:var(--serif);letter-spacing:-.01em;color:var(--fg);text-wrap:balance;max-width:24ch;font-size:clamp(1.25rem,2.6vw,2rem);font-weight:400;line-height:1.15}.caption em{color:var(--accent);font-style:italic}.cta-overlay{text-align:center;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.cta-overlay h2{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:400;line-height:1.02}.cta-overlay>p{color:var(--muted);max-width:40ch;margin:0 0 2.5rem}.cta-overlay .eyebrow{margin-bottom:1rem}.cta-overlay .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tiny-light{color:var(--muted);margin-top:1.2rem!important;font-size:.8rem!important}.how{max-width:1000px;margin:0 auto;padding:clamp(4rem,10vw,8rem) 1.5rem}.how h2{font-family:var(--serif);text-align:center;letter-spacing:-.02em;margin:0 0 3rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400}.steps-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.step{border:1px solid var(--border);border-radius:18px;padding:1.6rem}.step .num{font-family:var(--serif);color:var(--accent);margin-bottom:.6rem;font-size:1.6rem}.step h3{font-size:1.15rem;font-family:var(--sans);margin:0 0 .4rem;font-weight:500}.step p{color:var(--muted);margin:0;font-size:.95rem}.landing footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:2rem 1.5rem 3rem;font-size:.8rem}@media (width<=700px){.steps-grid{grid-template-columns:1fr}.captions{top:20vh}.book-section .book-stage{--pw:clamp(150px, min(46vw, 34vh), 380px);padding-top:14vh}}.faq{max-width:720px;margin:0 auto;padding:0 1.5rem clamp(3rem,8vw,6rem)}.faq h2{font-family:var(--serif);text-align:center;letter-spacing:-.01em;margin:0 0 2rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400}.faq details{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-bottom:10px;padding:14px 18px}.faq summary{cursor:pointer;font-size:1rem;font-weight:500;list-style:none}.faq summary:after{content:"+";float:right;color:var(--accent);font-size:1.2rem}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);margin:10px 0 0;font-size:.95rem;line-height:1.6}.landing .nav-right{align-items:center;gap:18px;display:flex}.landing .nav-link{color:var(--muted);font-size:.95rem}.landing .nav-link:hover{color:var(--fg)}.waitlist{text-align:center;max-width:620px;margin:0 auto;padding:0 1.5rem clamp(3rem,8vw,6rem)}.waitlist h2{font-family:var(--serif);margin:0 0 .6rem;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:400}.waitlist>p{color:var(--muted);margin:0 0 1.4rem}.waitlist-form{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.waitlist-form input{border:1px solid var(--border);background:var(--panel);min-width:0;max-width:340px;color:var(--fg);border-radius:999px;flex:240px;padding:12px 16px;font-size:1rem}.waitlist-form .tiny-light,.waitlist-err{flex-basis:100%;margin:4px 0 0!important}.waitlist-err{color:var(--danger);font-size:.9rem}.waitlist-ok{color:var(--accent)}.landing footer .foot-links{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:0 0 1rem;font-size:.9rem;display:flex}.landing footer .foot-links a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.landing footer .foot-links a:hover{color:var(--fg)}
