body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-0:#08020a;--bg-1:#120308;--color-primary:#f01e02;--color-secondary:#cb1c05;--color-tertiary:#921100;--color-quaternary:#4e0900;--color-text:#f5f5f7;--color-muted:#f5f5f799}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top,#1a0306 0,#08020a 55%,#000 100%);background:radial-gradient(ellipse at top,#1a0306 0,var(--bg-0) 55%,#000 100%);color:#f5f5f7;color:var(--color-text);margin:0;overflow-x:hidden}.app-shell,body{min-height:100vh}.app-shell{padding-bottom:80px;position:relative;z-index:1}.bg-aurora{animation:aurora 12s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 10%,#f01e022e,#0000 40%),radial-gradient(circle at 80% 30%,#cb1c051f,#0000 45%),radial-gradient(circle at 50% 90%,#9211002e,#0000 50%);inset:0;pointer-events:none;position:fixed;z-index:0}@keyframes aurora{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-3%,0) scale(1.05)}}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px 20px 10px;position:relative;z-index:2}.hero-reset{background:#0000;border:1px solid #ffffff1f;border-radius:999px;color:#f5f5f7b3;cursor:pointer;font-size:.78rem;letter-spacing:.22em;margin-top:28px;padding:8px 18px;text-transform:uppercase;transition:border-color .15s,color .15s,background .15s}.hero-reset:hover{background:#f01e0214;border-color:#f01e0299;color:#fff}.site-footer{color:#f5f5f799;color:var(--color-muted);font-size:.85rem;letter-spacing:.2em;margin-top:60px;text-align:center;text-transform:uppercase}.site-header{align-items:center;display:flex;flex-direction:column;padding:44px 20px 0;position:relative;z-index:2}.brand{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f01e020f;border:1px solid #f01e024d;border-radius:999px;display:inline-flex;gap:10px;margin-bottom:28px;padding:6px 14px}.brand-dot{animation:dot-blink 1.4s ease-in-out infinite;background:var(--color-primary);border-radius:50%;box-shadow:0 0 10px var(--color-primary);height:7px;width:7px}@keyframes dot-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.brand-name{color:#ffffffd9;font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.site-title{color:#f5f5f7;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:200;letter-spacing:-.015em;line-height:1.05;margin:0;text-align:center}.site-title-accent{background:linear-gradient(135deg,#ff6b6b,#f01e02 60%,#cb1c05);-webkit-background-clip:text;background-clip:text;color:#0000;font-weight:500}.title-divider{background:linear-gradient(90deg,#0000,#f01e0299,#0000);height:1px;margin:20px 0 14px;width:48px}.site-subtitle{color:#f5f5f78c;font-size:.95rem;font-weight:400;letter-spacing:.04em;margin:0;text-align:center}.heart-stage{align-items:center;display:flex;height:280px;justify-content:center;margin:0 auto;position:relative;width:280px}.heart-svg{animation:heartbeat .85s cubic-bezier(.45,0,.55,1) infinite;animation:heartbeat var(--beat-duration,.85s) cubic-bezier(.45,0,.55,1) infinite;filter:drop-shadow(0 0 18px rgba(240,30,2,.55));height:180px;position:relative;transform-origin:50% 55%;width:180px;z-index:3}.heart-glow{animation:glowpulse .85s ease-in-out infinite;animation:glowpulse var(--beat-duration,.85s) ease-in-out infinite;background:radial-gradient(circle at 50% 50%,#f01e028c 0,#f01e022e 40%,#0000 70%);filter:blur(18px);inset:20%;position:absolute;z-index:1}.heart-pulse-ring{animation:pulsering .85s ease-out infinite;animation:pulsering var(--beat-duration,.85s) ease-out infinite;border:2px solid #f01e0299;border-radius:50%;inset:0;opacity:0;position:absolute;z-index:2}.heart-pulse-ring.delay{animation-delay:.425s;animation-delay:calc(var(--beat-duration, .85s)/2)}.heart-bpm{align-items:center;bottom:-8px;display:flex;flex-direction:column;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:4}.bpm-value{color:#fff;font-family:Bungee,sans-serif;font-size:1.5rem;letter-spacing:2px;text-shadow:0 0 12px #f01e02e6}.bpm-label{color:#ffffff8c;font-size:.7rem;letter-spacing:3px;margin-top:2px}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1.02)}42%{transform:scale(1.22)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes glowpulse{0%,to{opacity:.6;transform:scale(1)}14%{opacity:1;transform:scale(1.15)}42%{opacity:1;transform:scale(1.2)}70%{opacity:.7;transform:scale(1.05)}}@keyframes pulsering{0%{opacity:.8;transform:scale(.7)}80%{opacity:0;transform:scale(1.4)}to{opacity:0;transform:scale(1.4)}}@media (prefers-reduced-motion:reduce){.heart-glow,.heart-pulse-ring,.heart-svg{animation:none}}.age-section{margin:40px auto 0;max-width:760px;padding:0 20px;position:relative;z-index:2}.age-form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff08;border:1px solid #f01e0240;border-radius:18px;box-shadow:0 10px 40px #0006,inset 0 0 30px #f01e020d;padding:24px}.age-label{color:var(--color-muted);display:block;font-size:.85rem;letter-spacing:.2em;margin-bottom:14px;text-align:center;text-transform:uppercase}.age-input-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.age-input-row input[type=number]{-moz-appearance:textfield;background:#00000080;border:1px solid #f01e0266;border-radius:10px;color:#fff;font-size:1.1rem;outline:none;padding:12px 16px;text-align:center;transition:border-color .2s,box-shadow .2s;width:180px}.age-input-row input[type=number]::-webkit-inner-spin-button,.age-input-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.age-input-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f01e0240}.calc-btn{background:linear-gradient(135deg,#f01e02,#921100);border:none;border-radius:10px;box-shadow:0 6px 18px #f01e0259;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.08em;padding:12px 24px;text-transform:uppercase;transition:transform .15s,box-shadow .2s}.calc-btn:hover{box-shadow:0 10px 24px #f01e0280;transform:translateY(-1px)}.calc-btn:active{transform:translateY(0)}.age-error{color:#ffb4a8;font-size:.9rem;margin-top:14px;text-align:center}.zones-grid{grid-gap:14px;animation:zones-in .4s ease-out;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px}@keyframes zones-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.zone-card{background:#ffffff0a;border:1px solid #ffffff0f;border-left:3px solid var(--accent,var(--color-primary));border-radius:12px;padding:18px 16px;transition:transform .2s,background .2s}.zone-card:hover{background:#ffffff0f;transform:translateY(-2px)}.zone-label{color:var(--color-muted);font-size:.75rem;letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.zone-value{color:#fff;font-size:1.35rem;font-weight:600}.tap-section{margin:40px auto 0;max-width:760px;padding:0 20px;position:relative;z-index:2}.tap-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.tap-title{color:#fff;font-size:1.1rem;font-weight:500;letter-spacing:.04em;margin:0}.tap-sub{color:var(--color-muted);font-size:.9rem;margin:4px 0 0}.tap-reset{background:#0000;border:1px solid #ffffff26;border-radius:8px;color:#f5f5f7bf;cursor:pointer;font-size:.85rem;letter-spacing:.08em;padding:8px 14px;text-transform:uppercase;transition:border-color .15s,color .15s,background .15s}.tap-reset:hover:not(:disabled){background:#f01e0214;border-color:#f01e0299;color:#fff}.tap-reset:disabled{cursor:not-allowed;opacity:.35}.tap-pad{-webkit-tap-highlight-color:transparent;align-items:center;background:radial-gradient(circle at 50% 50%,#f01e022e,#f01e020a 60%,#0000 80%),#ffffff08;border:1px solid #f01e024d;border-radius:18px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:180px;outline:none;padding:28px 24px;transition:transform .08s ease,box-shadow .2s ease,border-color .2s;-webkit-user-select:none;user-select:none;width:100%}.tap-pad:hover{border-color:#f01e028c;box-shadow:0 8px 30px #f01e022e}.tap-pad:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #f01e024d}.tap-pad:active{transform:scale(.985)}.tap-pad.pulse-0,.tap-pad.pulse-1{animation:tap-flash .35s ease-out}@keyframes tap-flash{0%{box-shadow:0 0 0 0 #f01e028c}to{box-shadow:0 0 0 24px #f01e0200}}.tap-readout{align-items:baseline;display:flex;gap:10px}.tap-bpm{color:#fff;font-family:Inter,sans-serif;font-size:3.4rem;font-weight:200;letter-spacing:-.02em;line-height:1}.tap-bpm-label{color:var(--color-muted);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase}.tap-meta{align-items:center;color:var(--color-muted);display:flex;font-size:.8rem;gap:14px;letter-spacing:.06em}.tap-quality{border:1px solid #ffffff1f;border-radius:999px;font-size:.7rem;letter-spacing:.18em;padding:3px 10px;text-transform:uppercase}.tap-quality.q-low{border-color:#ffb4a84d;color:#ffb4a8}.tap-quality.q-med{border-color:#ffd23f4d;color:#ffd23f}.tap-quality.q-high{border-color:#7cfc9c4d;color:#7cfc9c}.tap-hint{color:#f5f5f766;font-size:.78rem;letter-spacing:.02em;margin:10px 2px 0}.faq-container{margin:60px auto 0;max-width:760px;padding:0 20px;position:relative;text-align:center;z-index:2}.faq-title{background:linear-gradient(90deg,#f01e02,#ff8c42);-webkit-background-clip:text;background-clip:text;color:#fff;color:#0000;font-family:Bungee,sans-serif;font-size:1.4rem;letter-spacing:.2em;margin:0 0 24px;text-transform:uppercase}.faq-list{display:flex;flex-direction:column;gap:12px;text-align:left}.faq-item{background:#ffffff08;border:1px solid #f01e0233;border-radius:12px;overflow:hidden;transition:border-color .2s,background .2s}.faq-item.open{background:#f01e020d;border-color:#f01e028c}.faq-question{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;justify-content:space-between;padding:16px 20px;text-align:left;width:100%}.faq-chevron{color:var(--color-primary);font-size:1.4rem;line-height:1;transition:transform .25s ease}.faq-item.open .faq-chevron{transform:rotate(45deg)}.faq-answer-wrap{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.open .faq-answer-wrap{max-height:300px}.faq-answer{color:var(--color-muted);font-size:.95rem;line-height:1.55;padding:0 20px 18px}
/*# sourceMappingURL=main.ed38b786.css.map*/