:root{--ink: #2b2722;--ink-soft: #5d564d;--paper: #fbf7f1;--paper-2: #f3ebdf;--card: #ffffff;--apricot: #f5a25d;--apricot-dk: #e07e34;--rose: #e88d8d;--sage: #7fa28a;--sky: #cfe3e6;--line: #e6dccb;--shadow: rgba(70, 55, 40, .1);--r-lg: 22px;--r-md: 16px;--r-sm: 11px;--display: "Fraunces", Georgia, serif;--body: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tab-h: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.fp-shell{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;position:relative}.fp-main{flex:1;overflow-y:auto;padding:18px 18px calc(var(--tab-h) + var(--safe-bottom) + 18px)}.fp-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px}.fp-topbar h1{font-family:var(--display);font-weight:500;font-size:1.5rem}.fp-tabs{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#fbf7f1eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;max-width:560px;margin:0 auto}.fp-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.68rem;font-weight:500;color:var(--ink-soft);border:none;background:none;cursor:pointer;transition:color .15s}.fp-tab.active{color:var(--apricot-dk)}.fp-tab svg{width:23px;height:23px}.fp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}.fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:600;font-size:1rem;padding:13px 22px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s,background .2s}.fp-btn-primary{background:var(--apricot);color:#3a2410}.fp-btn-primary:active{transform:scale(.98);background:var(--apricot-dk)}.fp-btn-block{width:100%}.fp-stub{text-align:center;padding:48px 20px;color:var(--ink-soft)}.fp-stub h2{font-family:var(--display);font-weight:500;font-size:1.6rem;color:var(--ink);margin-bottom:8px}.fp-stub .badge{display:inline-block;margin-top:18px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sage);background:var(--paper-2);padding:6px 12px;border-radius:999px}.fp-auth{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:28px 22px;max-width:460px;margin:0 auto}.fp-auth-brand{display:flex;align-items:center;gap:11px;justify-content:center;margin-bottom:8px}.fp-auth-brand svg{width:40px;height:40px}.fp-auth h1{font-family:var(--display);font-weight:500;font-size:1.9rem;text-align:center;margin-bottom:6px}.fp-auth .sub{text-align:center;color:var(--ink-soft);margin-bottom:26px}.fp-field{margin-bottom:16px}.fp-field label{display:block;font-weight:500;font-size:.92rem;margin-bottom:6px}.fp-field input{width:100%;font-family:var(--body);font-size:1rem;color:var(--ink);padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}.fp-field input:focus{outline:none;border-color:var(--apricot);box-shadow:0 0 0 3px #f5a25d2e}.fp-field .hint{font-size:.82rem;color:var(--ink-soft);margin-top:5px}.fp-check{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--ink-soft);margin-bottom:18px}.fp-check input{width:19px;height:19px;margin-top:2px;flex:0 0 auto;accent-color:var(--apricot-dk)}.fp-msg{padding:12px 14px;border-radius:var(--r-sm);font-size:.92rem;margin-bottom:16px}.fp-msg.err{background:#fbe9e7;color:#8a3326;border:1px solid #efc3bc}.fp-msg.ok{background:#e8f1ea;color:#2f5a3e;border:1px solid #bcd8c5}.fp-linkbtn{background:none;border:none;color:var(--apricot-dk);font-family:var(--body);font-size:.95rem;font-weight:600;cursor:pointer;padding:4px}.fp-switch{text-align:center;margin-top:18px;color:var(--ink-soft);font-size:.95rem}.fp-steps{display:flex;gap:6px;justify-content:center;margin-bottom:22px}.fp-steps span{width:28px;height:4px;border-radius:2px;background:var(--line)}.fp-steps span.on{background:var(--apricot)}.fp-guidelines{background:var(--paper-2);border-radius:var(--r-md);padding:18px;margin-bottom:18px;font-size:.92rem;color:var(--ink-soft)}.fp-guidelines li{margin:0 0 8px 18px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
