:root{--yellow: #ffe500;--yellow-dim: #c9b500;--black: #000000;--card: #111111;--card-2: #181818;--border: #262626;--text: #ffffff;--muted: #9ca3af;--green: #22c55e;--green-dark: #15803d;--red: #ef4444;--amber: #f59e0b;--radius: 18px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background:var(--black);color:var(--text);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none}a{color:var(--yellow)}.app{flex:1;display:flex;flex-direction:column;max-width:480px;width:100%;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 84px)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 16px}.app-header img{height:34px}.header-signout{background:none;color:var(--muted);font-size:12px;font-weight:600;text-decoration:underline}.setup{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:24px 4px}.setup img.logo{width:230px;align-self:center;margin-bottom:8px}.setup h1{font-size:26px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.02em}.setup h1 span{color:var(--yellow)}.setup p.sub{color:var(--muted);text-align:center;font-size:14px;line-height:1.55}.setup form{display:flex;flex-direction:column;gap:12px;margin-top:6px}.setup input{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:16px;color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color .15s}.setup input:focus{border-color:var(--yellow)}.btn-primary{background:var(--yellow);color:#000;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.08em;border-radius:12px;padding:16px;transition:transform .1s,opacity .15s}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:default}.form-error{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}.setup .privacy{color:#555;font-size:11px;text-align:center;line-height:1.5}.card{background:linear-gradient(150deg,#1c1c1c,#0d0d0d 55%,#131309);border:1px solid var(--border);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;box-shadow:0 12px 40px #0009}.card:before{content:"";position:absolute;top:-60px;right:-60px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,229,0,.16),transparent 70%)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.card-top img{height:44px}.card-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);text-align:right;line-height:1.6}.card-name{font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;margin-bottom:2px}.card-email{color:var(--muted);font-size:12px;margin-bottom:16px;word-break:break-all}.status-row{display:flex;align-items:center;gap:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.45);border-radius:14px;padding:14px}.status-row.inactive{background:#ef444414;border-color:#ef444466}.status-row.checking{background:#f59e0b14;border-color:#f59e0b59}.tick{width:44px;height:44px;min-width:44px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;animation:tick-pulse 2s ease-in-out infinite}.tick svg{width:24px;height:24px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.tick.bad{background:var(--red);animation:none}.tick.wait{background:var(--amber);animation:spin 1.2s linear infinite}@keyframes tick-pulse{0%,to{box-shadow:0 0 #22c55e8c}50%{box-shadow:0 0 0 12px #22c55e00}}@keyframes spin{to{transform:rotate(360deg)}}.status-text .big{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--green)}.status-row.inactive .status-text .big{color:#fca5a5}.status-row.checking .status-text .big{color:var(--amber)}.status-text .small{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.45}.card-plans{margin-top:16px;display:flex;flex-direction:column;gap:8px}.plan-chip{display:flex;justify-content:space-between;align-items:center;background:var(--card-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600}.plan-chip .until{color:var(--muted);font-size:11px;font-weight:500}.card-clock{margin-top:18px;display:flex;justify-content:space-between;align-items:flex-end}.clock-time{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.03em}.clock-date{color:var(--muted);font-size:12px;margin-top:2px}.card-refresh{background:none;border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:9px 14px;font-size:12px;font-weight:600}.verified-at{margin-top:14px;color:#555;font-size:11px;text-align:center}.section-title{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin:26px 2px 4px}.section-title span{color:var(--yellow)}.section-sub{color:var(--muted);font-size:13px;margin:0 2px 16px;line-height:1.5}.pwallet{display:flex;flex-direction:column;gap:9px}.prow{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .15s}.prow.open{border-color:#ffe50080}.prow-head{width:100%;display:flex;align-items:center;gap:12px;background:none;color:var(--text);text-align:left;padding:11px 12px}.prow-thumb{width:52px;height:52px;min-width:52px;border-radius:10px;object-fit:cover;background:var(--card-2);border:1px solid var(--border)}.prow-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.prow-top{display:flex;align-items:baseline;gap:4px 8px;min-width:0;flex-wrap:wrap}.prow-name{font-size:14.5px;font-weight:800;line-height:1.25}.prow-cat{color:var(--yellow);font-size:9px;font-weight:800;letter-spacing:.12em;white-space:nowrap}.prow-offer{display:flex;align-items:center;gap:6px;color:var(--green);font-size:12.5px;font-weight:700;line-height:1.3}.prow-offer svg{width:13px;height:13px;min-width:13px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.prow-tagline{color:var(--muted);font-size:12.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prow-chevron svg{width:16px;height:16px;stroke:#52525b;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.prow.open .prow-chevron svg{transform:rotate(90deg)}.prow-body{padding:2px 12px 13px;animation:fade-in .18s ease-out}.prow-desc{color:var(--muted);font-size:12.5px;line-height:1.55;margin-bottom:12px}.partner-actions{display:flex;gap:10px}.btn-redeem{flex:1;background:var(--yellow);color:#000;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;border-radius:10px;padding:13px}.btn-site{background:var(--card-2);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:13px;border-radius:10px;padding:13px 16px;text-decoration:none;display:flex;align-items:center}.btn-site.grow{flex:1;justify-content:center;border-color:var(--yellow);color:var(--yellow);font-weight:700}.tabbar{position:fixed;bottom:0;left:0;right:0;background:#0a0a0aeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);display:flex;justify-content:center;gap:8px;padding:8px 16px calc(env(safe-area-inset-bottom,0px) + 8px);z-index:40}.tabbar button{flex:1;max-width:200px;background:none;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:9px 4px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:4px}.tabbar button.active{color:var(--yellow);background:#ffe50014}.tabbar svg{width:21px;height:21px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.redeem-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:linear-gradient(160deg,#052e16,#14532d 45%,#052e16);animation:fade-in .25s ease-out;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 20px) 20px calc(env(safe-area-inset-bottom,0px) + 20px)}.redeem-overlay.failed{background:linear-gradient(160deg,#450a0a,#7f1d1d 45%,#450a0a)}.redeem-overlay.checking-bg{background:linear-gradient(160deg,#1c1917,#292524 45%,#1c1917)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.redeem-inner{max-width:440px;width:100%;margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.redeem-inner img.logo{height:40px;margin-bottom:6px}.big-tick{width:110px;height:110px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;animation:tick-pulse 1.6s ease-in-out infinite;margin:8px 0}.big-tick svg{width:60px;height:60px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.big-tick.bad{background:var(--red);animation:none}.redeem-status{font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#bbf7d0}.redeem-overlay.failed .redeem-status{color:#fecaca}.redeem-member{font-size:20px;font-weight:800;text-transform:uppercase}.redeem-partner-box{background:#00000059;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 18px;width:100%}.redeem-partner-box .label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c;margin-bottom:5px}.redeem-partner-box .partner{font-size:17px;font-weight:800}.redeem-partner-box .offer{font-size:14px;font-weight:700;color:#86efac;margin-top:6px}.redeem-clock{font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em}.redeem-date{font-size:14px;color:#ffffffbf;margin-top:-8px}.live-strip{width:100%;height:8px;border-radius:4px;overflow:hidden;background:#0000004d;position:relative}.live-strip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-55deg,transparent 0 14px,rgba(255,229,0,.85) 14px 28px);animation:strip-move 1.1s linear infinite}@keyframes strip-move{0%{transform:translate(0)}to{transform:translate(39.6px)}}.redeem-note{font-size:11.5px;color:#fff9;line-height:1.55}.btn-close{background:#0006;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.08em;border-radius:12px;padding:15px 40px;margin-top:10px}.install-hint{margin-top:26px;background:var(--card);border:1px dashed #3f3f3f;border-radius:14px;padding:16px;font-size:12.5px;color:var(--muted);line-height:1.6}.install-hint strong{color:var(--text)}.install-hint .btn-install{margin-top:10px;width:100%;background:var(--card-2);border:1px solid var(--yellow);color:var(--yellow);font-weight:700;font-size:13px;border-radius:10px;padding:12px}.hint-dismiss{background:none;color:#555;font-size:11px;text-decoration:underline;margin-top:8px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .2s ease-out}.sheet{width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;background:#131313;border:1px solid var(--border);border-bottom:none;border-radius:22px 22px 0 0;padding:10px 18px calc(env(safe-area-inset-bottom,0px) + 20px);animation:sheet-up .25s ease-out}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-handle{width:40px;height:4px;border-radius:2px;background:#3a3a3a;margin:4px auto 12px}.sheet-title{font-size:18px;font-weight:800;margin-bottom:6px}.field-label{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin:14px 2px 7px}.text-input{display:block;width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:13px 14px;color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color .15s}.text-input:focus{border-color:var(--yellow)}.text-input::placeholder{color:#5a5a5a}.notes-input{display:block;width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:13px 14px;color:var(--text);font-size:16px;font-family:inherit;min-height:92px;outline:none;resize:vertical;transition:border-color .15s}.notes-input:focus{border-color:var(--yellow)}.notes-input::placeholder{color:#5a5a5a}.btn-cancel{width:100%;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:14px;margin-top:2px}.apply-cta{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;background:linear-gradient(150deg,#1b1b1b,#101010 60%,#14120a);border:1.5px dashed rgba(255,229,0,.45);border-radius:var(--radius);color:var(--text);padding:18px;margin-top:16px}.apply-cta-title{font-size:16px;font-weight:800}.apply-cta-sub{color:var(--muted);font-size:12.5px;line-height:1.45}.apply-cta-go{color:var(--yellow);font-size:13px;font-weight:800;margin-top:6px}.form-section{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow);margin:22px 2px 2px;padding-top:14px;border-top:1px solid var(--border)}#frf-partner-application .form-section:first-of-type{border-top:none;padding-top:4px;margin-top:10px}.apply-hint{color:#6b7280;font-size:11.5px;line-height:1.5;margin-top:8px}.apply-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:10px 0 4px}.apply-tick{width:68px;height:68px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.apply-tick svg{width:36px;height:36px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
