@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,400;1,9..144,500;0,9..144,500&display=swap";@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";.lp{--lp-hair: rgba(42, 36, 29, .12);--lp-hair-strong: rgba(42, 36, 29, .22);--font-serif: "Fraunces", Georgia, serif;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-sans);overflow-x:hidden}.lp-nav{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto;padding:22px 28px}.lp-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.lp-brand img{width:30px;height:30px;display:block}.lp-brand-name{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.01em}.lp-nav-right{display:flex;align-items:center;gap:18px}.lp-nav-link{font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;transition:color .14s ease}.lp-nav-link:hover{color:var(--ink)}.lp-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:15px;padding:11px 20px;border:1.5px solid var(--ink);border-radius:10px;box-shadow:2px 2px 0 var(--ink);text-decoration:none;cursor:pointer;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.lp-btn:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink)}.lp-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.lp-btn-primary{background:var(--moss);color:var(--bone)}.lp-btn-ghost{background:var(--linen);color:var(--ink)}.lp-btn-sm{padding:8px 15px;font-size:14px;box-shadow:2px 2px 0 var(--ink)}.lp-eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--moss-600)}.lp-hero{max-width:1140px;margin:0 auto;padding:40px 28px 84px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.lp-hero-copy{max-width:540px}.lp-hero-copy .lp-eyebrow{display:block;margin-bottom:22px}.lp-hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(40px,5.4vw,66px);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px;text-wrap:balance}.lp-hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:500;color:var(--moss-600)}.lp-lede{font-family:var(--font-serif);font-style:italic;font-size:21px;line-height:1.45;color:var(--ink-2);margin:0 0 32px;text-wrap:pretty}.lp-hero-actions{display:flex;gap:13px;flex-wrap:wrap}.lp-trust{margin:22px 0 0;font-size:13.5px;color:var(--ink-2);display:flex;align-items:center;gap:8px}.lp-trust-dot{width:7px;height:7px;border-radius:999px;background:var(--moss);display:inline-block}.lp-hero-art{position:relative;display:flex;justify-content:center}.lp-panel{width:100%;max-width:380px;background:var(--bone);border:1.75px solid var(--ink);border-radius:16px;box-shadow:8px 8px 0 var(--ink);padding:22px 22px 24px;transform:rotate(1.4deg);position:relative;z-index:2}.lp-panel-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1.25px solid var(--lp-hair-strong);padding-bottom:12px;margin-bottom:16px}.lp-panel-day{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.lp-panel-date{font-family:var(--font-mono);font-size:11px;color:var(--ink-2)}.lp-panel-greet{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-.01em;line-height:1.1;margin:0 0 18px}.lp-panel-greet span{color:var(--moss-600)}.lp-row{display:flex;align-items:center;gap:11px;padding:9px 0}.lp-row+.lp-row{border-top:1px solid var(--lp-hair)}.lp-check{width:19px;height:19px;border:1.5px solid var(--ink);border-radius:5px;flex:none;display:grid;place-items:center;background:var(--linen)}.lp-check.done{background:var(--moss)}.lp-check.done:after{content:"";width:5px;height:9px;border:solid var(--bone);border-width:0 2px 2px 0;transform:rotate(43deg) translateY(-1px)}.lp-row-label{font-size:14.5px;font-weight:500;flex:1}.lp-row.is-done .lp-row-label{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--lp-hair-strong)}.lp-streak{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink);background:var(--honey-300);border:1.25px solid var(--ink);border-radius:999px;padding:1px 8px}.lp-panel-focus{margin-top:16px;display:flex;align-items:center;justify-content:space-between;background:var(--paper-2);border:1.25px solid var(--ink);border-radius:10px;padding:10px 14px}.lp-focus-label{font-size:13px;font-weight:600}.lp-focus-time{font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:.02em}.lp-stamp{position:absolute;bottom:-22px;left:-6px;z-index:3;background:var(--honey);border:1.5px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);padding:9px 14px;transform:rotate(-6deg);font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lp-section{border-top:1.5px solid var(--ink)}.lp-section-inner{max-width:1140px;margin:0 auto;padding:76px 28px}.lp-section-head{max-width:620px;margin-bottom:48px}.lp-section-head .lp-eyebrow{display:block;margin-bottom:14px}.lp-section-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,3.8vw,44px);line-height:1.08;letter-spacing:-.018em;margin:0;text-wrap:balance}.lp-pillars{background:var(--linen)}.lp-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--bone);box-shadow:4px 4px 0 var(--ink)}.lp-pillar{padding:30px 28px 34px}.lp-pillar+.lp-pillar{border-left:1.25px solid var(--lp-hair-strong)}.lp-pillar-num{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--clay);letter-spacing:.1em}.lp-pillar h3{font-family:var(--font-display);font-weight:500;font-size:24px;letter-spacing:-.01em;margin:14px 0 8px}.lp-pillar p{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0}.lp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lp-card{background:var(--bone);border:1.5px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:24px 22px 26px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.lp-card:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink)}.lp-card-icon{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:10px;margin-bottom:16px}.lp-card-icon svg{width:22px;height:22px;display:block}.lp-card:nth-child(1) .lp-card-icon{background:var(--moss)}.lp-card:nth-child(2) .lp-card-icon{background:var(--honey)}.lp-card:nth-child(3) .lp-card-icon{background:var(--clay)}.lp-card:nth-child(4) .lp-card-icon{background:var(--paper-2)}.lp-card:nth-child(5) .lp-card-icon{background:var(--linen)}.lp-card h3{font-family:var(--font-display);font-weight:500;font-size:20px;letter-spacing:-.01em;margin:0 0 7px}.lp-card p{font-size:14.5px;line-height:1.5;color:var(--ink-2);margin:0}.lp-cta{background:var(--ink);color:var(--bone);border-top:1.5px solid var(--ink)}.lp-cta-inner{max-width:1140px;margin:0 auto;padding:86px 28px;text-align:center}.lp-cta .lp-eyebrow{color:var(--honey-300);display:block;margin-bottom:18px}.lp-cta h2{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,4.6vw,56px);line-height:1.04;letter-spacing:-.02em;margin:0 auto 14px;max-width:660px;text-wrap:balance;color:var(--bone)}.lp-cta h2 em{font-family:var(--font-serif);font-style:italic;color:var(--honey-300)}.lp-cta-sub{font-family:var(--font-serif);font-style:italic;font-size:19px;color:var(--ink-4);margin:0 0 30px}.lp-cta .lp-btn-primary{box-shadow:3px 3px 0 var(--honey)}.lp-cta .lp-btn-primary:hover{box-shadow:5px 5px 0 var(--honey)}.lp-foot{max-width:1140px;margin:0 auto;padding:30px 28px 44px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lp-foot-brand{display:inline-flex;align-items:center;gap:9px}.lp-foot-brand img{width:22px;height:22px}.lp-foot-brand span{font-family:var(--font-display);font-size:16px;font-weight:600}.lp-foot-note{font-size:13px;color:var(--ink-2)}@keyframes lp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lp-rise{opacity:0;animation:lp-rise .64s cubic-bezier(.22,1,.36,1) forwards}.lp-d1{animation-delay:60ms}.lp-d2{animation-delay:.15s}.lp-d3{animation-delay:.24s}.lp-d4{animation-delay:.34s}.lp-d5{animation-delay:.46s}@keyframes lp-rise-panel{0%{opacity:0;transform:rotate(1.4deg) translateY(22px)}to{opacity:1;transform:rotate(1.4deg) translateY(0)}}.lp-panel.lp-rise{animation-name:lp-rise-panel}@media (prefers-reduced-motion: reduce){.lp-rise{opacity:1;animation:none}.lp-panel{transform:rotate(1.4deg)}}@media (max-width: 920px){.lp-hero{grid-template-columns:1fr;gap:48px;padding-bottom:64px}.lp-hero-art{justify-content:flex-start}.lp-panel{transform:rotate(0)}.lp-panel.lp-rise{animation:lp-rise .64s cubic-bezier(.22,1,.36,1) forwards}.lp-feature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.lp-nav{padding:18px 20px}.lp-nav-link.lp-hide-sm{display:none}.lp-hero{padding:28px 20px 56px}.lp-section-inner{padding:56px 20px}.lp-pillar-grid{grid-template-columns:1fr}.lp-pillar+.lp-pillar{border-left:none;border-top:1.25px solid var(--lp-hair-strong)}.lp-feature-grid{grid-template-columns:1fr}.lp-cta-inner{padding:64px 20px}}:root{--ink: #2a241d;--paper: #fbf7ec;--bone: #fbf7ec;--linen: #fdfbf4;--honey: #e4b769;--honey-300: #ecc982;--moss: #5b7f4f;--moss-600: #466439;--clay: #b96b3c;--ink-2: #5b4a36;--ink-4: #d8cdb6;--paper-2: #f1e9d8;--font-display: "Newsreader", Georgia, serif;--font-sans: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-serif,Georgia,Times New Roman,serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.auth-card{width:100%;max-width:420px;background:var(--linen);border:1.5px solid var(--ink);border-radius:14px;padding:28px 26px;box-shadow:4px 4px 0 var(--ink)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.auth-brand img{width:28px;height:28px}.auth-brand .name{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.auth-title{font-family:var(--font-display);font-size:28px;margin:0 0 4px;font-weight:500;letter-spacing:-.01em}.auth-sub{font-family:var(--font-sans);margin:0 0 18px;color:var(--ink-2);font-size:14px}.auth-card .field label,.auth-card .field input,.auth-foot{font-family:var(--font-sans)}.field{display:block;margin-bottom:12px}.field label{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b5d49;margin-bottom:4px}.field input{width:100%;font:inherit;font-size:15px;padding:9px 11px;border:1.25px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);outline:none}.field input:focus{box-shadow:0 0 0 3px #e4b76973}.btn-primary{width:100%;font-family:var(--font-sans);font-weight:600;font-size:15px;padding:11px 14px;background:var(--moss);color:var(--bone);border:1.5px solid var(--ink);border-radius:10px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;margin-top:6px;transition:transform .14s ease,box-shadow .14s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:3px 3px 0 var(--ink)}.btn-primary:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn-primary:disabled{opacity:.6;cursor:progress}.auth-foot{margin-top:14px;font-size:14px;color:#6b5d49}.auth-foot a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-error{background:#fbe7df;border:1px solid var(--clay);color:#6c3315;padding:8px 10px;border-radius:8px;font-size:13px;margin-bottom:10px}.auth-error a,.auth-error .auth-aux-link{color:#6c3315;font-weight:600;text-decoration:underline}.field-aux{display:flex;justify-content:flex-end;margin-top:4px}.auth-aux-link{background:transparent;border:none;padding:0;font:inherit;font-size:12px;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-secondary{font:inherit;font-size:13px;padding:6px 12px;background:var(--paper-2);border:1.25px solid var(--ink);border-radius:8px;color:var(--ink);cursor:pointer}.btn-secondary:hover{background:#f0c878}.reset-token-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--paper-2);border:1.25px dashed var(--ink);border-radius:8px;margin:6px 0}.reset-token-display code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;color:var(--ink)}.landing{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.landing-card{text-align:center;max-width:540px}.landing-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}.landing-brand img{width:40px;height:40px}.landing-name{font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.landing h1{font-family:var(--font-display);font-size:48px;line-height:1.04;font-weight:500;letter-spacing:-.015em;margin:0 0 16px;color:var(--ink)}.landing p{font-family:var(--font-sans);color:var(--ink-2);font-size:17px;line-height:1.5;margin:0 0 28px}.landing-actions{display:flex;gap:12px;justify-content:center}.landing-actions a{display:inline-block;padding:12px 22px;border-radius:10px;text-decoration:none;font-family:var(--font-sans);font-weight:600;font-size:15px;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transition:transform .14s ease,box-shadow .14s ease}.landing-actions a:hover{transform:translateY(-1px);box-shadow:3px 3px 0 var(--ink)}.landing-actions a:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.landing-actions a.primary{background:var(--moss);color:var(--bone)}.landing-actions a.ghost{background:var(--linen);color:var(--ink)}@media (max-width: 560px){.landing h1{font-size:36px}.landing-actions{flex-direction:column}}
