:root{--bg:#eff7f4;--card:#fff;--accent:#0f8c8c;--accent-soft:rgba(15,140,140,.15);--ink:#0f2b33;--muted:#5d6e73;--line:rgba(15,43,51,.12);font-family:Space Grotesk,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);min-height:100%}body{justify-content:center;align-items:stretch}.frame,body{display:flex}.frame{width:min(1200px,100%);min-height:100vh;padding:clamp(1.5rem,5vw,4rem);flex-direction:column;gap:2rem}.canvas{flex:1 1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.panel{background:var(--card);border-radius:32px;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--line);box-shadow:0 25px 70px rgba(15,43,51,.08);gap:1.5rem}.hero,.panel{display:flex;flex-direction:column}.hero{gap:1.25rem}.hero-title{font-size:clamp(2rem,6vw,3.6rem);letter-spacing:-.04em;margin:0}.hero-sub{font-size:clamp(1rem,3vw,1.25rem);color:var(--muted);margin:0}.controls,.view-row{display:flex;gap:.75rem;flex-wrap:wrap}.pill{border:1px solid var(--line);color:var(--ink)}.pill.active{background:var(--accent);border-color:var(--accent)}.pill.danger{background:#dc3545;color:#fff;border-color:#dc3545}.pill.danger:hover{background:#c82333;border-color:#c82333}.metric{font-size:clamp(3rem,8vw,5.5rem);font-weight:600;letter-spacing:-.03em;position:relative;display:inline-flex;align-items:baseline;transition:transform .1s ease}.metric-pulse{animation:metric-bounce .15s ease-out}@keyframes metric-bounce{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.beat-indicator{position:relative;margin-left:.75rem;display:inline-flex;align-items:center;justify-content:center}.beat-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);opacity:.4;transition:all .15s ease}.beat-dot-active{opacity:1;animation:beat-dot-pulse .3s ease-out}@keyframes beat-dot-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(15,140,140,.6)}50%{transform:scale(1.3);box-shadow:0 0 0 8px rgba(15,140,140,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(15,140,140,0)}}.tap-counter{color:var(--accent);font-weight:500}.pulse-zone{gap:1.25rem;min-height:100%;justify-content:space-between}.pulse-zone,.pulse-zone-header{display:flex;flex-direction:column}.pulse-zone-header{gap:.5rem}.status-label{margin:0;color:var(--muted);font-size:1rem}.bpm-details{margin-top:.75rem;display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}.pulse-zone-idle{justify-content:center}.pulse-zone-frozen{justify-content:flex-start}.idle-visual{flex-direction:column;padding:2rem 1rem;gap:1rem;flex:1 1;min-height:200px}.heart-icon-button,.idle-visual{display:flex;align-items:center;justify-content:center}.heart-icon-button{background:none;border:none;font-size:4rem;animation:pulse-heart 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(15,140,140,.2));cursor:pointer;transition:all .2s ease;padding:0;border-radius:50%;width:120px;height:120px;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.heart-icon-button:hover{transform:scale(1.1);filter:drop-shadow(0 6px 16px rgba(15,140,140,.3))}.heart-icon-button:active{transform:scale(.95);filter:drop-shadow(0 2px 8px rgba(15,140,140,.4))}.heart-icon-button:focus{outline:2px solid var(--accent,#0f8c8c);outline-offset:4px}@keyframes pulse-heart{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.idle-hint{margin:0;color:var(--muted);font-size:1rem;text-align:center;max-width:280px}.zone-bar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;bottom:0}.zone-bar-hint{font-size:.7rem;color:var(--muted);opacity:.4;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.zone-bar{width:100%;height:12px;border-radius:999px;background:linear-gradient(90deg,#d7f5f1,#59c9a5 50%,#ff9d66);position:relative;min-height:12px}.zone-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--ink);border:3px solid var(--card);transition:left .2s ease}.analysis{background:var(--accent-soft);border-radius:24px;padding:1rem 1.25rem;font-size:.95rem;line-height:1.4;animation:fade-in .3s ease-in;display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(15,140,140,.2)}.analysis-icon{font-size:1.2rem;color:var(--accent);flex-shrink:0;margin-top:.1rem}.analysis-text{flex:1 1}@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.diagram{width:100%;min-height:220px;border-radius:28px;background:radial-gradient(circle at 20% 20%,rgba(15,140,140,.25),transparent),#f6fffb;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}.diagram,.wrist{position:relative}.wrist{width:180px;height:180px;border-radius:45% 55% 40% 60%;background:linear-gradient(135deg,#ffe8d2,#ffd2b3)}.wrist:after,.wrist:before{content:"";position:absolute;background:rgba(15,43,51,.15);border-radius:999px}.wrist:before{width:80px;height:18px;top:35%;left:18%}.wrist:after{width:15px;height:15px;top:45%;right:15%;background:var(--accent);box-shadow:0 0 20px rgba(15,140,140,.5)}.diagram-labels{position:absolute;bottom:1rem;display:flex;gap:1rem;font-size:.85rem;color:var(--muted)}.tap-surface{border:1px dashed var(--line);border-radius:24px;padding:1.5rem;text-align:center;background:#f4fffd;cursor:pointer;transition:all .2s ease;transition-property:border-color,background,transform,box-shadow;position:relative;overflow:hidden;width:100%;font-family:inherit;font-size:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none}.tap-surface:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tap-surface-mobile{padding:2.5rem;min-height:200px}.accuracy-hint{font-size:.85rem;color:var(--accent);margin:.5rem 0 0;font-weight:500;opacity:.9}.tutorial-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.95);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:24px}.tutorial-content{background:var(--card);padding:1.5rem;border-radius:16px;border:1px solid var(--line);box-shadow:0 8px 25px rgba(15,43,51,.15);max-width:280px;text-align:center}.tutorial-content h3{margin:0 0 1rem;font-size:1.2rem;color:var(--accent)}.tutorial-content ol{text-align:left;margin:1rem 0;padding-left:1.2rem}.tutorial-content li{margin-bottom:.5rem;line-height:1.4}.tutorial-close{margin-top:1rem;width:100%}.tap-surface-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1}.tap-heart{font-size:2rem;transition:transform .15s ease;display:inline-block}.tap-heart-pulse{animation:tap-heart-beat .2s ease-out}@keyframes tap-heart-beat{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.tap-ripple{position:absolute;top:50%;left:50%;width:20px;height:20px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%) scale(0);animation:tap-ripple-expand .5s ease-out forwards;pointer-events:none}@keyframes tap-ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:.5}to{transform:translate(-50%,-50%) scale(15);opacity:0}}.tap-surface:hover{border-color:var(--accent);background:rgba(15,140,140,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,140,140,.1)}.tap-surface-active,.tap-surface:active{border-color:var(--accent);background:rgba(15,140,140,.08);transform:scale(.97);box-shadow:0 2px 8px rgba(15,140,140,.15)}.footnote{font-size:.85rem;color:var(--muted);text-align:center}.seo-content{max-width:900px;margin-left:auto;margin-right:auto}.seo-content table{margin:1.5rem 0}.seo-content table td,.seo-content table th{border:1px solid var(--line)}.seo-content table tbody tr:hover{background:var(--accent-soft)}.seo-content h2{color:var(--accent);font-weight:600}.seo-content h3{color:var(--ink);font-weight:600}.seo-content ol,.seo-content ul{margin-bottom:1.5rem}.seo-content li{margin-bottom:.5rem}.feedback-widget{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.feedback-toggle{border:none;background:var(--ink);color:#fff;padding:.85rem 1.5rem;border-radius:999px;font-size:.95rem;cursor:pointer;box-shadow:0 12px 25px rgba(15,43,51,.25);transition:transform .2s ease,box-shadow .2s ease}.feedback-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(15,43,51,.3)}.feedback-panel{width:min(360px,calc(100vw - 2.5rem));background:#fff;border-radius:24px;border:1px solid var(--line);padding:1.25rem;box-shadow:0 25px 60px rgba(15,43,51,.2);animation:fade-in .3s ease}.feedback-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.feedback-panel-label{margin:0;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.feedback-panel-header h3{margin:.25rem 0 0;font-size:1.1rem}.feedback-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted)}.feedback-form{display:flex;flex-direction:column;gap:.9rem;margin-bottom:.5rem}.feedback-form label{font-size:.9rem;display:flex;flex-direction:column;gap:.35rem;color:var(--muted)}.feedback-form input,.feedback-form textarea{border-radius:16px;border:1px solid var(--line);padding:.75rem 1rem;font-size:.95rem;font-family:inherit;background:#f9fdfc}.feedback-form textarea{resize:vertical}.feedback-message{margin:.35rem 0 .75rem;font-size:.9rem}.feedback-message-success{color:#0f8c8c}.feedback-message-error{color:#c05746}.feedback-list{display:flex;flex-direction:column;gap:.75rem}.feedback-list-headline{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}.feedback-list-headline h4{margin:0;color:var(--ink)}.feedback-empty{margin:.5rem 0 0;font-size:.9rem;color:var(--muted)}.feedback-item{border:1px solid var(--line);border-radius:18px;padding:.85rem;display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;background:#fdfefe}.feedback-item h5{margin:0 0 .35rem;font-size:1rem}.feedback-item p{margin:0;font-size:.9rem;color:var(--muted)}.feedback-item-time{display:inline-block;margin-top:.4rem;font-size:.75rem;color:var(--muted)}.feedback-vote{border:none;background:var(--accent-soft);color:var(--accent);border-radius:16px;padding:.4rem .75rem;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:.1rem;font-weight:600;cursor:pointer}.feedback-vote small{font-size:.75rem;font-weight:500;color:var(--muted)}.feedback-vote-disabled,.feedback-vote:disabled{opacity:.6;cursor:not-allowed}.reddit-share{display:flex;flex-direction:column;gap:1rem}.reddit-share-header{display:flex;flex-direction:column;gap:.5rem}.reddit-share-header h2{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.reddit-share-button{border:none;border-radius:20px;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(120deg,#ff7849,#ff4500);color:#fff;font-weight:600;cursor:pointer;width:100%;text-align:left;box-shadow:0 15px 35px rgba(255,69,0,.35);transition:transform .2s ease,box-shadow .2s ease}.reddit-share-button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(255,69,0,.45)}.reddit-share-button-full small{display:block;font-weight:400;opacity:.9;margin-top:.15rem;line-height:1.3}.reddit-share-icon{display:inline-flex;width:36px;height:36px;border-radius:12px;background:hsla(0,0%,100%,.2);align-items:center;justify-content:center}.reddit-share-icon svg{width:22px;height:22px}.comment-page{gap:1.5rem;padding-bottom:4rem}.comment-form,.comment-page{display:flex;flex-direction:column}.comment-form{gap:.9rem}.comment-form label{font-size:.9rem;color:var(--muted);display:flex;flex-direction:column;gap:.35rem}.comment-form input,.comment-form textarea{border-radius:16px;border:1px solid var(--line);padding:.75rem 1rem;font-size:.95rem;font-family:inherit;background:#f9fdfc}.comment-form textarea{resize:vertical}.comment-form-message{margin:0;font-size:.9rem}.comment-form-message-success{color:var(--accent)}.comment-form-message-error{color:#c05746}.comment-list,.history-panel{display:flex;flex-direction:column;gap:.75rem}.history-empty{margin:0;font-size:.95rem;color:var(--muted)}.history-trend{margin:0;font-size:.9rem;color:var(--muted)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.history-item{border-radius:14px;border:1px dashed var(--line);padding:.6rem .8rem;background:#f9fffd}.history-bpm{font-weight:600;font-size:1.1rem}.history-bpm span{margin-left:.25rem}.history-bpm span,.history-meta{font-size:.8rem;color:var(--muted)}.history-meta{margin:.1rem 0 0}.history-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.history-controls{display:flex;gap:.5rem;flex-wrap:wrap}.history-header-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.history-chart{margin-top:.5rem;border-radius:14px;border:1px solid var(--line);padding:.6rem .8rem .5rem;background:#f4fffd}.history-chart svg{width:100%;height:48px;display:block}.history-chart-caption{margin-top:.25rem;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between}.history-chart-caption span{font-weight:500}.history-pagination{margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.history-page-label{font-size:.8rem;color:var(--muted)}@media (max-width:768px){.panel{padding:1.25rem}.diagram{min-height:180px}.seo-content table{font-size:.85rem}.seo-content table td,.seo-content table th{padding:.5rem}.feedback-widget{bottom:1rem;right:1rem}.reddit-share-body{grid-template-columns:1fr}}.blog-page{gap:0}.blog-article{gap:2rem}.blog-hero h1{margin:0;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.1}.blog-intro{font-size:1.1rem;color:var(--muted)}.blog-section{display:flex;flex-direction:column;gap:.9rem}.blog-section h2{margin:0;font-size:clamp(1.4rem,3vw,2rem);color:var(--accent)}.blog-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.blog-step-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:#f9fffd}.blog-table-wrapper{overflow-x:auto}.blog-table-wrapper table{width:100%;border-collapse:collapse;font-size:.95rem}.blog-table-wrapper td,.blog-table-wrapper th{border:1px solid var(--line);padding:.75rem;text-align:left}.blog-note{font-size:.95rem;color:var(--muted);background:var(--accent-soft);border-radius:14px;padding:.75rem 1rem}.blog-cta{align-items:flex-start}.blog-cta-note{margin:0;font-size:.95rem;color:var(--muted)}.blog-inline-cta{font-weight:600;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.nav{position:fixed;top:0;left:0;right:0;height:56px;background:var(--accent,#0f8c8c);color:#fff;justify-content:space-between;padding:0 1rem;gap:1rem;box-shadow:0 2px 6px rgba(0,0,0,.08);z-index:1200}.nav,.nav-left{display:flex;align-items:center}.nav-left{gap:.6rem}.logo{font-size:1.05rem;margin-right:.25rem}.nav-title{color:#fff;font-weight:600;text-decoration:none!important}.nav-right{display:flex;gap:.75rem;align-items:center}.nav-link{text-decoration:none!important;padding:.45rem 1rem;display:inline-flex;align-items:center;gap:.5rem;border-radius:12px;transition:background .18s ease,transform .08s ease,color .18s ease,box-shadow .18s ease;line-height:1;font-weight:600;letter-spacing:.01em}.nav-link,.nav-link svg{color:hsla(0,0%,100%,.95)}.nav-link svg{background:hsla(0,0%,100%,.06);padding:6px;border-radius:8px;width:22px;height:22px;display:inline-block}.nav a,.nav a:active,.nav a:focus,.nav a:hover,.nav a:link,.nav a:visited,.nav-link,.nav-link:active,.nav-link:focus,.nav-link:hover,.nav-link:link,.nav-link:visited{text-decoration:none!important}.pill{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.12);font-weight:700;padding:.5rem .9rem}.nav-link:hover,.pill:hover{background:hsla(0,0%,100%,.18);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}.nav-link:focus{outline:2px solid hsla(0,0%,100%,.14);outline-offset:4px}@media (max-width:720px){.nav-right{gap:.4rem}.nav-title{font-size:.95rem}}.nav-lang{display:inline-flex;align-items:center;gap:.4rem}.lang-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;color:var(--ink,#000);border:1px solid var(--line,rgba(15,43,51,.12));padding:.35rem .7rem;border-radius:999px;font-weight:700;cursor:pointer}.roadmap-preview-title{margin:0 0 .5rem;font-size:clamp(1.6rem,3.2vw,2.3rem)}.roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.roadmap-column{border-radius:20px;border:1px solid var(--line);padding:1rem;background:#f9fffd;display:flex;flex-direction:column;gap:.75rem}.roadmap-column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.roadmap-column-header h2{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.roadmap-column-header span,.roadmap-empty{font-size:.9rem;color:var(--muted)}.roadmap-empty{margin:0}.roadmap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.roadmap-item{border-radius:14px;border:1px dashed var(--line);padding:.7rem .8rem;background:#fff}.roadmap-item-main h3{margin:0 0 .25rem;font-size:.98rem}.roadmap-item-main p{margin:0;font-size:.9rem;color:var(--muted)}.roadmap-item-meta{margin-top:.4rem;display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.roadmap-votes{font-weight:600}.seo-content-wrapper{line-height:1.8;color:var(--ink)}.seo-intro{font-size:1.1rem;margin-bottom:1.5rem}.seo-heading{font-size:clamp(1.5rem,3vw,2rem);margin-top:2.5rem;margin-bottom:1rem}.seo-subheading{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-top:2rem;margin-bottom:1rem}.seo-body,.seo-steps{margin-bottom:1.5rem}.seo-steps{padding-left:1.5rem}.seo-step-item{margin-bottom:.75rem}.seo-table-wrapper{overflow-x:auto;margin-bottom:2rem}.seo-table{width:100%;border-collapse:collapse;font-size:.95rem}.seo-table-header{background:var(--accent-soft);border-bottom:2px solid var(--accent)}.seo-table-row{border-bottom:1px solid var(--line)}.seo-table-cell{padding:.75rem;text-align:left;font-weight:600}.seo-table-header-cell{font-weight:600}.seo-table-center{text-align:center}.seo-note{font-size:.9rem;color:var(--muted);margin-bottom:2rem;font-style:italic}.seo-intensity-list{padding-left:1.5rem;margin-bottom:1.5rem}.seo-intensity-item{margin-bottom:.75rem}.seo-start-body{font-size:1.1rem;margin-bottom:1.5rem}.metric-unit{font-size:1rem;margin-left:.5rem;color:var(--muted)}.zone-indicator-positioned{position:absolute;top:50%;transform:translate(-50%,-50%)}.tap-hint-text{margin:0;font-size:1.15rem}.section-margin-top{margin-top:2rem}.hero-sub-margin{margin-bottom:.5rem}.roadmap-desc{margin-bottom:1rem;color:var(--muted)}.pause-image{width:100%;height:auto;object-fit:contain}.pill{border:1px solid var(--line,rgba(15,43,51,.12));background:transparent;color:var(--ink,#0f2b33);padding:.55rem 1.25rem;border-radius:999px;cursor:pointer;font-size:.95rem;transition:border-color .2s ease,color .2s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:600;letter-spacing:.01em}.pill.active{background:var(--accent,#0f8c8c);color:#fff}.pill.active,.pill:hover{border-color:var(--accent,#0f8c8c)}.pill:hover{background:rgba(15,140,140,.05)}.pill.active:hover{background:var(--accent,#0f8c8c);border-color:var(--accent,#0f8c8c)}.pill:disabled{opacity:.6;cursor:not-allowed}button[type=button]{font-family:inherit;outline:none}button[type=button]:focus-visible{outline:2px solid var(--accent,#0f8c8c);outline-offset:2px}input[type=email],input[type=password]{border:1px solid var(--line,rgba(15,43,51,.12));border-radius:12px;background:var(--card,#fff);color:var(--ink,#0f2b33);box-shadow:inset 0 1px 0 rgba(15,43,51,.02);font-size:.98rem;transition:border-color .2s ease,box-shadow .2s ease}input[type=email]:focus,input[type=password]:focus{outline:none;border-color:var(--accent,#0f8c8c);box-shadow:0 0 0 3px rgba(15,140,140,.1)}.login-button-primary{background:var(--accent,#0f8c8c);color:#fff;border:1px solid var(--accent,#0f8c8c);border-radius:8px;font-weight:600;font-size:1rem;padding:1rem 2rem;min-height:56px;width:100%;max-width:400px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s ease;box-shadow:0 1px 3px rgba(15,140,140,.1)}.login-button-primary:hover:not(:disabled){background:#0a6b6b;border-color:#0a6b6b;box-shadow:0 4px 12px rgba(15,140,140,.2);transform:translateY(-1px)}.login-button-secondary{background:transparent;color:var(--muted,#5d6e73);border:1px solid var(--line,rgba(15,43,51,.12));border-radius:8px;font-weight:500;font-size:.9rem;padding:.75rem 1.5rem;min-height:44px;width:100%;max-width:320px;margin:0 auto;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.login-button-secondary:hover:not(:disabled){background:rgba(15,43,51,.02);border-color:rgba(15,43,51,.2);color:var(--ink,#0f2b33)}.social-login-button{background:var(--card,#fff);color:var(--ink,#0f2b33);border:1px solid var(--line,rgba(15,43,51,.12));border-radius:8px;font-size:.875rem;padding:.75rem 1rem;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;font-weight:500}.social-login-button:hover:not(:disabled){background:#f9fafb;border-color:rgba(15,43,51,.2);box-shadow:0 2px 8px rgba(15,43,51,.05)}.social-login-button svg{width:12px;height:12px;flex-shrink:0}.login-signup-highlight{border:2px dashed var(--line,rgba(15,43,51,.12))!important;background:rgba(15,140,140,.02)!important;border-radius:12px!important;padding:1rem!important;margin:0 auto!important;max-width:320px!important}.login-signup-text{font-size:1rem!important;font-weight:500!important;color:var(--ink,#0f2b33)!important;margin:0!important}.login-signup-link{font-weight:700!important;color:var(--accent,#0f8c8c)!important;text-decoration-thickness:2px!important;transition:all .2s ease!important}.login-signup-link:hover{text-decoration-thickness:3px!important}.login-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:1rem}.login-container{width:100%;max-width:380px;display:flex;flex-direction:column;gap:2rem}.login-header{text-align:center;margin-bottom:1rem}.login-title{font-size:2rem;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 .5rem;line-height:1.2}.login-subtitle{font-size:1rem;color:var(--muted);margin:0;line-height:1.5}.login-main{display:flex;flex-direction:column;gap:2rem}.login-card{background:var(--card);border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);overflow:hidden}.login-form{padding:2rem}.form-field{margin-bottom:1.5rem}.form-field:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--ink);margin-bottom:.5rem;letter-spacing:.01em}.form-input{width:100%;padding:.875rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:1rem;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,140,140,.1)}.form-input::placeholder{color:var(--muted);opacity:.7}.form-input-container{position:relative;display:flex;align-items:center}.form-input-with-icon{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover:not(:disabled){color:var(--ink)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.password-toggle-icon{width:1.25rem;height:1.25rem}.form-message{margin-bottom:1.5rem;padding:1rem;border-radius:8px;border:1px solid}.form-message-error{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2);color:#dc2626}.form-message-success{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.2);color:#16a34a}.form-message-content{display:flex;align-items:flex-start;gap:.75rem}.form-message-icon{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.125rem}.form-message-title{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.form-message-text{font-size:.875rem;line-height:1.4}.form-message-debug{font-size:.75rem;margin-top:.5rem;opacity:.75}.form-terms{font-size:.875rem;color:var(--muted);text-align:center;margin-bottom:1.5rem;line-height:1.4}.form-button{width:100%;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;font-family:inherit;border:1px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.form-button-primary:hover:not(:disabled){background:#0a6b6b;border-color:#0a6b6b;transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,140,140,.3)}.form-button-spinner{width:1.25rem;height:1.25rem;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}.form-actions{margin-bottom:2rem;text-align:center}.form-link-button{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:all .2s ease}.form-link-button:hover{text-decoration-thickness:2px}.form-divider{position:relative;margin:2rem 0;text-align:center}.form-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line)}.form-divider-text{background:var(--card);color:var(--muted);font-size:.875rem;font-weight:500;padding:0 1rem;position:relative;z-index:1}.social-login{display:flex;flex-direction:column;gap:.75rem}.social-button{width:100%;padding:.875rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:2.75rem}.social-button:hover:not(:disabled){background:#f9fafb;border-color:rgba(15,43,51,.3);transform:translateY(-1px);box-shadow:0 2px 8px rgba(15,43,51,.1)}.social-button:disabled{opacity:.6;cursor:not-allowed}.social-button-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.social-button-github .social-button-icon{color:#333}.login-footer{text-align:center}.signup-section{padding:1.5rem;background:rgba(15,140,140,.03);border:1px solid rgba(15,140,140,.1);border-radius:12px}.signup-text{font-size:.95rem;color:var(--ink);margin:0;font-weight:500}.signup-link{color:var(--accent);font-weight:600;text-decoration:none;transition:all .2s ease}.signup-link:hover{text-decoration:underline;text-decoration-thickness:2px}@media (max-width:640px){.login-container{max-width:100%;gap:1.5rem}.login-title{font-size:1.75rem}.login-subtitle{font-size:.95rem}.login-form{padding:1.5rem}.form-button{padding:.75rem 1.25rem;font-size:.95rem}.social-button{padding:.75rem .875rem;font-size:.8rem}.signup-section{padding:1.25rem}}@media (max-width:480px){.login-page{padding:.5rem}.login-form{padding:1.25rem}.login-title{font-size:1.5rem}.form-input{padding:.75rem;font-size:.95rem}}.register-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:1rem}.register-container{width:100%;max-width:380px;display:flex;flex-direction:column;gap:2rem}.register-header{text-align:center;margin-bottom:1rem}.register-title{font-size:2rem;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 .5rem;line-height:1.2}.register-subtitle{font-size:1rem;color:var(--muted);margin:0;line-height:1.5}.register-main{display:flex;flex-direction:column;gap:2rem}.register-card{background:var(--card);border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);overflow:hidden}.register-form{padding:2rem}.register-footer{text-align:center}.signin-section{padding:1.5rem;background:rgba(15,140,140,.03);border:1px solid rgba(15,140,140,.1);border-radius:12px}.signin-text{font-size:.95rem;color:var(--ink);margin:0;font-weight:500}.signin-link{color:var(--accent);font-weight:600;text-decoration:none;transition:all .2s ease}.signin-link:hover{text-decoration:underline;text-decoration-thickness:2px}@media (max-width:640px){.register-container{max-width:100%;gap:1.5rem}.register-title{font-size:1.75rem}.register-subtitle{font-size:.95rem}.register-form{padding:1.5rem}.signin-section{padding:1.25rem}}@media (max-width:480px){.register-page{padding:.5rem}.register-form{padding:1.25rem}.register-title{font-size:1.5rem}.form-input{padding:.75rem;font-size:.95rem}}.reset-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:1rem}.reset-container{width:100%;max-width:380px;display:flex;flex-direction:column;gap:2rem}.reset-header{text-align:center;margin-bottom:1rem}.reset-title{font-size:2rem;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 .5rem;line-height:1.2}.reset-subtitle{font-size:1rem;color:var(--muted);margin:0;line-height:1.5}.reset-main{display:flex;flex-direction:column;gap:2rem}.reset-card{background:var(--card);border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);overflow:hidden}.reset-form{padding:2rem}.reset-footer{text-align:center}@media (max-width:640px){.reset-container{max-width:100%;gap:1.5rem}.reset-title{font-size:1.75rem}.reset-subtitle{font-size:.95rem}.reset-form{padding:1.5rem}}@media (max-width:480px){.reset-page{padding:.5rem}.reset-form{padding:1.25rem}.reset-title{font-size:1.5rem}.form-input{padding:.75rem;font-size:.95rem}}.pricing-page{min-height:100vh;background:var(--bg);padding:2rem 1rem}.pricing-container{max-width:1200px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:4rem}.pricing-title{font-size:3rem;font-weight:700;color:var(--ink);margin:0 0 1rem;letter-spacing:-.025em;display:flex;flex-direction:column;gap:.5rem;align-items:center}.pricing-title-en{font-size:2.5rem;font-weight:700;color:var(--ink)}.pricing-title-es{font-size:1.75rem;font-weight:600;color:var(--muted);font-style:italic}.pricing-subtitle{font-size:1.25rem;color:var(--muted);max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem;text-align:center}.pricing-subtitle-en{font-size:1.125rem;color:var(--ink);font-weight:500}.pricing-subtitle-es{font-size:1rem;color:var(--muted);font-style:italic}.pricing-notice{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#dc2626;padding:1rem;border-radius:8px;margin-top:1rem;display:inline-block}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:4rem;max-width:1000px;margin-left:auto;margin-right:auto}.pricing-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:2rem;position:relative;transition:all .3s ease}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(15,43,51,.1)}.pricing-card-featured{border-color:var(--accent);box-shadow:0 8px 32px rgba(15,140,140,.15)}.pricing-card-current{border-color:var(--accent);background:rgba(15,140,140,.02)}.pricing-card-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;display:flex;flex-direction:column;gap:.125rem;align-items:center}.pricing-badge-en{font-size:.8rem;font-weight:600}.pricing-badge-es{font-size:.7rem;font-weight:500;opacity:.9}.pricing-card-header{text-align:center;margin-bottom:2rem}.pricing-plan-name{font-size:1.5rem;font-weight:600;color:var(--ink);margin:0 0 1rem;display:flex;flex-direction:column;gap:.25rem;align-items:center}.pricing-plan-name-en{font-size:1.25rem;font-weight:600;color:var(--ink)}.pricing-plan-name-es{font-size:1rem;font-weight:500;color:var(--muted);font-style:italic}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.pricing-amount{font-size:3rem;font-weight:700;color:var(--ink)}.pricing-period{font-size:1rem;color:var(--muted);font-weight:500}.pricing-features{list-style:none;padding:0;margin:0 0 2rem}.pricing-feature{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.95rem;color:var(--ink)}.pricing-feature-check{color:var(--accent);font-weight:700;font-size:1.1rem;flex-shrink:0}.pricing-feature-text{display:flex;flex-direction:column;gap:.25rem}.pricing-feature-en{font-size:.95rem;color:var(--ink);font-weight:500}.pricing-feature-es{font-size:.85rem;color:var(--muted);font-style:italic}.pricing-button{width:100%;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;border:2px solid transparent;cursor:pointer;transition:all .2s ease;text-align:center}.pricing-button:disabled{opacity:.6;cursor:not-allowed}.pricing-button-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.pricing-button-primary:hover:not(:disabled){background:#0a6b6b;border-color:#0a6b6b;transform:translateY(-1px)}.pricing-button-secondary{background:transparent;color:var(--muted);border-color:var(--line)}.pricing-button-secondary:hover:not(:disabled){background:rgba(15,43,51,.05);border-color:rgba(15,43,51,.3)}.pricing-cta{text-align:center;margin-top:4rem;padding:3rem;background:var(--card);border-radius:16px;border:1px solid var(--line)}.pricing-cta h3{font-size:1.75rem;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem;text-align:center}.pricing-cta h3,.pricing-cta-en{font-weight:600;color:var(--ink)}.pricing-cta-en{font-size:1.5rem}.pricing-cta-es{font-size:1.25rem;font-weight:500;color:var(--muted);font-style:italic}.pricing-cta p{font-size:1.125rem;color:var(--muted);margin:0 0 2rem;display:flex;flex-direction:column;gap:.5rem;text-align:center}.pricing-cta-text-en{font-size:1rem;color:var(--ink);font-weight:500}.pricing-cta-text-es{font-size:.95rem;color:var(--muted);font-style:italic}.pricing-cta-button{display:inline-block;padding:1rem 2rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:8px;transition:all .2s ease;display:flex;flex-direction:column;gap:.25rem;align-items:center}.pricing-cta-button,.pricing-cta-button-en{font-weight:600;font-size:1rem}.pricing-cta-button-es{font-size:.9rem;font-weight:500;opacity:.9}.pricing-cta-button:hover{background:#0a6b6b;transform:translateY(-1px)}@media (max-width:768px){.pricing-title{font-size:2.25rem}.pricing-subtitle{font-size:1.125rem}.pricing-grid{grid-template-columns:1fr;gap:1.5rem}.pricing-card{padding:1.5rem}.pricing-faq-grid{grid-template-columns:1fr}.pricing-cta{padding:2rem}}@media (max-width:480px){.pricing-page{padding:1rem .5rem}.pricing-title{font-size:2rem}.pricing-amount{font-size:2.5rem}.pricing-button{padding:.875rem 1.5rem;font-size:.95rem}}.membership-banner{margin-bottom:2rem;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}.membership-content{padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.membership-info{display:flex;flex-direction:column;gap:.25rem}.membership-tier{font-size:.875rem;font-weight:600;color:var(--accent)}.membership-upgrade{font-size:.875rem;color:var(--muted)}.membership-upgrade-button{background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-size:.875rem;font-weight:600;transition:all .2s ease;flex-shrink:0}.membership-upgrade-button:hover{background:#0a6b6b;transform:translateY(-1px)}@media (max-width:640px){.membership-content{flex-direction:column;align-items:stretch;gap:1rem}.membership-upgrade-button{text-align:center}}.checkout-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.checkout-container{max-width:500px;width:100%}.checkout-card{background:var(--card);border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:3rem 2rem;text-align:center}.checkout-icon{font-size:4rem;margin-bottom:1.5rem}.checkout-icon-success{color:#16a34a}.checkout-icon-error{color:#dc2626}.checkout-title{font-size:2rem;font-weight:700;color:var(--ink);margin:0 0 1rem}.checkout-message{font-size:1.125rem;color:var(--muted);margin:0 0 2rem;line-height:1.6}.checkout-button{display:inline-block;background:var(--accent);color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s ease}.checkout-button:hover{background:#0a6b6b;transform:translateY(-1px)}.checkout-processing{display:flex;flex-direction:column;align-items:center}.checkout-spinner{width:3rem;height:3rem;border-top:4px solid var(--line);border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:2rem}.checkout-error{display:flex;flex-direction:column;align-items:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:640px){.checkout-card{padding:2rem 1.5rem}.checkout-title{font-size:1.75rem}.checkout-message{font-size:1rem}}