@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2) format("woff2"),url(/app/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2) format("woff2"),url(/app/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-cyrillic-ext-600-italic-o1-A_FsB.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-ext-600-italic-Vv_u9p1E.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-cyrillic-600-italic-Bp4BYShX.woff2) format("woff2"),url(/app/assets/cormorant-garamond-cyrillic-600-italic-DP5iIMI9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-vietnamese-600-italic-C3DTNE_9.woff2) format("woff2"),url(/app/assets/cormorant-garamond-vietnamese-600-italic-Bdap-eNg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-latin-ext-600-italic-DYtrqAWE.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-ext-600-italic-CcucBqPp.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/app/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2) format("woff2"),url(/app/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Glacial Indifference;src:url(/app/fonts/GlacialIndifference-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Glacial Indifference;src:url(/app/fonts/GlacialIndifference-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{--night: #1b1115;--night-deep: #130b0f;--surface: #261920;--surface-2: #31212a;--line: #3f2b35;--crimson: #e8173f;--crimson-press: #c9113a;--blush: #f3dde1;--muted: #b79ea6;--faint: #8c737b;--gold: #d8a657;--ok: #8fc9a4;--serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans: "Glacial Indifference", "Avenir Next", "Segoe UI", system-ui, sans-serif;--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--gutter: 20px;--tabbar: 64px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--night);color:var(--blush);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.page{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 18px) var(--gutter) calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px)}.page.bare{padding-bottom:calc(env(safe-area-inset-bottom) + 40px)}.stack>*+*{margin-top:16px}.stack-lg>*+*{margin-top:28px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:.005em}h1{font-size:2.35rem}h2{font-size:1.7rem}h3{font-size:1.3rem}p{margin:0}.lede{font-size:1.08rem;color:var(--muted)}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:.92rem}.small{font-size:.9rem}.serif{font-family:var(--serif)}.prose{font-family:var(--serif);font-size:1.2rem;line-height:1.62;color:#f6e8eb}.prose p+p,.prose ul,.prose p+ul,.prose ul+p{margin-top:.9em}.prose h2{font-size:1.6rem;margin:1.4em 0 .5em;color:var(--blush)}.prose h3{font-size:1.3rem;margin:1.2em 0 .4em}.prose ul{padding-left:1.2em}.prose li+li{margin-top:.45em}.prose strong{color:#fff}.wordmark{height:16px;width:auto;opacity:.95}.brand-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;min-height:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;background:var(--crimson);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .05s ease}.btn:active{transform:scale(.98);background:var(--crimson-press)}.btn[disabled]{opacity:.5;cursor:default}.btn.block{width:100%}.btn.quiet{background:transparent;border-color:var(--line);color:var(--blush)}.btn.quiet:active{background:var(--surface-2)}.btn.text{background:none;border:0;padding:0 4px;min-height:40px;color:var(--muted);font-weight:400;text-decoration:underline;text-underline-offset:3px}.btn.danger{background:transparent;border-color:#7a2a3a;color:#ff8fa3}label.field{display:block}label.field>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.95rem}input[type=text],input[type=email],input[type=time],input[type=datetime-local],input[type=password],input[inputmode],select,textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--r-md);background:var(--night-deep);border:1px solid var(--line);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--crimson)}textarea{min-height:96px;resize:vertical}.check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer}.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--crimson);flex:none}.seg{display:flex;background:var(--night-deep);border:1px solid var(--line);border-radius:999px;padding:3px;gap:3px}.seg button{flex:1;min-height:40px;border:0;border-radius:999px;background:none;color:var(--muted);cursor:pointer;padding:0 10px;font-size:.95rem}.seg button[aria-pressed=true]{background:var(--surface-2);color:#fff}.seg button[data-tone=yes][aria-pressed=true]{background:var(--crimson)}.seg button[data-tone=no][aria-pressed=true]{background:#4a3540}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--night-deep);border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;color:var(--blush);font-size:.95rem;text-align:left}.chip[aria-pressed=true]{border-color:var(--crimson);background:#e8173f24}.panel{background:var(--surface);border-radius:var(--r-lg);padding:20px}.panel.flat{background:transparent;border:1px solid var(--line)}.list{list-style:none;margin:0;padding:0}.list>li{padding:16px 0;border-bottom:1px solid var(--line)}.list>li:last-child{border-bottom:0}.item-link{display:block;text-decoration:none}.tag{display:inline-block;font-size:.82rem;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.tag.gold{background:#d8a65729;color:var(--gold)}.tag.red{background:#e8173f29;color:#ff8fa3}.notice{border-left:3px solid var(--gold);padding:10px 14px;background:#d8a65714;border-radius:0 var(--r-sm) var(--r-sm) 0}.error{color:#ff8fa3}.success{color:var(--ok)}.rotation{display:flex;align-items:flex-end;gap:14px}.rotation .mark{display:flex;flex-direction:column;align-items:center;gap:8px}.rotation .pip{width:34px;height:46px;border-radius:17px;border:2px solid var(--line);position:relative}.rotation .pip.wife{border-radius:50%/60% 60% 40% 40%}.rotation .pip.done{background:var(--line);border-color:var(--line)}.rotation .pip.next{border-color:var(--crimson);background:#e8173f2e}.rotation .pip.next:after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:1px solid rgba(232,23,63,.45)}.rotation .who{font-size:.8rem;color:var(--faint)}.rotation .gap{width:1px;height:46px;background:var(--line);margin:0 4px}.next-date .when{font-family:var(--serif);font-size:3rem;line-height:1;font-weight:600}.next-date .day{font-family:var(--serif);font-size:1.5rem;color:var(--muted)}.notes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.notes li{max-width:85%;padding:10px 14px;border-radius:18px;background:var(--surface-2);font-family:var(--serif);font-size:1.15rem;line-height:1.35}.notes li.mine{align-self:flex-end;background:#e8173f33}.hearts{display:flex;gap:6px}.hearts button{background:none;border:0;cursor:pointer;padding:4px;font-size:1.9rem;line-height:1;color:var(--line)}.hearts button[aria-pressed=true]{color:var(--crimson)}.tabbar{position:fixed;inset:auto 0 0;z-index:10;background:#130b0ff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar nav{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);height:var(--tabbar)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--faint);font-size:.78rem}.tabbar a[aria-current=page]{color:var(--blush)}.tabbar svg{width:24px;height:24px}.progress{display:flex;gap:5px;margin-bottom:24px}.progress span{flex:1;height:3px;border-radius:2px;background:var(--line)}.progress span.on{background:var(--crimson)}.lock{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;text-align:center}.lock input{max-width:220px;text-align:center;font-size:1.6rem;letter-spacing:.4em}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
