@font-face{font-family:Bebas Neue;src:url(/fonts/BebasNeue.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--font-brand: "Bebas Neue", "Helvetica Neue", Impact, sans-serif;--ink: #141311;--cream: #f4efe6;--cream-dark: #e9e1d2;--tan: #c9b892;--tan-dark: #a08a5c;--white: #fffdf8;--green: #2e7d4f;--red: #b3402e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--ink);color:var(--ink)}button{font:inherit;cursor:pointer;border:none}input{font:inherit}.app-shell{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:32px 16px 60px}.brand{font-family:var(--font-brand);color:var(--cream);font-size:28px;letter-spacing:2px;margin-bottom:28px;text-align:center}.brand span{color:var(--tan)}.card{width:100%;max-width:420px;background:var(--cream);color:var(--ink);border-radius:20px;padding:26px;box-shadow:0 16px 50px #00000059}.card-title{font-size:20px;font-weight:800;margin-bottom:6px}.card-sub{color:#6b6459;font-size:14px;margin-bottom:18px}.field{display:block;margin-bottom:14px;font-size:13px;font-weight:700;color:#6b6459;text-transform:uppercase;letter-spacing:.5px}.field input{display:block;width:100%;margin-top:6px;padding:14px 16px;border-radius:12px;border:1.5px solid var(--cream-dark);background:var(--white);color:var(--ink);font-size:16px}.field input:focus{outline:2px solid var(--tan);border-color:var(--tan)}.pin-input input{letter-spacing:10px;font-size:22px;text-align:center;font-weight:800}.btn-primary{width:100%;padding:16px;border-radius:12px;font-weight:800;font-size:16px;background:var(--ink);color:var(--cream);margin-top:6px}.btn-primary:disabled{opacity:.4}.btn-primary:active:not(:disabled){background:var(--tan-dark)}.btn-link{width:100%;text-align:center;padding:12px;font-weight:700;font-size:14px;color:var(--tan-dark);margin-top:12px;text-decoration:underline}.error-note{color:var(--red);font-weight:600;font-size:14px;margin-top:12px}.info-note{color:var(--tan-dark);font-weight:700;font-size:14px;margin-top:12px}.balance-hero{text-align:center;margin-bottom:22px}.balance-num{font-family:var(--font-brand);font-size:64px;line-height:1;color:var(--ink)}.balance-lbl{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6b6459;margin-top:4px}.tier-pill{display:inline-block;margin-top:10px;padding:6px 16px;border-radius:999px;background:var(--ink);color:var(--tan);font-weight:800;font-size:13px;letter-spacing:.5px}.tier-progress-note{font-size:12px;color:#6b6459;margin-top:6px;text-align:center}.rewards-tabs{width:100%;max-width:420px;display:flex;gap:8px;margin-bottom:14px}.rewards-tab{flex:1;padding:12px 8px;border-radius:12px;font-weight:800;font-size:14px;background:var(--cream);color:#6b6459;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;gap:7px}.rewards-tab svg{flex-shrink:0}.rewards-tab.active{background:var(--ink);color:var(--cream);border-color:var(--tan)}.tier-track-wrap{position:relative;margin-top:24px;padding-top:26px}.tier-walker{position:absolute;top:-4px;width:34px;height:34px;object-fit:contain;transform:translate(-50%);transition:left .4s ease}.tier-track-multi{display:flex;gap:4px}.tier-seg{padding:0 2px}.tier-seg-track{height:8px;border-radius:999px;background:var(--cream-dark);overflow:hidden}.tier-seg-fill{height:100%;background:var(--tan-dark)}.tier-labels{display:flex;margin-top:6px}.tier-label{font-size:10px;font-weight:700;color:#a89e8c;text-align:center;padding:0 2px;line-height:1.25}.tier-label.reached{color:var(--tan-dark)}.section-title{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6b6459;margin:22px 0 10px}.reward-card{border:1.5px solid var(--cream-dark);border-radius:14px;padding:14px 16px;margin-bottom:10px;background:var(--white)}.reward-card.locked{opacity:.5}.reward-name{font-weight:800;font-size:15px}.reward-sub{font-size:12px;color:#6b6459;margin-top:2px}.reward-actions{display:flex;gap:8px;margin-top:10px}.chip-btn{padding:8px 16px;border-radius:999px;font-weight:700;font-size:13px;background:var(--cream);border:1.5px solid var(--cream-dark)}.chip-btn.primary{background:var(--ink);color:var(--cream);border-color:var(--ink)}.chip-btn:disabled{opacity:.4}.claim-code-box{text-align:center;background:var(--ink);color:var(--cream);border-radius:14px;padding:18px;margin:14px 0}.claim-code{font-family:var(--font-brand);font-size:36px;letter-spacing:6px;color:var(--tan)}.claim-code-note{font-size:13px;margin-top:6px;opacity:.85}.topbar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:420px;margin-bottom:14px}.topbar .brand{margin-bottom:0;font-size:20px}.logout-btn{color:var(--tan);font-weight:800;font-size:13px;text-decoration:underline;background:none;border:none;padding:0}.spinner-note{color:var(--cream);text-align:center;opacity:.7}.founding-pill{display:inline-block;margin-top:8px;padding:5px 14px;border-radius:999px;background:var(--tan);color:var(--ink);font-weight:800;font-size:12px;letter-spacing:.3px}.founding-hook{background:var(--cream-dark);border:1.5px dashed var(--tan-dark);border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;color:var(--tan-dark);text-align:center;margin-bottom:16px}.badge-locked-note{background:var(--cream-dark);border-radius:12px;padding:12px 14px;font-size:13px;color:#6b6459;line-height:1.4}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.badge-tile{text-align:center;background:var(--white);border:1.5px solid var(--cream-dark);border-radius:14px;padding:10px 8px 12px}.badge-tile img{width:100%;max-width:110px;aspect-ratio:1;object-fit:contain}.badge-tile.locked{opacity:.35;filter:grayscale(1)}.badge-name{font-size:12px;font-weight:800;margin-top:4px}.ath-card{width:100%;max-width:420px;position:relative;background:var(--white);border:1.5px solid var(--tan);border-radius:16px;padding:16px 18px;margin-bottom:14px}.ath-close{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:999px;background:var(--cream-dark);color:#6b6459;font-size:13px;font-weight:700;line-height:1}.ath-title{font-weight:800;font-size:15px;padding-right:24px}.ath-sub{font-size:13px;color:#6b6459;margin-top:4px}.ath-steps{font-size:13px;color:var(--ink);margin-top:10px;line-height:1.6;background:var(--cream);border-radius:10px;padding:10px 12px}.ath-steps-ios{padding-left:28px}.ath-steps-ios li{margin-bottom:2px}
