@font-face{font-family:Brut Grotesque;src:url(/fonts/BrutGrotesque-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Brut Grotesque;src:url(/fonts/BrutGrotesque-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Brut Grotesque;src:url(/fonts/BrutGrotesque-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light dark;--brand-off-white:#f3f2ee;--brand-light-grey:#dbdbdb;--brand-taupe:#827b6d;--brand-anthracite:#1c1c1c;--brand-sage:#9ca095;--bg:#f3f2ee;--bg-elevated:#ffffff;--surface:#ffffff;--surface-sunken:#eeede8;--surface-hover:#faf9f7;--hairline:rgba(28,28,28,0.08);--hairline-strong:rgba(28,28,28,0.14);--text:#1c1c1c;--text-secondary:#6f6a5f;--text-tertiary:#9c968a;--text-inverse:#f6f5f2;--logo-color:#000000;--accent:#1c1c1c;--accent-hover:#000000;--accent-contrast:#f6f5f2;--track:rgba(28,28,28,0.09);--success:#7f8878;--success-soft:rgba(156,160,149,0.18);--shadow-card:0 1px 2px rgba(28,28,28,0.04),0 10px 30px -12px rgba(28,28,28,0.14);--shadow-raised:0 1px 2px rgba(28,28,28,0.05),0 20px 48px -20px rgba(28,28,28,0.24);--shadow-button:0 1px 2px rgba(28,28,28,0.16),0 8px 20px -10px rgba(28,28,28,0.44);--radius-card:26px;--radius-inner:18px;--radius-control:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.4,0.64,1);--dur-fast:160ms;--dur-mid:320ms;--dur-slow:1100ms;--font-sans:"Brut Grotesque",-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#101010;--bg-elevated:#1a1a19;--surface:#1a1a19;--surface-sunken:#141414;--surface-hover:#232322;--hairline:rgba(243,242,238,0.09);--hairline-strong:rgba(243,242,238,0.16);--text:#f3f2ee;--text-secondary:#a8a29a;--text-tertiary:#78736a;--text-inverse:#1c1c1c;--logo-color:#ffffff;--accent:#f3f2ee;--accent-hover:#ffffff;--accent-contrast:#1c1c1c;--track:rgba(243,242,238,0.12);--success:#9ca095;--success-soft:rgba(156,160,149,0.16);--shadow-card:0 1px 2px rgba(0,0,0,0.5),0 12px 32px -16px rgba(0,0,0,0.7);--shadow-raised:0 1px 2px rgba(0,0,0,0.6),0 24px 56px -24px rgba(0,0,0,0.8);--shadow-button:0 1px 2px rgba(0,0,0,0.4),0 8px 20px -10px rgba(0,0,0,0.6)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}button,input{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}::selection{background:var(--brand-sage);color:var(--brand-anthracite)}.app{max-width:480px;margin:0 auto;padding:0 var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom))}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:64px;padding:0 var(--space-4);padding-top:env(safe-area-inset-top);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color var(--dur-fast) linear}.appbar--scrolled{border-bottom-color:var(--hairline)}.appbar__inner{justify-content:space-between;gap:var(--space-3);width:100%;max-width:480px;margin:0 auto}.appbar__inner,.appbar__mark{display:flex;align-items:center}.logo{display:block;fill:var(--logo-color);color:var(--logo-color)}.appbar__actions{display:flex;align-items:center;gap:var(--space-2)}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 1px 2px rgba(28,28,28,.06);color:var(--text-secondary);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) linear,color var(--dur-fast) linear}.icon-button:hover{color:var(--text)}.icon-button:active{transform:scale(.9)}.icon-button[data-busy=true] svg{animation:spin .9s linear infinite}.hero-mark{display:flex;justify-content:flex-start;padding:var(--space-1) 0 var(--space-2)}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-5)}.card+.card,.card+.section,.section+.card,.section+.section{margin-top:var(--space-4)}.card--flush{padding:0;overflow:hidden}.card--quiet{background:transparent;box-shadow:none;border:1px solid var(--hairline)}.section__title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:var(--space-6) var(--space-2) var(--space-3);font-size:20px;font-weight:700;letter-spacing:-.02em}.section__hint{font-size:13px;font-weight:400;color:var(--text-tertiary);letter-spacing:0}.card--spaced{margin-top:var(--space-2)}.footer__note{margin:var(--space-4) var(--space-2) 0}.page__footnote{margin:var(--space-5) var(--space-2) 0}.error-mark{display:block;color:var(--text-tertiary);margin-bottom:var(--space-3)}.display{font-size:clamp(52px,17vw,72px);line-height:.94;font-weight:700;letter-spacing:-.045em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.title{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.028em;margin:0}.title--hero{font-size:clamp(30px,8.5vw,38px);letter-spacing:-.034em}.body{font-size:15px;line-height:1.55;color:var(--text-secondary);margin:var(--space-3) 0 0}.caption{font-size:13px;line-height:1.5}.caption,.label{color:var(--text-tertiary)}.label{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.text-strong{color:var(--text)}.title--spaced{margin-top:var(--space-5)}.caption--with-icon{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.hero{display:grid;justify-items:center;padding:var(--space-5)}.hero__greeting{margin-bottom:var(--space-4)}.ring{position:relative;width:min(230px,62vw);aspect-ratio:1}.ring__svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.ring__track{fill:none;stroke:var(--track)}.ring__value{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.ring__center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;grid-gap:var(--space-1);gap:var(--space-1)}.ring__caption{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--text-tertiary)}.hero__meta{margin-top:var(--space-4);text-align:center}.hero__next{font-size:15px;font-weight:500;color:var(--text);text-align:center}.hero__next--celebrate{display:flex;align-items:center;justify-content:center;gap:6px}.hero__next strong{font-weight:700}.rows{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4) var(--space-5);position:relative;text-align:left;background:transparent;border:0;width:100%;transition:background var(--dur-fast) linear}.row+.row:before{content:"";position:absolute;top:0;left:calc(44px + var(--space-5) + var(--space-3));right:0;height:1px;background:var(--hairline)}.row--interactive:hover{background:var(--surface-hover)}.row--interactive:active{background:var(--surface-sunken)}.row__badge{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-tertiary);font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;transition:background var(--dur-mid) var(--ease-out),color var(--dur-mid) var(--ease-out)}.row--unlocked .row__badge{background:var(--accent);color:var(--accent-contrast)}.row--claimed .row__badge{background:var(--success);color:var(--brand-anthracite)}.row__body{display:block;min-width:0}.row__title{display:block;font-size:16px;font-weight:500;letter-spacing:-.015em}.row__sub{display:block;margin-top:1px;font-size:13.5px;line-height:1.45;color:var(--text-tertiary)}.row--locked .row__title{color:var(--text-secondary)}.row__end{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.row__progress{margin-top:var(--space-2);height:3px;background:var(--track);overflow:hidden}.row__progress,.row__progress span{display:block;border-radius:var(--radius-pill)}.row__progress span{height:100%;background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;background:var(--surface-sunken);color:var(--text-secondary)}.pill--accent{background:var(--accent);color:var(--accent-contrast)}.pill--success{background:var(--success-soft);color:var(--success)}.row__claim{grid-column:1/-1}.code{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-inner);border:1px dashed var(--hairline-strong);background:var(--surface-sunken)}.code__value{font-family:var(--font-mono);font-size:17px;font-weight:500;letter-spacing:.14em;white-space:nowrap}.chips{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--space-4) * -1);padding:var(--space-1) var(--space-4) var(--space-2);scrollbar-width:none;margin-left:calc(var(--space-4) * -1);margin-right:calc(var(--space-4) * -1)}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;scroll-snap-align:start;min-width:108px;padding:var(--space-4);border-radius:var(--radius-inner);background:var(--surface);box-shadow:var(--shadow-card)}.chip__value{display:block;font-size:28px;font-weight:700;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip__label{display:block;margin-top:2px;font-size:13px;color:var(--text-tertiary)}.row--plain{grid-template-columns:44px 1fr}.claim-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.claim-action__error{font-size:12px;line-height:1.4;color:var(--text-secondary);max-width:150px;text-align:right}.split-note{display:flex;gap:var(--space-3);align-items:flex-start}.split-note__icon{flex:0 0 auto;margin-top:2px;color:var(--text-tertiary)}.split-note .body{margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:52px;padding:0 var(--space-5);border:0;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-contrast);font-size:16px;font-weight:500;letter-spacing:-.015em;box-shadow:var(--shadow-button);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) linear,opacity var(--dur-fast) linear}.button:hover:not(:disabled){background:var(--accent-hover)}.button:active:not(:disabled){transform:scale(.975)}.button:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.button--secondary{background:var(--surface-sunken);color:var(--text);box-shadow:none}.button--secondary:hover:not(:disabled){background:var(--surface-hover)}.button--ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.button--ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.button--compact{width:auto;min-height:36px;padding:0 var(--space-4);font-size:14px;border-radius:var(--radius-pill)}.button-row{display:flex;gap:var(--space-2)}.field{display:block;margin-top:var(--space-5)}.field__label{display:block;margin:0 0 var(--space-2);font-size:13px;font-weight:500;color:var(--text-secondary)}.field__input{width:100%;min-height:52px;padding:0 var(--space-4);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background:var(--surface);font-size:16px;outline:none;transition:border-color var(--dur-fast) linear,box-shadow var(--dur-fast) linear}.field__input::placeholder{color:var(--text-tertiary)}.field__input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--track)}.otp{position:relative;margin-top:var(--space-5)}.otp__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;z-index:2;cursor:text}.otp__boxes{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.otp__box{display:grid;place-items:center;height:58px;border:1px solid var(--hairline-strong);border-radius:14px;background:var(--surface);font-size:22px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) linear,box-shadow var(--dur-fast) linear,transform var(--dur-fast) var(--ease-spring)}.otp__box--filled{transform:scale(1.02);border-color:var(--hairline-strong)}.otp__box--active{border-color:var(--accent);box-shadow:0 0 0 4px var(--track)}.otp__caret{width:2px;height:24px;border-radius:2px;background:var(--accent);animation:blink 1.1s steps(2,start) infinite}.note{display:flex;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-inner);background:var(--surface-sunken);font-size:14px;line-height:1.5;color:var(--text-secondary)}.note--success{background:var(--success-soft);color:var(--success)}.note--error{background:var(--surface-sunken);color:var(--text);box-shadow:inset 0 0 0 1px var(--hairline-strong)}.note__icon{flex:0 0 auto;margin-top:1px}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);padding:0 var(--space-2)}.footer__mail{font-size:13px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button--spaced{margin-top:var(--space-5)}.button--stacked{margin-top:var(--space-3)}.note--spaced{margin-top:var(--space-5)}.field__label--standalone{display:block;margin-top:var(--space-5)}.shimmer{border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-hover) 40%,var(--surface-sunken) 80%);background-size:300% 100%;animation:shimmer 1.5s ease-in-out infinite}.shimmer--ring{width:min(230px,62vw);aspect-ratio:1;border-radius:50%;background:var(--surface-sunken);animation:pulse 1.6s ease-in-out infinite}.enter{animation:enter var(--dur-mid) var(--ease-out) both}.enter-1{animation-delay:40ms}.enter-2{animation-delay:90ms}.enter-3{animation-delay:.14s}.enter-4{animation-delay:.19s}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shimmer--line-sm{height:12px;width:120px}.shimmer--line-md{height:14px;width:48%}.shimmer--line-lg{height:15px;width:190px}.shimmer--badge{width:44px;height:44px;border-radius:var(--radius-pill)}.hero__meta--loading{display:grid;grid-gap:var(--space-3);gap:var(--space-3);justify-items:center}.row__body--loading{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.row__body--loading .shimmer--line-lg{width:72%}