:root{color-scheme:light dark;--ground: #f6f0e4;--ink: #34413a;--ink-hi: #1f2b25;--ink-soft: #4d5c53;--ink-mute: #6c7b71;--stem: #86ad8f;--gold: #e5b94e;--gold-text: #96690f;--rose: #e08aa4;--rose-text: #b2476b;--cta-bg: #ecc45c;--cta-ink: #2a2410;--bar-bg: rgb(246 240 228 / .86);--bar-line: rgb(127 164 135 / .45);--glow: rgb(127 164 135 / .45);--halo-gold: rgb(229 185 78 / .3);--halo-rose: rgb(224 138 164 / .28);--field-bg: rgb(255 255 255 / .55);--field-line: rgb(127 164 135 / .75);--shadow: rgb(60 45 20 / .25);--scrim: rgb(40 35 25 / .45);--sheet-bg: #fbf7ee;--flower-shadow: drop-shadow(0 2px 5px rgb(70 55 40 / .16));--paper: block;--serif: "Instrument Serif", Georgia, serif;--sans: "Hanken Grotesk", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #121b17;--ink: #eae6d8;--ink-hi: #f4f0e2;--ink-soft: #c9d3cb;--ink-mute: #a9b8ac;--stem: #6f9378;--gold: #f2d98a;--gold-text: #f2d98a;--rose: #e9a6b6;--rose-text: #e9a6b6;--cta-bg: #f2d98a;--cta-ink: #1a2a20;--bar-bg: rgb(18 27 23 / .82);--bar-line: rgb(111 147 120 / .3);--glow: rgb(143 191 154 / .5);--halo-gold: rgb(242 217 138 / .2);--halo-rose: rgb(233 166 182 / .2);--field-bg: rgb(255 255 255 / .05);--field-line: rgb(111 147 120 / .5);--shadow: rgb(0 0 0 / .4);--scrim: rgb(0 0 0 / .55);--sheet-bg: #18251e;--flower-shadow: drop-shadow(0 0 16px rgb(255 255 255 / .07));--paper: none}}:root[data-theme=dark]{--ground: #121b17;--ink: #eae6d8;--ink-hi: #f4f0e2;--ink-soft: #c9d3cb;--ink-mute: #a9b8ac;--stem: #6f9378;--gold: #f2d98a;--gold-text: #f2d98a;--rose: #e9a6b6;--rose-text: #e9a6b6;--cta-bg: #f2d98a;--cta-ink: #1a2a20;--bar-bg: rgb(18 27 23 / .82);--bar-line: rgb(111 147 120 / .3);--glow: rgb(143 191 154 / .5);--halo-gold: rgb(242 217 138 / .2);--halo-rose: rgb(233 166 182 / .2);--field-bg: rgb(255 255 255 / .05);--field-line: rgb(111 147 120 / .5);--shadow: rgb(0 0 0 / .4);--scrim: rgb(0 0 0 / .55);--sheet-bg: #18251e;--flower-shadow: drop-shadow(0 0 16px rgb(255 255 255 / .07));--paper: none}*{box-sizing:border-box}html{background:var(--ground);-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}body{margin:0;color:var(--ink);font-family:var(--sans);overflow-x:hidden;overflow-x:clip}p,h1{margin:0}em{font-style:italic}.flower{display:block;overflow:visible;--p: 1;rotate:calc((1 - var(--p)) * var(--spin, -28deg));scale:calc(1 - (1 - var(--p)) * var(--grow, 0));opacity:clamp(0,calc(var(--p) * 5),1);filter:var(--flower-shadow)}.sway{transform-box:view-box;transform-origin:50% 100%;animation:sway 7s ease-in-out var(--sway-delay, 0s) infinite alternate}@keyframes sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}.petal{transform-origin:50px 50px;scale:clamp(0,calc((var(--p) - var(--d, 0)) * 2.6),1)}.f-petal{fill:var(--petal);stroke:var(--vein);stroke-width:.7;stroke-opacity:.5}.heart{transform-origin:50px 50px;scale:clamp(0,calc((var(--p) - .04) * 5),1)}.stem-draw{stroke-dasharray:140;stroke-dashoffset:calc((1 - var(--p)) * 140)}.bar{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:center;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;font-size:16px;font-weight:600;color:var(--ink-hi);background:var(--bar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--bar-line);transform:translateY(-100%);transition:transform .35s ease}body[data-stuck] .bar{transform:none}.bar .dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}.page{overflow-x:clip;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 104px) 24px calc(env(safe-area-inset-bottom) + 92px)}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.eyebrow.gold{color:var(--gold-text)}.eyebrow.rose{color:var(--rose-text)}.hero{position:relative;display:flex;flex-direction:column;gap:14px;padding-bottom:48px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(64px,19vw,84px);line-height:.94;color:var(--ink-hi)}.lede{max-width:320px;font-size:19px;line-height:1.5;color:var(--ink-soft)}.stem{position:relative}.rail{position:absolute;left:19px;top:14px;bottom:40px;width:2px;background:repeating-linear-gradient(to bottom,var(--stem) 0 7px,transparent 7px 14px);opacity:.9}.rail-fill{position:absolute;inset:0 -1px auto;height:calc(var(--stem-p, 1) * 100%);background:linear-gradient(to bottom,#8fbf9a,var(--gold));border-radius:2px;box-shadow:0 0 12px var(--glow)}.stop{position:relative;display:flex;gap:22px;padding-bottom:40vh}.stop.finale{padding-bottom:0}.stop-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.node{flex:none;width:40px;display:flex;justify-content:center;padding-top:12px}.node:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--ground);border:2px solid var(--stem)}.now-node{padding-top:4px}.now-node:before{width:18px;height:18px;border:0;background:var(--gold);box-shadow:0 0 0 6px var(--halo-gold)}.finale-node{padding-top:10px}.finale-node:before{width:20px;height:20px;border:0;background:var(--rose);box-shadow:0 0 0 7px var(--halo-rose)}.big{font-family:var(--serif);font-size:58px;line-height:1;color:var(--ink-hi)}.big em{font-size:28px;color:var(--ink-soft)}.big.huge{font-size:clamp(80px,24vw,104px);line-height:.95}.meta{margin-top:6px;font-size:18px;line-height:1.5;color:var(--ink-soft)}.meta strong{color:var(--ink-hi);font-weight:600}.away{margin-top:4px;font-size:19px;font-weight:600;color:var(--gold-text)}.gap{font-size:15px;color:var(--ink-mute)}.goal-line{max-width:300px;margin-top:6px;font-size:22px;line-height:1.4;color:var(--ink)}.specimen{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}.species{font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.sprig{position:absolute;top:0;opacity:.8}.sprig-r{right:-14px;transform:rotate(12deg)}.sprig-l{right:-10px;transform:rotate(-10deg)}.stop:not(.finale) .stop-body{padding-right:44px}.bouquet{position:relative;width:280px;max-width:100%;height:330px;margin-top:18px}.bouquet .flower{position:absolute}.b-stems{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.b-stems{--p: 1}.b-stems path{stroke-dasharray:1;stroke-dashoffset:calc((1 - var(--p)) * 1);fill:none;stroke:#7fa487;stroke-width:2;stroke-linecap:round;opacity:.85}@media (prefers-reduced-motion: reduce){.flower{rotate:0deg;scale:1}.sway{animation:none}.bar{transition:none}}.quote{margin-top:10px;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.3;color:var(--ink-soft)}.boot{min-height:100vh}.screen{position:relative;min-height:100vh;min-height:100dvh;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 56px) 24px calc(env(safe-area-inset-bottom) + 40px);display:flex;flex-direction:column;justify-content:flex-start;gap:18px}.step{display:flex;flex:1;flex-direction:column;gap:18px;animation:fade-in .6s ease both}.screen-flower{display:flex;justify-content:center;margin-bottom:8px}.screen-title{font-family:var(--serif);font-weight:400;font-size:clamp(44px,13vw,60px);line-height:1;color:var(--ink-hi)}.screen .lede{max-width:none}.stack{display:flex;flex:1;flex-direction:column;gap:18px}.step-body{display:flex;flex:1;flex-direction:column;justify-content:center;gap:18px}.welcome .bouquet{margin:36px auto;flex:none;scale:1.2}.garden{display:flex;justify-content:center;align-items:flex-end;gap:2px;margin-bottom:8px}.rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--r, 0) * .18s + .2s)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sway-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.welcome.leaving{animation:leave .8s ease forwards}@keyframes leave{to{opacity:0;transform:translateY(-24px) scale(1.04)}}.page.enter{animation:enter .9s ease both}@keyframes enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:15px;font-weight:600;color:var(--ink-mute)}.field input{font:inherit;font-size:20px;color:var(--ink-hi);background:var(--field-bg);border:1px solid var(--field-line);border-radius:12px;padding:14px 16px;min-height:52px;width:100%}.field input[type=date],.field input[type=number],.field input[type=email]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;text-align:left}.field input[type=date]::-webkit-date-and-time-value{text-align:left}.field input[type=date]::-webkit-datetime-edit{padding:0}.field input:focus{outline:2px solid var(--gold);outline-offset:1px}.cta{font:inherit;font-weight:600;font-size:19px;min-height:56px;padding:0 24px;border:0;border-radius:999px;color:var(--cta-ink);background:var(--cta-bg);cursor:pointer}.cta:disabled{opacity:.45;cursor:default}.link{font:inherit;font-size:16px;color:var(--ink-soft);background:none;border:0;padding:8px 0;text-decoration:underline;cursor:pointer}.err{font-size:16px;color:var(--rose-text)}.dock-bar{position:fixed;z-index:9;inset:auto 0 0;max-width:480px;margin:0 auto;padding:28px 24px calc(env(safe-area-inset-bottom) + 14px);background:linear-gradient(to bottom,transparent,var(--ground) 45%);pointer-events:none}.dock-bar .cta{width:100%;pointer-events:auto;box-shadow:0 6px 24px var(--shadow)}.scrim{position:fixed;left:0;right:0;top:var(--vvt, 0px);height:var(--vvh, 100%);z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim);animation:fade-in .2s ease}.sheet{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px;padding:28px 24px 24px;background:var(--sheet-bg);border-radius:24px;box-shadow:0 20px 60px var(--shadow);max-height:100%;overflow-y:auto;overscroll-behavior:contain;animation:modal-in .28s cubic-bezier(.2,.8,.2,1)}.sheet-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;font:inherit;font-size:26px;line-height:1;color:var(--ink-mute);background:none;border:0;cursor:pointer}@keyframes modal-in{0%{transform:translateY(12px) scale(.96);opacity:0}to{transform:none;opacity:1}}.sheet-links{display:flex;justify-content:center;gap:28px}.sheet-done{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:8px 0}.sheet-done p{font-family:var(--serif);font-size:32px;line-height:1.15;color:var(--ink-hi)}.shift-bloom{height:130px}@media (prefers-reduced-motion: reduce){.rise,.step,.page.enter,.scrim,.sheet{animation:none}.welcome.leaving{animation:none;opacity:0}}body:before{content:"";display:var(--paper);position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 38% at 12% 6%,rgb(185 166 232 / .26),transparent 70%),radial-gradient(52% 34% at 95% 38%,rgb(233 166 182 / .24),transparent 70%),radial-gradient(64% 40% at 6% 82%,rgb(127 164 135 / .24),transparent 70%),radial-gradient(50% 30% at 92% 96%,rgb(242 217 138 / .3),transparent 70%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.38  0 0 0 0 0.28  0 0 0 0.09 0'/></filter><rect width='240' height='240' filter='url(%23p)'/></svg>")}.sway{filter:url(#wc)}html.flat .sway{filter:none}.f-petal{fill-opacity:.84;stroke-width:.9;stroke-opacity:.6}.nasu{--p: 1;display:block;height:auto;opacity:clamp(0,calc(var(--p) * 4),1);transform:translateY(calc((1 - var(--p)) * 18px)) rotate(calc((1 - var(--p)) * -6deg));transform-origin:50% 100%;filter:var(--flower-shadow);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.nasu.squish{animation:squish .55s ease}@keyframes squish{30%{transform:scale(1.1,.86)}60%{transform:scale(.95,1.07)}to{transform:none}}@media (prefers-reduced-motion: reduce){.nasu.squish{animation:none}}.hero-top{position:relative;align-self:center;margin-bottom:8px}.theme-toggle{position:absolute;left:calc(100% - 4px);top:-14px;width:44px;height:44px;display:grid;place-items:center;padding:0;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-toggle img{width:40px;height:40px;object-fit:contain;filter:var(--flower-shadow);animation:toggle-in .5s cubic-bezier(.2,.8,.2,1)}.theme-toggle:active img{transform:scale(.9)}@keyframes toggle-in{0%{transform:rotate(-40deg) scale(.5);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.theme-toggle img{animation:none}}.page-foot{display:flex;justify-content:center;padding-top:24px}
