.fade-enter-active,.fade-leave-active{transition:opacity calc(.35s * var(--m)) ease}.fade-enter-from,.fade-leave-to{opacity:0}.toast{position:fixed;left:50%;bottom:calc(28px + var(--safe-bottom));transform:translate(-50%);max-width:calc(100vw - 48px);padding:12px 18px;border-radius:18px;background:var(--surface2);border:1px solid var(--line);color:var(--ink);font:500 14px/1.4 var(--sans);box-shadow:0 12px 30px -12px #00000080;z-index:50}.toast-enter-active,.toast-leave-active{transition:opacity .3s,transform .3s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,10px)}:root{--bg: oklch(.2 .045 340);--bg2: oklch(.145 .035 340);--surface: oklch(.26 .045 340);--surface2: oklch(.31 .045 340);--ink: oklch(.95 .012 80);--muted: oklch(.77 .03 340);--line: oklch(.41 .045 340);--accent: oklch(.79 .11 38);--accent2: oklch(.62 .1 38);--accentInk: oklch(.8 .11 38);--onAccent: oklch(.2 .04 340);--glow: oklch(.79 .11 38 / .32);--warn: oklch(.75 .13 25);--m: 1;--serif: "Cormorant Garamond", Georgia, serif;--sans: Manrope, system-ui, -apple-system, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}:root[data-mode=candle]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:500 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{min-height:100dvh;transition:background calc(.4s * var(--m)) ease}button{font:inherit;color:inherit;min-height:44px;cursor:pointer;touch-action:manipulation}textarea{font-size:max(16px,1em)}input{font:inherit;font-size:max(16px,1em)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.serif{font-family:var(--serif)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}}.screen{min-height:100dvh;display:flex;flex-direction:column;gap:24px;padding:max(62px,calc(var(--safe-top) + 14px)) 24px max(44px,calc(var(--safe-bottom) + 12px));max-width:480px;margin:0 auto;animation:fadeIn calc(.6s * var(--m)) ease both}.screen>.grow{flex:1}.back{align-self:flex-start;width:44px;height:44px;border-radius:22px;border:1px solid var(--line);background:none;display:grid;place-items:center;padding:0}.heading{display:flex;flex-direction:column;gap:10px}.eyebrow{font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accentInk)}.title{margin:0;font:500 40px/1.04 var(--serif);text-wrap:balance}.sub{margin:0;font:400 15px/1.5 var(--sans);color:var(--muted);text-wrap:pretty}.note{margin:0;text-align:center;font:400 12px/1.5 var(--sans);color:var(--muted);text-wrap:pretty}.error{margin:0;text-align:center;font:500 14px/1.45 var(--sans);color:var(--warn);animation:fadeIn .3s ease both}.field{height:60px;width:100%;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 20px;font:500 18px/1 var(--sans);outline:none;transition:border-color .2s}.field:focus{border-color:var(--accent)}.field::placeholder{color:var(--muted);opacity:.7}.btn{height:56px;width:100%;border:none;border-radius:28px;background:var(--accent);color:var(--onAccent);font:600 16px/1 var(--sans);box-shadow:0 12px 30px -12px var(--glow);transition:transform .15s,opacity .3s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{height:52px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:500;font-size:15px;box-shadow:none}.btn.link{height:44px;background:none;box-shadow:none;color:var(--accentInk);font-size:14px}.card{border:1px solid var(--line);border-radius:24px;background:var(--surface);padding:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes bumpOff{0%{transform:translate(90px);opacity:0}35%{transform:translate(12px);opacity:1}50%{transform:translate(26px)}75%{transform:translate(18px);opacity:1}to{transform:translate(110px) rotate(40deg);opacity:0}}
