@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#08111f;--surface:#0f1b2d;--surface-strong:#16243a;--primary:#2563eb;--primary-hover:#3b82f6;--primary-soft:#2563eb29;--border:#26364d;--border-strong:#36506f;--text:#f8fafc;--text-muted:#94a3b8;--danger:#ef4444;--danger-soft:#ef444424;--on-primary:#fff;--shadow:#0000004d;--z-navigation:40;--z-overlay:100;--z-modal:110;--display:"Barlow Condensed", sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100dvh}body{background:radial-gradient(circle at 80% -10%, var(--surface-strong) 0, transparent 34rem), var(--bg);min-width:0;min-height:100dvh;margin:0;overflow-x:hidden}button,input{font:inherit}.app-shell{width:min(100%,1120px);margin:0 auto;padding:32px 16px 56px}.topbar{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.brand{color:var(--text);font-family:var(--display);letter-spacing:.04em;font-size:1.15rem;font-weight:800;text-decoration:none}.header-link{border:1px solid var(--border-strong);color:var(--text);border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:800;text-decoration:none}.header-link:hover{border-color:var(--primary-hover);color:var(--primary-hover)}.header-link:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.route-state{color:var(--text-muted);justify-content:center;align-items:center;min-height:100svh;display:flex}.private-navigation{background:var(--surface);border:1px solid var(--border);border-radius:11px;gap:4px;margin:-14px 0 23px;padding:4px;display:flex}.private-nav-link,.private-nav-signout{color:var(--text-muted);cursor:pointer;font:inherit;text-align:center;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 7px;font-size:.75rem;font-weight:800;text-decoration:none}.private-nav-link.is-active{background:var(--primary);color:var(--on-primary)}.private-nav-signout{color:var(--primary-hover);flex:none}.private-nav-signout:disabled{cursor:not-allowed;opacity:.65}.private-nav-link:focus-visible,.private-nav-signout:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.eyebrow{color:var(--primary-hover);letter-spacing:.16em;margin:0 0 10px;font-size:.7rem;font-weight:800}h1{color:var(--text);font-family:var(--display);letter-spacing:-.065em;max-width:8ch;margin:0;font-size:clamp(2.25rem,9vw,4.6rem);line-height:.9}.intro{color:var(--text-muted);margin:16px 0 0;font-size:.98rem}.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:620px;margin-top:22px;padding:14px}.auth-panel-loading,.account-status{color:var(--text-muted);margin:0;font-size:.84rem}.auth-guest-copy strong,.account-heading strong{color:var(--text);font-size:1.04rem;line-height:1.15;display:block}.auth-guest-copy p{color:var(--text-muted);max-width:47ch;margin:6px 0 13px;font-size:.8rem;line-height:1.4}.account-heading,.account-identity{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-identity{justify-content:flex-start;min-width:0}.account-heading strong{text-overflow:ellipsis;white-space:nowrap;max-width:30ch;overflow:hidden}.account-kicker{color:var(--primary-hover);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:.65rem;font-weight:850;display:block}.account-avatar{border:1px solid var(--border-strong);object-fit:cover;border-radius:50%;width:38px;height:38px}.account-avatar-fallback{background:var(--primary-soft);color:var(--primary-hover);font-family:var(--display);justify-content:center;align-items:center;font-size:1.45rem;font-weight:800;display:flex}.google-button{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);cursor:pointer;font:inherit;border-radius:9px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:43px;padding:8px 12px;font-size:.88rem;font-weight:850;display:flex}.google-button:hover,.auth-submit:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.google-mark{background:var(--on-primary);color:var(--primary);font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:1rem;font-weight:800;display:inline-flex}.auth-email-details{margin-top:10px}.auth-email-details summary{color:var(--text-muted);cursor:pointer;padding:5px 0;font-size:.78rem;font-weight:750;list-style:none}.auth-email-details summary::-webkit-details-marker{display:none}.auth-email-details summary:after{content:"+";float:right;font-size:1rem;line-height:.75}.auth-email-details[open] summary:after{content:"−"}.auth-email-content{border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.auth-tabs{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:max-content;padding:2px;display:flex}.auth-tabs button,.auth-link{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:.74rem;font-weight:800}.auth-tabs button.is-active{background:var(--primary);color:var(--on-primary)}.auth-link{color:var(--primary-hover)}.auth-link:focus-visible,.auth-tabs button:focus-visible,.auth-submit:focus-visible,.auth-form input:focus-visible,.google-button:focus-visible,.auth-email-details summary:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.auth-form{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.auth-form label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;gap:4px;font-size:.68rem;font-weight:800;display:grid}.auth-form input{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;outline:none;min-height:38px;padding:7px 9px}.auth-form input:focus{border-color:var(--primary-hover)}.auth-submit{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);cursor:pointer;border-radius:8px;min-height:38px;padding:7px 10px;font-weight:800}.google-button:disabled,.auth-submit:disabled,.auth-link:disabled,.auth-tabs button:disabled{cursor:not-allowed;opacity:.6}.auth-message{background:var(--primary-soft);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;margin:10px 0 0;padding:8px 9px;font-size:.78rem;line-height:1.35}.auth-message.is-error{background:var(--danger-soft);border-color:var(--danger)}.account-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:11px;display:grid}.account-stats span{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;border-radius:8px;padding:6px 7px;font-size:.64rem;display:grid}.account-stats b{color:var(--text);text-transform:none;margin-bottom:1px;font-size:.86rem}.calculator-panel{background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 48px var(--shadow);border-radius:20px;overflow:hidden}.percentage-section{border-top:1px solid var(--border)}.section-label,.field-label{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:800;display:block}.rp-input{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-family:var(--display);letter-spacing:-.04em;border-radius:12px;outline:none;width:100%;padding:13px 56px 13px 15px;font-size:2.3rem;font-weight:700}.input-wrap{position:relative}.input-unit{color:var(--text-muted);font-weight:800;position:absolute;top:50%;right:17px;transform:translateY(-50%)}.rp-input:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-soft)}.control-grid{grid-template-columns:1fr;gap:18px;margin-top:20px;display:grid}.segmented{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.choice-button,.percentage-button{appearance:none;border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;font:inherit;min-height:46px;font-weight:750;transition:background .15s,border-color .15s,color .15s,transform .15s}.choice-button{background:var(--bg);border-radius:10px;padding:7px 10px}.choice-button:hover,.percentage-button:hover{border-color:var(--primary-hover);color:var(--text)}.choice-button.is-active,.percentage-button.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.choice-button:active,.percentage-button:active{transform:scale(.97)}.choice-button:focus-visible,.percentage-button:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.percentage-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.percentage-button{background:var(--bg);border-radius:9px;padding:10px 5px;font-size:.92rem}.results-heading{justify-content:space-between;align-items:baseline;margin:0 4px 10px;display:flex}.results-heading h2{color:var(--text);font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:1.65rem}.results-heading span{color:var(--text-muted);font-size:.82rem}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;overflow:hidden}.result-top{justify-content:space-between;align-items:center;padding:12px 12px 9px;display:flex}.percentage-badge{color:var(--primary-hover);font-family:var(--display);letter-spacing:-.055em;font-size:2rem;font-weight:800;line-height:1}.weight-summary{text-align:right}.weight-summary span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800;display:block}.weight-summary strong{color:var(--text);font-family:var(--display);letter-spacing:-.06em;white-space:nowrap;font-size:2.25rem;line-height:.9;display:block}.weight-summary small{color:var(--text-muted);letter-spacing:0;font-family:Manrope,sans-serif;font-size:.52em;font-weight:800}.result-details{border-top:1px solid var(--border);grid-template-columns:repeat(2,1fr);display:grid}.detail{min-width:0;padding:8px 11px}.detail+.detail{border-left:1px solid var(--border)}.detail span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.61rem;font-weight:800;display:block}.detail strong{color:var(--text);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;display:block;overflow:hidden}.plate-breakdown{border-top:1px solid var(--border);padding:8px 11px 10px}.plate-breakdown h3{color:var(--primary-hover);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem}.plate-list{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.plate{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-size:.87rem;font-weight:800;line-height:1;display:inline-flex}.plate-count{color:var(--primary-hover)}.bar-only{color:var(--text);margin:0;font-size:.92rem;font-weight:700}.state-message{background:var(--primary-soft);border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:14px;margin:0;padding:18px}.state-message.is-error{background:var(--danger-soft);border-color:var(--danger);color:var(--text)}@media (width<=359px){.result-list{grid-template-columns:1fr}.result-top,.detail{padding-inline:14px}}@media (width>=580px){.app-shell{padding:54px 24px 72px}.control-grid{grid-template-columns:1fr 1.35fr}.percentage-grid{grid-template-columns:repeat(6,1fr)}.result-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.result-top{padding:14px 14px 10px}.weight-summary strong{font-size:2.55rem}.detail{padding:9px 13px}.plate-breakdown{padding:9px 13px 12px}.auth-form{grid-template-columns:1fr 1fr auto}.auth-submit{align-self:end}.auth-panel{padding:15px}}@media (width>=1000px){.result-list{grid-template-columns:repeat(4,minmax(0,1fr))}.result-top{padding:15px 15px 11px}.percentage-badge{font-size:2.2rem}.weight-summary strong{font-size:2.7rem}.detail{padding:10px 14px}.plate-breakdown{padding:10px 14px 13px}}.auth-page,.private-page{max-width:680px}.login-card,.private-card{background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 48px var(--shadow);border-radius:18px;padding:20px}.login-card h1,.private-card h1{color:var(--text);font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:2.45rem;line-height:.95}.login-card .intro{margin-bottom:20px}.google-button-disabled{background:var(--surface-strong);border-color:var(--border-strong);color:var(--text-muted)}.login-divider{color:var(--text-muted);align-items:center;gap:10px;margin:17px 0 12px;font-size:.72rem;display:flex}.login-divider:before,.login-divider:after{background:var(--border);content:"";flex:1;height:1px}.login-form{margin-top:12px}.private-identity{align-items:center;gap:11px;display:flex}.private-card .account-avatar{width:46px;height:46px}.private-card .account-stats{margin-top:20px}.private-message{color:var(--text-muted);margin:20px 0 12px;font-size:.9rem}.private-signout{border:1px solid var(--border-strong)}.private-signout:hover{border-color:var(--primary-hover);color:var(--primary-hover)}.welcome-page{max-width:720px}.welcome-card{background:linear-gradient(145deg,var(--surface-strong),var(--surface));border:1px solid var(--border);box-shadow:0 18px 48px var(--shadow);border-radius:22px;padding:28px 20px}.welcome-mark{background:var(--primary);color:var(--on-primary);font-family:var(--display);letter-spacing:-.08em;border-radius:15px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:25px;font-size:2rem;font-weight:800;display:flex}.welcome-card h1{max-width:8ch;font-size:clamp(2.6rem,13vw,4.8rem)}.welcome-card>p:not(.eyebrow){color:var(--text-muted);max-width:38ch;margin:18px 0 25px;font-size:1rem;line-height:1.45}.welcome-actions{gap:9px;max-width:360px;display:grid}.welcome-primary,.welcome-secondary{text-align:center;border-radius:10px;padding:13px;font-size:.9rem;font-weight:850;text-decoration:none}.welcome-primary{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary)}.welcome-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.welcome-secondary{border:1px solid var(--border-strong);color:var(--text)}.welcome-secondary:hover{border-color:var(--primary-hover);color:var(--primary-hover)}.welcome-primary:focus-visible,.welcome-secondary:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.records-placeholder{background:var(--bg);border:1px dashed var(--border-strong);border-radius:11px;margin-top:21px;padding:14px}.records-placeholder strong{color:var(--text);font-size:.94rem;display:block}.records-placeholder p{color:var(--text-muted);margin:6px 0 0;font-size:.78rem;line-height:1.4}.dashboard-hero{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.dashboard-hero h1{max-width:12ch;font-size:clamp(2rem,9vw,3.2rem)}.add-pr-button,.pr-save{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);cursor:pointer;font:inherit;white-space:nowrap;border-radius:9px;min-height:42px;padding:9px 12px;font-size:.82rem;font-weight:850}.add-pr-button:hover,.pr-save:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.add-pr-button:disabled,.pr-save:disabled{cursor:not-allowed;opacity:.6}.dashboard-stats{margin-top:0}.pr-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.pr-section-heading h2,.pr-modal h2{color:var(--text);font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:1.8rem}.pr-summary{color:var(--text-muted);text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:7px;font-size:.68rem;display:flex}.pr-summary span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 7px}.pr-summary b{color:var(--text)}.pr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.pr-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:11px;overflow:hidden}.pr-card-heading{justify-content:space-between;align-items:flex-start;gap:7px;display:flex}.pr-category{color:var(--primary-hover);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:850}.pr-card h3{color:var(--text);margin:3px 0 0;font-size:.94rem;line-height:1.1}.pr-card-heading button{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;border-radius:7px;padding:6px;font-size:.67rem;font-weight:800}.pr-card-values{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.pr-card-values>div+div{border-left:1px solid var(--border);padding-left:9px}.pr-card-values span,.pr-card>p{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.61rem;font-weight:800;display:block}.pr-card-values strong{color:var(--text);font-family:var(--display);letter-spacing:-.05em;margin:3px 0;font-size:1.55rem;line-height:1;display:block}.pr-card-values small{color:var(--text-muted);letter-spacing:0;font-family:Manrope,sans-serif;font-size:.55em}.pr-card-values em{color:var(--text-muted);font-size:.65rem;font-style:normal}.pr-card>p{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.pr-modal-backdrop{z-index:10;background:#010710bd;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.pr-modal{background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 -18px 45px var(--shadow);border-radius:18px 18px 12px 12px;width:100%;max-width:620px;max-height:92svh;padding:18px;overflow:auto}.pr-modal-heading{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.modal-close{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:50%;width:32px;height:32px;font-size:1.35rem;line-height:1}.pr-form{gap:10px;display:grid}.pr-form label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;gap:4px;font-size:.67rem;font-weight:850;display:grid}.pr-form input,.pr-form select,.pr-form textarea,.custom-exercise button{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:8px;outline:none;min-height:39px;padding:8px 9px}.pr-form textarea{resize:vertical;min-height:auto}.pr-form input:focus,.pr-form select:focus,.pr-form textarea:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-soft)}.pr-form label span{text-transform:none;font-weight:500}.pr-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.custom-exercise{color:var(--text-muted);font-size:.75rem}.custom-exercise summary{cursor:pointer;font-weight:800}.custom-exercise>div{gap:7px;margin-top:8px;display:grid}.custom-exercise button{cursor:pointer;font-weight:800}.pr-save{width:100%}.pr-modal .auth-message{margin-bottom:0}@media (width>=620px){.dashboard-hero{margin-bottom:18px}.pr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-modal-backdrop{align-items:center}.pr-modal{border-radius:18px}}.exercise-options{background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;max-height:190px;padding:4px;display:grid;overflow:auto}.exercise-options button{color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;padding:10px;font-size:.86rem}.exercise-options button:hover,.exercise-options button.is-selected{background:var(--primary-soft);color:var(--primary-hover)}.exercise-empty{color:var(--text-muted);margin:-2px 0 0;font-size:.78rem}.calculator-source{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:0 0 14px;overflow:hidden}.source-tabs{background:var(--bg);grid-template-columns:1fr 1fr;padding:4px;display:grid}.source-tabs button{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;min-height:39px;padding:7px;font-size:.78rem;font-weight:850}.source-tabs button.is-active{background:var(--primary);color:var(--on-primary)}.source-tabs button:focus-visible,.source-exercise-options button:focus-visible,.selected-pr button:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.saved-source>p{color:var(--text-muted);margin:0;font-size:.84rem}.saved-source label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;gap:5px;font-size:.68rem;font-weight:850;display:grid}.saved-source input{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:8px;outline:none;min-height:40px;padding:8px 9px}.saved-source input:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-soft)}.source-exercise-options{max-height:154px;margin-top:8px;display:grid;overflow:auto}.source-exercise-options button{border:0;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;padding:10px 4px;font-size:.86rem}.source-exercise-options button:last-child{border-bottom:0}.source-exercise-options button:hover,.source-exercise-options button.is-selected{color:var(--primary-hover)}.source-empty{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-empty p{color:var(--text-muted);margin:0;font-size:.84rem}.source-empty button,.selected-pr button{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);cursor:pointer;font:inherit;border-radius:8px;padding:8px 9px;font-size:.73rem;font-weight:850}.selected-pr{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:10px;margin-top:11px;padding:11px;display:grid}.selected-pr>div:first-child>span{color:var(--text);font-size:.86rem;font-weight:850;display:block}.selected-pr strong{color:var(--text);font-family:var(--display);letter-spacing:-.05em;margin:5px 0;font-size:2rem;line-height:1;display:block}.selected-pr small,.selected-pr-meta>span{color:var(--text-muted);font-size:.7rem;display:block}.selected-pr-meta{flex-wrap:wrap;justify-content:space-between;gap:7px;display:flex}.selected-pr-meta button{margin-left:auto}.pr-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pr-exercise-button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:10px;min-height:58px;padding:9px;display:grid}.pr-exercise-button span{font-size:.83rem;font-weight:850;line-height:1.15}.pr-exercise-button small{color:var(--text-muted);margin-top:4px;font-size:.7rem}.pr-exercise-button:hover,.pr-exercise-button.is-active{border-color:var(--primary-hover);background:var(--primary-soft)}.pr-exercise-button.is-active small{color:var(--primary-hover)}.pr-exercise-button:focus-visible,.pr-detail button:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.pr-detail{background:var(--surface);border:1px solid var(--primary-hover);border-radius:14px;margin-top:11px;padding:14px}.pr-detail h3{color:var(--text);margin:3px 0 0;font-size:1.1rem}.pr-detail-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.pr-detail-values div{background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:0;padding:8px}.pr-detail-values span,.pr-detail-values small{color:var(--text-muted);font-size:.62rem;display:block}.pr-detail-values strong{color:var(--text);font-family:var(--display);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:1.4rem;line-height:1;display:block;overflow:hidden}.pr-detail-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pr-detail-actions button{cursor:pointer;font:inherit;border-radius:8px;min-height:39px;padding:7px;font-size:.76rem;font-weight:850}.detail-primary{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary)}.detail-secondary{background:var(--bg);border:1px solid var(--border-strong);color:var(--text)}.detail-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.detail-secondary:hover{border-color:var(--primary-hover);color:var(--primary-hover)}.locked-exercise{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0;padding:9px;font-size:.8rem}.locked-exercise strong{color:var(--text)}.pr-history{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.pr-history h4{color:var(--text);font-family:var(--display);margin:0 0 9px;font-size:1.2rem}.pr-history-list{gap:7px;display:grid}.pr-history-item{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px}.pr-history-item>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.pr-history-item strong{color:var(--text);font-family:var(--display);letter-spacing:-.04em;font-size:1.4rem}.pr-history-item span{color:var(--text-muted);font-size:.7rem}.pr-history-item p{color:var(--text-muted);margin:7px 0;font-size:.78rem;line-height:1.35}.pr-history-badges{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.pr-history-badges b{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:4px 6px;font-size:.62rem}.pr-history-badges b.is-secondary{background:var(--surface-strong);color:var(--text)}.pr-history-actions{justify-content:flex-end;gap:7px;display:flex}.pr-history-actions button,.delete-dialog button{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:7px;padding:6px 8px;font-size:.72rem;font-weight:800}.pr-history-actions button.is-danger,.delete-dialog button.is-danger{border-color:var(--danger);color:var(--danger)}.delete-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;width:100%;max-width:360px;padding:18px}.delete-dialog h3{color:var(--text);font-family:var(--display);margin:0;font-size:1.5rem}.delete-dialog p{color:var(--text-muted);margin:10px 0 16px;font-size:.88rem;line-height:1.4}.delete-dialog>div{justify-content:flex-end;gap:8px;display:flex}@media (width>=620px){.pr-button-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=980px){.pr-button-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.app-shell{width:100%;max-width:1120px;padding:calc(env(safe-area-inset-top) + 20px) max(16px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{margin-bottom:16px}.private-navigation{grid-template-columns:minmax(0,1fr);gap:4px;margin:0 0 16px;display:grid}.private-nav-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.private-nav-link{place-items:center;min-height:44px;padding:8px 6px;display:grid}.private-nav-signout{justify-self:end;min-height:36px;padding:7px 10px}.app-header{padding:4px 0 16px}.app-header h1{max-width:10ch;font-size:clamp(2.25rem,11vw,3rem)}.intro{margin-top:10px;font-size:clamp(.9rem,3.7vw,1rem)}.calculator-panel{border-radius:15px}.form-section,.percentage-section{padding:14px}.control-grid{gap:12px;margin-top:14px}.percentage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.percentage-button,.choice-button{min-height:42px}.percentage-button{padding:7px 4px}.choice-button{padding:8px}.calculator-source{border-radius:13px;margin-bottom:10px}.saved-source{padding:10px}.source-exercise-options{max-height:124px}.selected-pr{gap:7px;padding:9px}.selected-pr strong{font-size:1.65rem}.selected-pr-meta{gap:4px;display:grid}.selected-pr-meta button{grid-column:1/-1;width:100%;min-height:40px;margin-left:0}.results{margin-top:16px}.results-heading{align-items:baseline;gap:8px;margin-bottom:9px}.results-heading h2{font-size:clamp(1.4rem,6.4vw,1.9rem)}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.result-card{min-height:0}.result-top{padding:10px 10px 8px}.percentage-badge{font-size:1.65rem}.weight-summary strong{font-size:clamp(1.65rem,8vw,2rem)}.detail{padding:7px 9px}.plate-breakdown{padding:7px 9px 9px}.plate{padding:5px 7px;font-size:.9rem}.dashboard-hero{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:10px}.dashboard-hero .private-identity{width:100%}.dashboard-hero h1{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.dashboard-hero h1.account-email-title{letter-spacing:-.035em;font-size:clamp(1.25rem,5.5vw,1.8rem);line-height:1}.add-pr-button{width:100%;min-height:44px}.account-stats.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:0}.dashboard-stats span:last-child{grid-column:1/-1}.pr-section{margin-top:18px}.pr-section-heading{margin-bottom:9px;display:block}.pr-section-heading h2{font-size:clamp(1.5rem,7vw,2rem)}.pr-summary{text-align:left;justify-content:flex-start;gap:5px;margin-top:8px}.pr-summary span{padding:4px 6px}.pr-detail{padding:11px}.pr-detail-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pr-detail-values div:last-child{grid-column:1/-1}.pr-detail-actions{grid-template-columns:minmax(0,1fr);gap:7px}.welcome-card,.login-card,.private-card{padding:20px 16px}.welcome-mark{width:44px;height:44px;margin-bottom:17px}.welcome-card h1{font-size:clamp(2.25rem,11vw,3.35rem)}.login-card h1,.private-card h1{font-size:clamp(2rem,9vw,2.6rem)}.auth-tabs{width:100%}.auth-tabs button{flex:1;min-height:40px}.auth-form{gap:10px}.auth-form input,.pr-form input,.pr-form textarea,.pr-form select{min-height:44px;font-size:16px}.pr-modal-backdrop{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));align-items:flex-end}.pr-modal,.delete-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.pr-modal{border-radius:14px;padding:14px}.delete-dialog{padding:16px}.delete-dialog>div{flex-direction:column-reverse}.delete-dialog button{width:100%;min-height:42px}@media (width<=369px){.app-shell{padding-inline:12px}.result-list{grid-template-columns:minmax(0,1fr)}.percentage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero h1.account-email-title{font-size:clamp(1.15rem,5.6vw,1.45rem)}}@media (width>=480px){.app-shell{padding-inline:24px}.form-section,.percentage-section{padding:18px}.pr-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.app-shell{padding-top:36px}.private-navigation{align-items:center;margin:-14px 0 23px;display:flex}.private-nav-routes{flex:1;display:flex}.private-nav-link{flex:1}.private-nav-signout{justify-self:auto;min-height:40px}.app-header{padding-bottom:28px}.percentage-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.result-list{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-hero{flex-direction:row;justify-content:space-between;align-items:center}.dashboard-hero .private-identity,.add-pr-button{width:auto}.account-stats.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stats span:last-child,.pr-detail-values div:last-child{grid-column:auto}.pr-detail-values{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-modal-backdrop{align-items:center}}@media (width>=1024px){.result-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.bottom-navigation{border-top:1px solid var(--border);padding:7px 12px max(7px,env(safe-area-inset-bottom));z-index:20;background:#0f1b2df7;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-navigation__link{color:var(--text-muted);border-radius:10px;place-items:center;gap:3px;min-height:56px;padding:5px 4px;font-size:.67rem;font-weight:800;line-height:1;text-decoration:none;display:grid}.bottom-navigation__link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px;height:21px}.bottom-navigation__link.is-active{background:var(--primary-soft);color:var(--primary-hover)}.bottom-navigation__link:focus-visible{outline:3px solid var(--primary-hover);outline-offset:-2px}.app-shell--private{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.account-page{max-width:680px}.account-page__hero{margin-bottom:20px}.account-page__hero h1{color:var(--text);font-family:var(--display);letter-spacing:-.055em;overflow-wrap:anywhere;max-width:12ch;margin:0;font-size:clamp(2rem,9vw,3.2rem);line-height:.95}.account-page__hero h1.account-email-title{word-break:break-word;max-width:100%;font-size:clamp(1.25rem,5.5vw,1.8rem)}.account-page__hero .eyebrow{margin-bottom:6px}.account-page__hero p:not(.eyebrow){color:var(--text-muted);margin:7px 0 0;font-size:.82rem}.account-page__avatar{width:52px!important;height:52px!important}.account-page__details{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.account-page__details h2{color:var(--text);font-family:var(--display);letter-spacing:-.035em;margin:0 0 12px;font-size:1.55rem}.account-page__stats{margin-top:0}.account-page__actions{gap:9px;margin-top:18px;display:grid}.account-page__signout,.account-page__home{cursor:pointer;font:inherit;text-align:center;border-radius:9px;min-height:44px;padding:10px 12px;font-size:.85rem;font-weight:850}.account-page__signout{border:1px solid var(--danger);color:var(--danger);background:0 0}.account-page__signout:disabled{cursor:not-allowed;opacity:.6}.account-page__home{border:1px solid var(--border-strong);color:var(--text);text-decoration:none}.account-page__signout:focus-visible,.account-page__home:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}@media (width<=767px){.private-navigation{display:none}.dashboard-page,.app-shell--private{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.dashboard-page .topbar,.app-shell--private .topbar{margin-bottom:12px}.app-shell--private .app-header{padding-top:2px}}@media (width>=768px){.bottom-navigation{display:none}.app-shell--private{padding-bottom:72px}.private-navigation{display:flex}.private-nav-routes{flex:1;display:flex}.private-nav-link{flex:1}.account-page__details{padding:18px}.account-page__actions{grid-template-columns:1fr 1fr;max-width:420px}}.dashboard-page{max-width:1080px}.dashboard-hero--compact{margin-bottom:16px}.dashboard-empty,.dashboard-card,.dashboard-selected-detail{background:var(--surface);border:1px solid var(--border);border-radius:15px}.dashboard-empty{padding:20px}.dashboard-empty h2,.dashboard-card h2,.dashboard-selected-detail h2{color:var(--text);font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,7vw,2rem)}.dashboard-empty>p:not(.eyebrow){color:var(--text-muted);max-width:48ch;margin:8px 0 16px;font-size:.9rem;line-height:1.45}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.dashboard-metrics article{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:11px}.dashboard-metrics span{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:850;display:block}.dashboard-metrics strong{color:var(--text);font-family:var(--display);letter-spacing:-.055em;margin-top:6px;font-size:2rem;line-height:.95;display:block}.dashboard-metrics strong small,.dashboard-list__item strong small,.dashboard-activity strong small{font-family:var(--display);letter-spacing:0;font-size:.57em}.dashboard-metrics p{color:var(--text-muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:.68rem;line-height:1.3}.dashboard-content-grid{gap:12px;display:grid}.dashboard-card{min-width:0;padding:14px}.dashboard-card__heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.dashboard-card__heading .eyebrow{margin-bottom:4px}.dashboard-card__heading label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;gap:4px;min-width:128px;font-size:.62rem;font-weight:800;display:grid}.dashboard-card__heading select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:8px;outline:none;min-height:38px;padding:6px 8px;font-size:.78rem}.dashboard-card__heading select:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.progress-chart{position:relative}.progress-chart svg{width:100%;height:auto;display:block;overflow:visible}.progress-chart__axis{stroke:var(--border-strong);stroke-width:1px}.progress-chart__point{fill:var(--surface);stroke:var(--primary-hover);stroke-width:3px;cursor:pointer}.progress-chart__point:hover,.progress-chart__point:focus{fill:var(--primary-hover);outline:none}.progress-chart__label{fill:var(--text-muted);font-family:Manrope,sans-serif;font-size:12px}.progress-chart__label--date{font-size:11px}.progress-chart__tooltip{background:var(--bg);border:1px solid var(--border);border-radius:7px;align-items:baseline;gap:6px;width:max-content;margin:0 0 8px auto;padding:5px 7px;display:flex}.progress-chart__tooltip b{color:var(--text);font-family:var(--display);letter-spacing:-.03em;font-size:1.1rem}.progress-chart__tooltip span{color:var(--text-muted);font-size:.66rem}.progress-chart__empty{background:var(--bg);border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:10px;align-items:center;min-height:166px;padding:16px;font-size:.82rem;line-height:1.4;display:flex}.exercise-progress{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;padding-top:10px;display:grid}.exercise-progress span{color:var(--text);min-width:0;font-size:.85rem}.exercise-progress b{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.59rem;display:block}.dashboard-list,.dashboard-activity{gap:6px;display:grid}.dashboard-list__item{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;border-radius:9px;justify-content:space-between;align-items:center;min-height:51px;padding:8px 9px;display:flex}.dashboard-list__item:hover,.dashboard-list__item.is-active{background:var(--primary-soft);border-color:var(--primary-hover)}.dashboard-list__item span{gap:3px;min-width:0;display:grid}.dashboard-list__item b{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.dashboard-list__item small{color:var(--text-muted);font-size:.65rem}.dashboard-list__item strong,.dashboard-activity strong{color:var(--text);font-family:var(--display);letter-spacing:-.04em;white-space:nowrap;font-size:1.35rem}.dashboard-list__item:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.dashboard-activity article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.dashboard-activity article:last-child{border-bottom:0}.dashboard-activity div{min-width:0}.dashboard-activity b{color:var(--text);font-size:.84rem;display:block}.dashboard-activity span{color:var(--text-muted);margin-top:2px;font-size:.66rem;display:block}.dashboard-activity p{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.72rem;line-height:1.3}.dashboard-selected-detail{margin-top:12px;padding:14px}.dashboard-selected-detail .dashboard-card__heading{align-items:center}.dashboard-selected-detail .pr-history{margin-bottom:0}.dashboard-hero-add{font-family:var(--display);justify-content:center;align-items:center;width:48px;padding:0;font-size:2rem;line-height:1;display:inline-flex}.dashboard-empty--visual{isolation:isolate;min-height:420px;padding:0;position:relative;overflow:hidden}.dashboard-empty__backdrop{z-index:-2;background:radial-gradient(circle at 50% 42%,#3b82f62b,#0000 25%),radial-gradient(circle at 100% 0,#60a5fa1f,#0000 30%);position:absolute;inset:0}.dashboard-empty__rings{width:238px;height:238px;position:absolute;top:24px;left:50%;transform:translate(-50%)}.dashboard-empty__rings i{border:1px solid #60a5fa33;border-radius:50%;position:absolute;inset:0}.dashboard-empty__rings i:nth-child(2){border-color:#60a5fa4d;inset:28px}.dashboard-empty__rings i:nth-child(3){background:radial-gradient(circle at 36% 32%,#60a5fa,#2563eb 57%,#163f98);border:7px solid #0f1b2d;inset:56px;box-shadow:0 0 0 1px #60a5fa7a,0 0 42px #2563eb6b}.dashboard-empty__chart{color:#60a5fa;opacity:.78;position:absolute;bottom:78px;left:0;right:0}.dashboard-empty__chart svg{width:100%;height:140px;display:block}.dashboard-empty__area{fill:url(#emptyChartFill)}.dashboard-empty__line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.dashboard-empty__metrics{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px 16px;display:grid;position:absolute;bottom:0;left:0;right:0}.dashboard-empty__metrics span{background:linear-gradient(145deg,#2563eb2e,#0f1b2dd9);border:1px solid #60a5fa2e;border-radius:12px;height:58px}.dashboard-empty__add{color:#0f2659;cursor:pointer;font-family:var(--display);background:#f8fafc;border:0;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;padding:0 0 5px;font-size:3rem;line-height:1;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;top:107px;left:50%;transform:translate(-50%);box-shadow:0 9px 28px #00000057,0 0 0 7px #2563eb2e}.dashboard-empty__add:hover{transform:translate(-50%)scale(1.06);box-shadow:0 12px 32px #0000006b,0 0 0 11px #2563eb33}.dashboard-empty__add:focus-visible{outline-offset:4px;outline:3px solid #93c5fd}.dashboard-empty__add:disabled{cursor:not-allowed;opacity:.55}.dashboard-page--visual{max-width:780px;min-height:100dvh;padding-bottom:calc(112px + env(safe-area-inset-bottom));align-items:center;padding-top:18px;display:flex}.visual-dashboard{background:linear-gradient(145deg,#16243ad1,#08111ff5);border:1px solid #60a5fa2e;border-radius:30px;width:100%;height:min(74svh,620px);min-height:460px;position:relative;overflow:hidden;box-shadow:0 28px 70px #0000005c,inset 0 1px #ffffff0d}.visual-dashboard__halo{background:radial-gradient(circle,#2563eb3b,#0000 66%);width:470px;height:470px;position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}.visual-dashboard__orbit{z-index:2;width:152px;position:absolute;top:42px;left:50%;transform:translate(-50%)}.visual-dashboard__orbit svg{filter:drop-shadow(0 0 13px #3b82f645);width:100%;display:block}.visual-dashboard__orbit-segment{transform-origin:50%;transform:rotate(-90deg)}.visual-dashboard__waves{width:196px;height:196px;position:absolute;top:19px;left:50%;transform:translate(-50%)}.visual-dashboard__waves i{border:1px solid #93c5fd24;border-radius:50%;position:absolute;inset:0}.visual-dashboard__waves i:nth-child(2){inset:24px}.visual-dashboard__waves i:nth-child(3){inset:48px}.visual-dashboard__main{z-index:1;position:absolute;bottom:85px;left:0;right:0}.visual-dashboard__trace{width:100%;display:block}.visual-dashboard__grid,.visual-dashboard__trace--idle path:first-child{fill:none;stroke:#94a3b81f;stroke-width:1px}.visual-dashboard__trace--idle path:last-child{fill:none;stroke:#3b82f6;stroke-linecap:round;stroke-width:4px}.visual-dashboard__pulse-grid{grid-template-columns:repeat(12,1fr);gap:6px;padding:0 16px 18px;display:grid;position:absolute;bottom:0;left:0;right:0}.visual-dashboard__pulse-grid i{animation:visual-pulse 2.2s ease-in-out var(--delay) infinite alternate;height:var(--pulse);transform-origin:bottom;background:linear-gradient(#60a5fa85,#2563eb14);border-radius:999px;min-height:10px}.visual-dashboard__add{color:#0f285e;cursor:pointer;font-family:var(--display);z-index:3;background:#f8fafc;border:7px solid #2563eb33;border-radius:50%;justify-content:center;align-items:center;width:78px;height:78px;padding:0 0 6px;font-size:3.3rem;line-height:1;transition:transform .18s,box-shadow .18s;display:flex;position:absolute;top:118px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #0000006e}.visual-dashboard__add:hover{transform:translate(-50%)scale(1.07);box-shadow:0 18px 45px #00000085,0 0 0 10px #2563eb26}.visual-dashboard__add:focus-visible{outline-offset:4px;outline:3px solid #93c5fd}@keyframes visual-pulse{0%{opacity:.42;transform:scaleY(.55)}to{opacity:1;transform:scaleY(1)}}@media (width>=768px){.dashboard-page--visual{padding-bottom:48px}.visual-dashboard{height:min(78svh,650px)}.visual-dashboard__orbit{width:172px;top:52px}.visual-dashboard__waves{width:222px;height:222px;top:25px}.visual-dashboard__add{top:145px}}@media (prefers-reduced-motion:reduce){.visual-dashboard__pulse-grid i{animation:none}}.dashboard-page--visual{max-width:980px;min-height:auto;padding-top:28px;display:block}.visual-dashboard{box-shadow:none;background:0 0;border:0;border-radius:0;gap:12px;height:auto;min-height:0;padding-bottom:82px;display:grid;overflow:visible}.visual-dashboard__line-card,.visual-dashboard__bar-card{border:1px solid var(--border);background:linear-gradient(145deg,#16243adb,#0a1424eb);border-radius:18px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09}.visual-dashboard__line-card{min-height:330px;padding:16px 12px 8px}.visual-dashboard__chart-title{justify-content:space-between;align-items:baseline;padding:0 8px 4px;display:flex}.visual-dashboard__chart-title span{color:var(--text);font-family:var(--display);letter-spacing:-.025em;font-size:1.55rem;font-weight:700}.visual-dashboard__chart-title b{color:#93c5fd;font-family:var(--display);font-size:1.4rem}.visual-dashboard__trace{width:100%;height:auto;display:block}.visual-dashboard__grid{fill:none;stroke:#94a3b82e;stroke-width:1px}.visual-dashboard__axis{fill:var(--text-muted);font-family:Manrope,sans-serif;font-size:12px;font-weight:700}.visual-dashboard__bar-card{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;min-height:214px;padding:18px 12px 12px;display:grid}.visual-dashboard__bar{text-align:center;grid-template-rows:auto 120px auto;grid-template-columns:1fr;align-items:center;gap:7px;min-width:0;display:grid}.visual-dashboard__bar span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:800;overflow:hidden}.visual-dashboard__bar i b{box-shadow:0 0 16px color-mix(in srgb,currentColor 30%,transparent);border-radius:7px 7px 2px 2px;width:70%;max-width:42px;min-height:6px;display:block}.visual-dashboard__bar strong{color:var(--text);font-family:var(--display);letter-spacing:-.03em;font-size:1.2rem}.visual-dashboard__bar small{color:var(--text-muted);margin-left:2px;font-size:.7em}.visual-dashboard__empty-graph{justify-content:center;align-items:center;height:300px;display:flex}.visual-dashboard__empty-graph svg{width:88%;max-width:500px;height:92%}.visual-dashboard__empty-graph path:first-child{fill:none;stroke:#94a3b82b}.visual-dashboard__empty-graph path:last-child{fill:none;stroke:#3b82f6;stroke-linecap:round;stroke-width:4px}.visual-dashboard__halo,.visual-dashboard__orbit,.visual-dashboard__waves,.visual-dashboard__main,.visual-dashboard__pulse-grid{display:none}.visual-dashboard__add{background:var(--primary);bottom:calc(16px + env(safe-area-inset-bottom));color:#fff;z-index:35;border:0;width:60px;height:60px;font-size:2.7rem;position:fixed;top:auto;left:auto;right:18px;transform:none;box-shadow:0 12px 28px #0000006b}.visual-dashboard__add:hover{background:var(--primary-hover);transform:scale(1.07)}@media (width>=640px){.visual-dashboard{grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr)}.visual-dashboard__line-card{min-height:390px}.visual-dashboard__bar-card{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-dashboard__add{position:absolute;top:-74px;right:0}}.visual-dashboard{grid-template-columns:1fr;gap:14px;padding-bottom:90px;display:grid}.visual-dashboard__bar-card{min-height:0;padding:16px 14px 14px;display:block}.visual-dashboard__bar-card h1{color:var(--text);font-family:var(--display);letter-spacing:-.03em;max-width:none;margin:0 0 16px;font-size:1.7rem;line-height:1}.visual-dashboard__bars{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:9px;display:grid}.visual-dashboard__bar{grid-template-rows:auto 122px auto}.visual-dashboard__bar span{font-size:.66rem}.visual-dashboard__bar strong{font-size:1.35rem}.visual-dashboard__bar-empty{background:radial-gradient(circle,#2563eb29,#0000 62%);justify-content:center;align-items:center;height:205px;display:flex}.visual-dashboard__bar-empty span{color:#93c5fd;font-family:var(--display);border:2px solid #60a5fa8c;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;padding-bottom:5px;font-size:3rem;line-height:1;display:flex}.visual-dashboard__motivation{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.visual-dashboard__motivation article{border:1px solid var(--border);background:linear-gradient(145deg,#16243adb,#0a1424eb);border-radius:15px;place-items:center;min-height:130px;padding:12px 6px;display:grid}.visual-dashboard__badge{font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.3rem;line-height:1;display:flex}.visual-dashboard__badge--check{color:#67e8f9;background:#22d3ee26}.visual-dashboard__badge--flame{color:#fdba74;background:#fb923c26}.visual-dashboard__badge--star{color:#64748b;background:#94a3b81f}.visual-dashboard__motivation .is-earned .visual-dashboard__badge--star{color:#fcd34d;background:#fbbf242e;box-shadow:0 0 18px #fbbf242b}.visual-dashboard__motivation strong{color:var(--text);font-family:var(--display);letter-spacing:-.04em;font-size:1.75rem;line-height:1}.visual-dashboard__motivation small{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.61rem;font-weight:850}.visual-dashboard__add{bottom:calc(19px + env(safe-area-inset-bottom));right:18px}@media (width>=640px){.visual-dashboard{grid-template-columns:minmax(0,1fr) 270px}.visual-dashboard__bar-card{grid-row:1/span 2}.visual-dashboard__motivation{grid-template-columns:1fr}.visual-dashboard__motivation article{grid-template-columns:42px 1fr auto;justify-items:start;min-height:0;padding:13px}.visual-dashboard__motivation small{justify-self:end}.visual-dashboard__add{top:-66px;right:0}}.visual-dashboard__badge--calendar{color:#fdba74;background:#fb923c26}.visual-dashboard__badge--calendar svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:21px;height:21px}.visual-dashboard__consistency{border:1px solid var(--border);background:linear-gradient(145deg,#16243adb,#0a1424eb);border-radius:15px;padding:14px}.visual-dashboard__consistency>div{justify-content:space-between;align-items:baseline;margin-bottom:13px;display:flex}.visual-dashboard__consistency h2{color:var(--text);font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:1.35rem}.visual-dashboard__consistency>div span{color:var(--text-muted);font-size:.65rem;font-weight:800}.visual-dashboard__consistency ol{grid-template-columns:repeat(7,1fr);gap:7px;margin:0;padding:0;list-style:none;display:grid}.visual-dashboard__consistency li{aspect-ratio:1;background:#94a3b817;border:1px solid #94a3b817;border-radius:5px}.visual-dashboard__consistency li.is-active{background:#3b82f6;border-color:#60a5fa;box-shadow:0 0 12px #3b82f66b}.visual-dashboard__workout-action{appearance:none;color:#bfdbfe;cursor:pointer;font:inherit;background:#3b82f61f;border:1px solid #60a5fa6b;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:36px;margin-top:11px;padding:7px 11px;font-size:.72rem;font-weight:850;display:flex}.visual-dashboard__workout-action:hover:not(:disabled){background:#3b82f633;border-color:#60a5fa}.visual-dashboard__workout-action:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.visual-dashboard__workout-action:disabled{cursor:default}.visual-dashboard__workout-action.is-complete{color:#67e8f9;background:#22d3ee1a;border-color:#22d3ee61}.visual-dashboard__improvement small{flex-direction:column;align-items:center;gap:2px;max-width:100%;display:flex}.visual-dashboard__improvement small span{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.visual-dashboard__improvement time{color:#94a3b8;font-size:.88em}@media (width>=640px){.visual-dashboard__consistency{grid-column:2}.visual-dashboard__consistency ol{gap:6px}.visual-dashboard__consistency li{border-radius:4px}}.visual-dashboard__bar-card{overflow:hidden}.visual-dashboard__bars{overscroll-behavior-inline:contain;scrollbar-color:var(--border-strong) transparent;grid-template-columns:none;grid-auto-columns:minmax(82px,1fr);grid-auto-flow:column;padding:0 2px 6px;overflow-x:auto}.visual-dashboard__bars::-webkit-scrollbar{height:4px}.visual-dashboard__bars::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.visual-dashboard__motivation button.visual-dashboard__workout{appearance:none;border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;background:linear-gradient(145deg,#16243adb,#0a1424eb);border-radius:15px;place-items:center;min-height:130px;padding:12px 6px;display:grid}.visual-dashboard__workout:hover:not(:disabled){background:linear-gradient(145deg,#163558e6,#0a1c33f0);border-color:#3b82f6}.visual-dashboard__workout:disabled{cursor:default}.visual-dashboard__workout.is-complete{border-color:#22d3ee66}.visual-dashboard__workout:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}@media (width>=640px){.visual-dashboard__bars{grid-auto-columns:minmax(94px,1fr)}.visual-dashboard__motivation button.visual-dashboard__workout{grid-template-columns:42px 1fr auto;justify-items:start;min-height:0;padding:13px}.visual-dashboard__workout small{justify-self:end}}.visual-dashboard__bars{grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;gap:12px;padding:0;display:grid;overflow:visible}.visual-dashboard__bar{text-align:left;grid-template-rows:1fr;grid-template-columns:minmax(82px,.9fr) minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.visual-dashboard__bar span{text-align:left;font-size:.71rem}.visual-dashboard__bar i{background:repeating-linear-gradient(90deg,#0000 0 24%,#94a3b824 25%);justify-content:flex-start;align-items:center;height:30px;display:flex}.visual-dashboard__bar i b{border-radius:5px;width:auto;max-width:none;height:100%;min-height:0;box-shadow:0 0 16px}.visual-dashboard__bar strong{text-align:right;font-size:1.25rem}.visual-dashboard__consistency{padding:12px 14px}.visual-dashboard__consistency p{color:var(--text-muted);letter-spacing:.17em;word-spacing:8px;max-width:252px;margin:0 auto 5px;font-size:.58rem;font-weight:800}.visual-dashboard__consistency ol{gap:4px;max-width:252px;margin:0 auto}.visual-dashboard__consistency li{border-radius:4px;max-height:28px}.visual-dashboard__workout small{color:#93c5fd}.visual-dashboard__workout.is-complete small{color:#67e8f9}.visual-dashboard__pr-heading{justify-content:space-between;align-items:start;margin-bottom:13px;display:flex}.visual-dashboard__pr-heading h1{margin:0}.visual-dashboard__pr-heading p{color:var(--text-muted);margin:3px 0 0;font-size:.67rem}.visual-dashboard__pr-heading button{background:var(--primary);border:1px solid var(--primary-hover);color:#fff;cursor:pointer;font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0 0 3px;font-size:1.65rem;line-height:1;display:flex}.visual-dashboard__pr-heading button:hover{background:var(--primary-hover)}.visual-dashboard__pr-heading button:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.dashboard-page--visual{padding-top:calc(env(safe-area-inset-top) + 18px);display:block}.dashboard-utility{justify-content:space-between;align-items:center;margin:0 2px 15px;display:flex}.dashboard-utility__brand{color:var(--text);font-family:var(--display);letter-spacing:.05em;align-items:center;gap:7px;font-size:.72rem;font-weight:700;line-height:.8;display:flex}.dashboard-utility__brand b{color:#60a5fa;font-size:1.1rem}.dashboard-utility__brand svg{fill:none;stroke:#60a5fa;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:24px;height:24px}.dashboard-utility>div{gap:7px;display:flex}.dashboard-utility button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#16243ab8;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.dashboard-utility button:hover{color:#fca5a5;border-color:#60a5fa}.dashboard-utility button:last-child:hover{color:#93c5fd}.dashboard-utility button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.dashboard-utility button:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}.dashboard-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:var(--z-overlay);background:#010710c2;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dashboard-modal{border:1px solid var(--border-strong);width:100%;max-width:380px;z-index:var(--z-modal);background:linear-gradient(145deg,#16243a,#0f1b2d);border-radius:18px;padding:22px 18px 18px;position:relative;box-shadow:0 24px 70px #00000080}.dashboard-modal h2{color:var(--text);font-family:var(--display);letter-spacing:-.035em;margin:0 28px 10px 0;font-size:2rem;line-height:.95}.dashboard-modal p:not(.eyebrow){color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.dashboard-modal__close{color:var(--text-muted);cursor:pointer;font-family:var(--display);background:0 0;border:0;padding:0;font-size:2rem;line-height:1;position:absolute;top:11px;right:13px}.dashboard-modal__soon{background:var(--primary-soft);color:#bfdbfe;border:1px solid #60a5fa4d;border-radius:999px;margin-top:14px;padding:6px 9px;font-size:.71rem;font-weight:850;display:inline-block}.dashboard-install-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;display:grid}.dashboard-install-options button{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:53px;font-size:.8rem;font-weight:850;display:flex}.dashboard-install-options button svg{fill:none;stroke:#94a3b8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:22px;height:22px}.dashboard-install-options button.is-active,.dashboard-install-options button:hover{background:var(--primary-soft);border-color:#60a5fa}.dashboard-install-options button.is-active svg{stroke:#60a5fa}.dashboard-install-guide{background:#2563eb1a;border:1px solid #60a5fa33;border-radius:9px;padding:9px;color:#bfdbfe!important;margin-top:10px!important}.dashboard-footer{color:var(--text-muted);text-align:center;margin:16px auto 0;font-size:.68rem}.dashboard-footer span{color:#fb7185}.dashboard-donation-alias{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:3px;margin-top:14px;padding:10px;display:grid}.dashboard-donation-alias span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:800}.dashboard-donation-alias strong{color:#bfdbfe;font-family:var(--display);letter-spacing:.01em;font-size:1.35rem}.dashboard-donation-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;display:grid}.dashboard-donation-actions button,.dashboard-donation-actions a{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;font:inherit;text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:37px;padding:7px;font-size:.73rem;font-weight:850;text-decoration:none;display:flex}.dashboard-donation-actions a{border-color:var(--border-strong);color:var(--text);background:0 0}.dashboard-donation-actions a:hover{color:#bfdbfe;border-color:#60a5fa}.visual-dashboard{padding-bottom:0}.dashboard-footer{border-top:1px solid var(--border);padding:12px 0 calc(112px + env(safe-area-inset-bottom));margin-top:26px}@media (width>=768px){.dashboard-footer{padding-bottom:24px}}.dashboard-donation-actions{grid-template-columns:1fr}@media (width<=767px){.dashboard-page--visual{flex-direction:column;height:auto;min-height:100dvh;padding-bottom:0;display:flex;overflow:visible}.dashboard-page--visual .visual-dashboard{flex:none}.dashboard-page--visual .dashboard-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom));margin-top:auto}}.dashboard-utility{width:100%}.dashboard-utility>div:last-child{gap:9px}.dashboard-utility>div:last-child button{background:linear-gradient(145deg,#2563eb47,#0f1b2df0);border-color:#60a5fa61;width:42px;height:42px;box-shadow:inset 0 1px #ffffff14,0 7px 18px #0003}.dashboard-utility>div:last-child button:first-child{color:#fda4af}.dashboard-utility>div:last-child button:last-child{color:#93c5fd}.dashboard-utility>div:last-child button svg{stroke-width:2px;width:21px;height:21px}.dashboard-footer{align-self:stretch;width:100%}.dashboard-install-options button svg{display:none}.dashboard-install-options button:before{content:"";background:50%/contain no-repeat;width:24px;height:24px}.dashboard-install-options button:first-child:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233DDC84' d='M7.2 8.2 5.8 5.8l.8-.46L8 7.72A9.6 9.6 0 0 1 16 7.72l1.4-2.38.8.46-1.4 2.4A6.3 6.3 0 0 1 19 12.8v6.1c0 .66-.54 1.1-1.2 1.1H6.2c-.66 0-1.2-.44-1.2-1.1v-6.1c0-2.02.84-3.72 2.2-4.6ZM9 11a.8.8 0 1 0 0 1.6A.8.8 0 0 0 9 11Zm6 0a.8.8 0 1 0 0 1.6A.8.8 0 0 0 15 11Z'/%3E%3C/svg%3E")}.dashboard-install-options button:last-child:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f8fafc' d='M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.58 9.05 7.3c1.35.07 2.29.74 3.08.8 1.18-.24 2.3-.93 3.56-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.98-2.53 4.1ZM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25Z'/%3E%3C/svg%3E")}.visual-dashboard__consistency>div span{text-transform:capitalize}.visual-dashboard__consistency .visual-dashboard__weekdays,.visual-dashboard__consistency .visual-dashboard__calendar{grid-template-columns:repeat(7,1fr);gap:4px;max-width:266px;margin:0 auto;padding:0;list-style:none;display:grid}.visual-dashboard__consistency .visual-dashboard__weekdays{margin-bottom:5px}.visual-dashboard__weekdays li{aspect-ratio:auto;color:var(--text-muted);text-align:center;background:0 0;border:0;height:auto;max-height:none;font-size:.57rem;font-weight:850}.visual-dashboard__calendar li{aspect-ratio:1;color:var(--text-muted);font-family:var(--display);background:#94a3b814;border:1px solid #94a3b81a;border-radius:5px;justify-content:center;align-items:center;height:auto;max-height:none;font-size:.82rem;font-weight:700;display:flex}.visual-dashboard__calendar li.is-blank{background:0 0;border-color:#0000}.visual-dashboard__calendar li.is-active{color:#fff;background:#2563eb;border-color:#60a5fa;box-shadow:0 0 12px #3b82f659}.visual-dashboard__calendar li.is-today{outline-offset:1px;outline:1px solid #93c5fd}.visual-dashboard__calendar li button{appearance:none;color:inherit;cursor:pointer;font:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;width:100%;height:100%;padding:0}.visual-dashboard__calendar li button:hover{background:#08111f2e}.visual-dashboard__calendar li button:focus-visible{outline-offset:-3px;outline:2px solid #fff}.visual-dashboard__bar i{height:16px}.visual-dashboard__instructions{color:var(--text-muted);text-align:center;max-width:300px;margin:-5px auto 0;font-size:.7rem;line-height:1.45}.visual-dashboard__consistency .visual-dashboard__calendar{grid-auto-rows:28px}.visual-dashboard__calendar li{aspect-ratio:auto;height:28px;min-height:0}.visual-dashboard__calendar li button{min-height:0;line-height:26px;display:block}.calculator-source--compact{border-radius:13px;margin-bottom:10px}.calculator-source--compact .source-tabs button{min-height:34px}.calculator-source--compact .saved-source{padding:10px}.calculator-source--compact .saved-source select{appearance:auto;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font:inherit;border-radius:8px;outline:none;width:100%;min-height:38px;padding:7px 8px}.calculator-source--compact .saved-source select:focus{border-color:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-soft)}.selected-pr--compact{grid-template-columns:1fr auto auto;align-items:center;gap:3px 8px;margin-top:9px;padding:8px 9px;display:grid}.selected-pr--compact>span{grid-column:1;font-size:.76rem!important}.selected-pr--compact strong{grid-area:1/2/span 2;margin:0;font-size:1.35rem}.selected-pr--compact button{font-family:var(--display);border-radius:50%;grid-area:1/3/span 2;justify-content:center;align-items:center;width:31px;height:31px;padding:0 0 3px;font-size:1.35rem;line-height:1;display:flex}.calculator-adjustments{padding:11px 14px}.calculator-adjustments .control-grid{gap:10px;margin-top:0}.calculator-adjustments .section-label{margin-bottom:6px;font-size:.62rem}.calculator-adjustments .choice-button{min-height:35px;padding:5px 7px;font-size:.76rem}.percentage-section--compact{padding:11px 14px 13px}.percentage-section--compact .section-label{margin-bottom:7px;font-size:.62rem}.percentage-section--compact .percentage-grid{gap:5px}.percentage-section--compact .percentage-button{min-height:34px;padding:4px 2px;font-size:.78rem}@media (width>=580px){.calculator-adjustments .control-grid{grid-template-columns:160px minmax(0,1fr)}.percentage-section--compact .percentage-grid{grid-template-columns:repeat(8,1fr)}}.account-preferences{gap:14px;display:grid}.account-preferences h2{margin-bottom:0}.account-preferences__controls{gap:12px;display:grid}.account-preferences fieldset{border:0;min-width:0;margin:0;padding:0}.account-preferences legend{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:850}.account-preferences .choice-button{min-height:38px;font-size:.78rem}.account-preferences__save{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);cursor:pointer;font:inherit;border-radius:9px;min-height:40px;padding:8px 10px;font-size:.8rem;font-weight:850}.account-preferences__save:disabled{cursor:not-allowed;opacity:.65}.account-preferences__plates{background:var(--bg);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:10px;display:grid}.account-preferences__plates span,.account-preferences__plates small{color:var(--text-muted);font-size:.67rem}.account-preferences__plates strong{color:var(--text);font-family:var(--display);grid-area:1/2/span 2;font-size:1.45rem}.account-history-link{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:2px 9px;margin-top:14px;padding:13px;text-decoration:none;display:grid}.account-history-link span{font-family:var(--display);letter-spacing:-.025em;font-size:1.35rem}.account-history-link small{color:var(--text-muted);grid-column:1;font-size:.7rem}.account-history-link b{color:var(--primary-hover);grid-area:1/2/span 2;font-size:1.3rem}.account-history-link:hover{border-color:var(--primary-hover)}.history-page{max-width:780px}.history-page__hero{margin-bottom:16px}.history-page__hero h1{max-width:none}.history-tabs{background:var(--bg);grid-template-columns:1fr 1fr;padding:4px;display:grid}.history-tabs button{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;min-height:38px;font-size:.78rem;font-weight:850}.history-tabs button.is-active{background:var(--primary);color:var(--on-primary)}.history-tabs span{opacity:.72;font-size:.66rem}.history-list{padding:5px 12px;display:grid}.history-list>.account-status{padding:13px 0}.history-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 0;display:grid}.history-row:last-child{border-bottom:0}.history-row div:first-child{min-width:0}.history-row strong{color:var(--text);font-size:.84rem;display:block}.history-row div:first-child span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.68rem;display:block;overflow:hidden}.history-row>b{color:var(--text);font-family:var(--display);letter-spacing:-.04em;font-size:1.4rem}.history-row>b small{color:var(--text-muted);font-size:.65em}.history-row__actions{grid-column:1/-1;gap:5px;display:flex}.history-row__actions button{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;border-radius:7px;min-height:31px;padding:5px 7px;font-size:.68rem;font-weight:800}.history-row__actions button.is-danger{color:#f87171;border-color:#ef44448c}.history-row--workout{grid-template-columns:minmax(0,1fr) auto}.history-row__check{color:#67e8f9;background:#22d3ee26;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:900;display:flex}@media (width>=640px){.account-preferences__controls{grid-template-columns:1fr 1.25fr}.history-row{grid-template-columns:minmax(0,1fr) auto auto}.history-row__actions{grid-column:auto}.history-row--workout{grid-template-columns:minmax(0,1fr) auto auto}}.history-page__hero{border:1px solid var(--border);background:radial-gradient(circle at 88% 12%,#3b82f633,#0000 38%),linear-gradient(145deg,#16243ae6,#0a1424cc);border-radius:18px;justify-content:space-between;align-items:end;padding:18px 16px;display:flex;position:relative}.history-page__hero:after{content:"";border:1px solid #60a5fa38;border-radius:50%;width:76px;height:76px;position:absolute;top:16px;right:21px}.history-page__hero h1{z-index:1;font-size:2.6rem;position:relative}.history-panel{background:0 0;border:0;border-radius:0;overflow:visible}.history-tabs{border:1px solid var(--border);background:#0f1b2dc2;border-radius:13px;gap:4px;margin:12px 0;padding:4px}.history-tabs button{min-height:40px;transition:background .16s,color .16s}.history-tabs button.is-active{box-shadow:0 5px 13px #00000038,inset 0 1px #ffffff1f}.history-tabs span{background:#ffffff1f;border-radius:999px;margin-left:4px;padding:2px 5px}.history-list{gap:8px;padding:0}.history-row{border:1px solid var(--border);background:linear-gradient(135deg,#16243adb,#0c182ae0);border-left:3px solid #3b82f6;border-radius:12px;min-height:72px;padding:11px 11px 9px;transition:border-color .16s,transform .16s;box-shadow:inset 0 1px #ffffff06}.history-row:hover{border-color:#60a5fa;transform:translateY(-1px)}.history-row strong{font-size:.9rem}.history-row div:first-child span{max-width:27ch;font-size:.69rem}.history-row>b{color:#bfdbfe;font-size:1.7rem}.history-row__actions button{background:#08111fb8;border-color:#60a5fa40;border-radius:999px;min-height:28px;padding:4px 9px}.history-row__actions button:not(.is-danger):hover{color:#bfdbfe;border-color:#60a5fa}.history-row--workout{border-left-color:#22d3ee}.history-row--workout:hover{border-color:#67e8f9}.history-row__check{background:#22d3ee29;width:31px;height:31px;box-shadow:0 0 15px #22d3ee1f}.history-filter{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-radius:10px;justify-content:space-between;align-items:center;gap:9px;margin:-4px 0 12px;padding:8px 9px;font-size:.68rem;font-weight:850;display:flex}.history-filter select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font:inherit;text-transform:none;border-radius:7px;min-width:145px;min-height:31px;padding:4px 6px;font-size:.72rem}.history-month{gap:7px;margin-bottom:17px;display:grid}.history-month h2{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin:0 2px;font-size:.68rem;font-weight:850;display:flex}.history-month h2:after{background:var(--border);content:"";flex:1;height:1px}.history-load-more{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:999px;min-height:39px;margin:4px auto 0;padding:7px 16px;font-size:.78rem;font-weight:850;display:block}.history-load-more:hover{border-color:var(--primary-hover);color:#bfdbfe}.history-load-more:disabled{cursor:not-allowed;opacity:.65}.history-month{margin-bottom:9px;display:block}.history-month summary{color:var(--text-muted);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 3px;font-size:.68rem;font-weight:850;list-style:none;display:flex}.history-month summary::-webkit-details-marker{display:none}.history-month summary:before{content:"";border:1.5px solid;border-width:0 1.5px 1.5px 0;width:5px;height:5px;margin-right:2px;transition:transform .16s;transform:rotate(-45deg)}.history-month[open] summary{color:#bfdbfe;margin-bottom:7px}.history-month[open] summary:before{transform:rotate(45deg)}.history-month summary:after{background:var(--border);content:"";flex:1;height:1px}.history-month .history-row{margin-bottom:7px}.calculator-adjustments .control-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}@media (width>=580px){.calculator-adjustments .control-grid{grid-template-columns:160px minmax(0,1fr)}}@media (width>=640px){.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-evolution{grid-column:1/-1}.dashboard-card{padding:16px}}@media (width>=960px){.dashboard-content-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.dashboard-evolution{grid-column:1/-1}.dashboard-recent{grid-column:1}.dashboard-top-prs{grid-column:2}.dashboard-selected-detail{padding:18px}}.mobile-glass-navigation{bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;background:#0f1b2d;border:1px solid #ffffff1a;border-radius:999px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:3px;width:calc(100% - 24px);max-width:640px;padding:5px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #0000006b,inset 0 1px #ffffff0f}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-glass-navigation{-webkit-backdrop-filter:blur(24px)saturate(140%);background:linear-gradient(#16243ad1,#08111fc7)}}.mobile-glass-navigation__item{appearance:none;color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:999px;align-content:center;justify-items:center;gap:3px;min-height:56px;padding:6px 4px;font-size:.62rem;font-weight:850;line-height:1;text-decoration:none;transition:background-color .16s,color .16s,box-shadow .16s,transform .16s;display:grid}.mobile-glass-navigation__item svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px;width:20px;height:20px}.mobile-glass-navigation__item:hover{color:var(--text)}.mobile-glass-navigation__item:active{transform:scale(.96)}.mobile-glass-navigation__item.is-active{color:var(--text);background:#2563eb38;border-color:#60a5fa59;box-shadow:0 5px 14px #0003,inset 0 1px #ffffff14}.mobile-glass-navigation__item.is-active svg{color:var(--primary-hover)}.mobile-glass-navigation__add{color:var(--text)}.mobile-glass-navigation__add svg{color:var(--primary-hover)}.mobile-glass-navigation__add:hover{background:var(--primary-soft);border-color:#60a5fa33}.mobile-glass-navigation__item:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}@media (width<=767px){.dashboard-page,.app-shell--private{padding-bottom:calc(118px + env(safe-area-inset-bottom))}}@media (width<=390px){.mobile-glass-navigation{border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:calc(100% - 16px);padding:5px}.mobile-glass-navigation__item{min-height:52px}.dashboard-page,.app-shell--private{padding-bottom:calc(164px + env(safe-area-inset-bottom))}}@media (width>=768px){.mobile-glass-navigation{display:none}}@media (prefers-reduced-motion:reduce){.mobile-glass-navigation__item{transition:none}}.mobile-glass-navigation{z-index:var(--z-navigation)}body.has-active-overlay .mobile-glass-navigation{display:none}.pr-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:100%;height:100dvh;z-index:var(--z-overlay);background:#010710c2;align-items:flex-end;padding:12px;position:fixed;inset:0}.pr-modal{bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:calc(100dvh - 24px);z-index:var(--z-modal);flex-direction:column;padding:0;display:flex;position:fixed;left:12px;right:12px;overflow:hidden}.pr-modal-heading{background:var(--surface);border-bottom:1px solid var(--border);flex:none;margin:0;padding:14px 14px 12px}.pr-form{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.pr-modal__body{overscroll-behavior:contain;gap:10px;min-height:0;padding:14px;display:grid;overflow-y:auto}.pr-modal__footer{background:var(--surface);border-top:1px solid var(--border);padding:10px 14px max(12px,env(safe-area-inset-bottom));flex:none;grid-template-columns:1fr 1fr;gap:8px;display:grid;position:sticky;bottom:0}.pr-save,.pr-cancel{width:100%;min-height:44px}.pr-cancel{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:8px;font-weight:800}.pr-cancel:disabled{cursor:not-allowed;opacity:.6}.pr-cancel:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}.delete-dialog{max-height:calc(100dvh - 24px);z-index:var(--z-modal);position:relative;overflow-y:auto}.pr-modal-backdrop .delete-dialog{align-self:center}@media (width>=768px){.pr-modal-backdrop{align-items:center}.pr-modal{width:calc(100vw - 48px);max-width:620px;position:relative;bottom:auto;left:auto;right:auto}.pr-modal-heading{padding:18px 18px 14px}.pr-modal__body{padding:18px}.pr-modal__footer{padding:12px 18px 18px}}.dashboard-utility__brand img{object-fit:cover;border-radius:7px;width:27px;height:27px}.pwa-update-prompt{bottom:max(92px,calc(18px + env(safe-area-inset-bottom)));width:calc(100% - 28px);max-width:440px;z-index:var(--z-overlay);background:linear-gradient(135deg,#142642fa,#0a1628fa);border:1px solid #60a5fa7a;border-radius:15px;align-items:center;gap:14px;padding:12px 13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 42px #0000006b,inset 0 1px #ffffff17}.pwa-update-prompt strong{color:var(--text);font-size:.83rem;display:block}.pwa-update-prompt span{color:var(--text-muted);margin-top:2px;font-size:.68rem;line-height:1.35;display:block}.pwa-update-prompt__actions{flex:none;gap:6px;display:flex}.pwa-update-prompt button{color:var(--text-muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #94a3b861;border-radius:8px;min-height:34px;padding:6px 9px;font-size:.72rem;font-weight:850}.pwa-update-prompt button:last-child{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.pwa-update-prompt button:disabled{cursor:wait;opacity:.7}.pwa-update-prompt button:focus-visible{outline:3px solid var(--primary-hover);outline-offset:2px}@media (width>=768px){.pwa-update-prompt{width:min(420px,100% - 44px);bottom:22px;left:auto;right:22px;transform:none}}@media (width<=390px){.pwa-update-prompt{flex-direction:column;align-items:stretch;gap:10px}.pwa-update-prompt__actions{justify-content:flex-end}}.private-navigation__brand,.private-navigation__label,.private-navigation__hint,.private-nav-link>span,.history-pagination{display:none}@media (width>=1024px){body{background:radial-gradient(circle at 78% -12%,#2563eb24,#0000 34rem),linear-gradient(120deg,#08111f 0,#0a1424 58%,#08111f 100%)}.app-shell--private{width:calc(100% - 244px);max-width:none;margin-left:244px;margin-right:0;padding:28px 28px 64px}.dashboard-page--visual{max-width:1280px}.history-page{max-width:940px}.account-page{max-width:820px}.app-shell--private>.topbar,.app-shell--private>.private-navigation{display:none}.mobile-glass-navigation{background:linear-gradient(165deg,#16243af7,#08111ffa);border:1px solid #60a5fa33;border-radius:22px;grid-template-columns:1fr;align-content:start;gap:7px;width:212px;max-width:none;padding:18px 11px;display:grid;top:16px;bottom:16px;left:16px;overflow:hidden;transform:none;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0d}.mobile-glass-navigation:before{color:var(--text);content:"GYM PR\a PANEL DE ENTRENAMIENTO";font-family:var(--display);letter-spacing:-.025em;white-space:pre-wrap;max-width:174px;margin:8px 10px 26px;font-size:1.38rem;font-weight:800;line-height:.82}.mobile-glass-navigation__item{text-align:left;border-radius:11px;grid-template-columns:24px 1fr;align-content:center;justify-items:start;gap:11px;min-height:48px;padding:9px 12px;font-size:.77rem;display:grid}.mobile-glass-navigation__item svg{width:19px;height:19px}.mobile-glass-navigation__item.is-active{background:linear-gradient(90deg,#2563eb52,#2563eb1f);border-color:#60a5fa61;box-shadow:inset 3px 0 #60a5fa}.mobile-glass-navigation__add{margin-top:auto}.dashboard-utility{margin:0 0 20px}.visual-dashboard{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:16px}.visual-dashboard__bar-card{flex-direction:column;grid-row:1/span 2;align-self:stretch;align-items:stretch;min-height:clamp(400px,52vh,540px);padding:22px 20px;display:flex}.visual-dashboard__pr-heading{margin-bottom:12px}.visual-dashboard__pr-heading h1{font-size:2rem}.visual-dashboard__pr-heading p{font-size:.72rem}.visual-dashboard__bars{flex:1;place-content:center stretch;gap:clamp(18px,3vh,32px);width:100%}.visual-dashboard__bar{grid-template-columns:minmax(120px,.75fr) minmax(180px,1.6fr) 76px;gap:14px}.visual-dashboard__bar span{font-size:.76rem}.visual-dashboard__bar i{height:22px}.visual-dashboard__bar strong{font-size:1.45rem}.visual-dashboard__motivation{gap:9px}.visual-dashboard__motivation article,.visual-dashboard__motivation button.visual-dashboard__workout{min-height:72px;padding:12px 14px}.visual-dashboard__consistency{align-self:stretch;padding:16px}.visual-dashboard__consistency h2{font-size:1.55rem}.visual-dashboard__consistency .visual-dashboard__weekdays,.visual-dashboard__consistency .visual-dashboard__calendar{max-width:280px}.visual-dashboard__consistency .visual-dashboard__calendar{grid-auto-rows:minmax(28px,1fr)}.visual-dashboard__calendar li{height:auto;min-height:28px}.visual-dashboard__calendar li button{line-height:normal}.visual-dashboard__instructions{grid-column:1/-1;max-width:440px;margin:0 auto}.history-page__hero{min-height:150px;padding:28px 30px}.history-page__hero h1{font-size:3.4rem}.history-tabs{max-width:440px;margin:18px 0}.history-filter{max-width:440px;margin:0 0 18px}.history-row{min-height:78px;padding:13px 16px}.history-row div:first-child span{max-width:45ch}.history-pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:18px;padding-top:18px;display:flex}.history-pagination button{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font:inherit;border-radius:10px;min-height:40px;padding:8px 14px;font-size:.76rem;font-weight:850}.history-pagination button:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary-hover);color:#bfdbfe}.history-pagination button:disabled{cursor:not-allowed;opacity:.38}.history-pagination span{color:var(--text);font-family:var(--display);justify-items:center;font-size:1.45rem;line-height:1;display:grid}.history-pagination small{color:var(--text-muted);letter-spacing:.14em;margin-bottom:5px;font-family:Manrope,sans-serif;font-size:.52rem}.history-load-more{display:none}.calculator-panel{box-shadow:0 24px 70px #0000004d}.result-list{grid-template-columns:repeat(4,minmax(0,1fr))}.account-page__details{box-shadow:0 20px 55px #00000038}}@media (width>=1440px){.app-shell--private{width:calc(100% - 276px);margin-left:276px;padding-left:40px;padding-right:40px}.mobile-glass-navigation{width:228px;left:24px}.mobile-glass-navigation:before{max-width:190px;font-size:1.48rem}.visual-dashboard{grid-template-columns:minmax(0,1fr) 320px}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-page--visual{width:100%;max-width:1200px}.visual-dashboard{grid-template-columns:minmax(0,1fr);grid-template-areas:"summary""metrics""chart""calendar";gap:12px;padding-bottom:0;display:grid}.visual-dashboard__primary,.visual-dashboard__secondary{display:contents}.visual-dashboard__weekly-summary{background:radial-gradient(circle at 90% 10%,#3b82f633,#0000 48%),linear-gradient(145deg,#16243af0,#0a1424f5);border:1px solid #60a5fa59;border-radius:18px;grid-area:summary;gap:14px;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff0d}.visual-dashboard__weekly-summary>div{gap:2px;display:grid}.visual-dashboard__weekly-summary>div>span{color:#93c5fd;letter-spacing:.11em;text-transform:uppercase;font-size:.7rem;font-weight:850}.visual-dashboard__weekly-summary strong{color:var(--text);font-family:var(--display);letter-spacing:-.055em;margin-top:5px;font-size:clamp(2.7rem,15vw,4rem);line-height:.9}.visual-dashboard__weekly-summary small{color:#cbd5e1;font-size:.78rem;font-weight:750;line-height:1.3}.visual-dashboard__weekly-summary .visual-dashboard__workout-action{background:var(--primary);border-color:var(--primary-hover);color:var(--on-primary);min-height:46px;margin:0;font-size:.82rem}.visual-dashboard__weekly-summary .visual-dashboard__workout-action:hover:not(:disabled){background:var(--primary-hover)}.visual-dashboard__weekly-summary .visual-dashboard__workout-action.is-complete{color:#a5f3fc;background:#22d3ee21;border-color:#67e8f975}.visual-dashboard__motivation{grid-area:metrics;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;display:grid}.visual-dashboard__motivation article{border:1px solid var(--border);align-items:center;gap:9px;justify-items:initial;background:linear-gradient(145deg,#16243adb,#0a1424eb);border-radius:15px;min-width:0;min-height:92px;padding:11px;display:flex}.visual-dashboard__motivation article>div{gap:4px;min-width:0;display:grid}.visual-dashboard__motivation strong{font-size:1.7rem;display:block}.visual-dashboard__motivation small{color:#aebbd0;letter-spacing:.025em;text-transform:none;font-size:.66rem;line-height:1.3;display:block}.visual-dashboard__improvement small{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.visual-dashboard__improvement small span{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;max-width:none;overflow:visible}.visual-dashboard__improvement time{font-size:.92em}.visual-dashboard__bar-card{grid-area:auto/chart;min-height:0;padding:16px 14px;display:block}.visual-dashboard__pr-heading{margin-bottom:15px}.visual-dashboard__pr-heading h1{margin:0;font-size:1.85rem}.visual-dashboard__pr-heading p{margin-top:5px;font-size:.74rem;line-height:1.35}.visual-dashboard__bars{gap:14px;padding:0;display:grid;overflow:visible}.visual-dashboard__bar{text-align:left;grid-template:"name value""track track"/minmax(0,1fr) auto;align-items:center;gap:7px 10px;min-width:0;display:grid}.visual-dashboard__bar>span{color:#b3c0d3;overflow-wrap:anywhere;text-overflow:clip;white-space:normal;grid-area:name;font-size:.75rem;line-height:1.25;overflow:visible}.visual-dashboard__bar>i{background:#94a3b81a;border-radius:5px;grid-area:track;height:16px;overflow:hidden}.visual-dashboard__bar>i b{border-radius:5px;height:100%;box-shadow:0 0 12px}.visual-dashboard__bar>strong{white-space:nowrap;grid-area:value;font-size:1.24rem}.visual-dashboard__bar-empty{text-align:center;background:radial-gradient(circle,#2563eb24,#0000 64%);align-content:center;justify-items:center;gap:5px;min-height:180px;padding:24px;display:grid}.visual-dashboard__bar-empty span{color:#64748b;border:0;width:auto;height:auto;font-size:2.4rem}.visual-dashboard__bar-empty strong{color:var(--text);font-family:var(--display);font-size:1.35rem}.visual-dashboard__bar-empty small{color:#aebbd0;max-width:30ch;font-size:.73rem;line-height:1.4}.visual-dashboard__consistency{grid-area:calendar/auto;padding:12px}.visual-dashboard__consistency>div{margin-bottom:10px}.visual-dashboard__consistency h2{font-size:1.45rem}.visual-dashboard__consistency>div span{color:#aebbd0;text-transform:capitalize;font-size:.7rem}.visual-dashboard__consistency ol{gap:3px;width:100%;max-width:none;margin:0}.visual-dashboard__weekdays li{aspect-ratio:auto;color:#aebbd0;background:0 0;border:0;justify-content:center;align-items:center;min-height:24px;font-size:.67rem;font-weight:800;display:flex}.visual-dashboard__calendar li{aspect-ratio:1;place-items:center;min-width:0;height:auto;max-height:none;font-size:.75rem;display:grid}.visual-dashboard__calendar li>span,.visual-dashboard__calendar li>button{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.visual-dashboard__calendar li>button{appearance:none;border-radius:inherit;color:var(--on-primary);cursor:pointer;font:inherit;touch-action:manipulation;background:0 0;border:0;padding:0;font-weight:850}.visual-dashboard__calendar li>button:hover{background:#ffffff1f}.visual-dashboard__calendar li>button:focus-visible{outline-offset:2px;outline:3px solid #bfdbfe}.visual-dashboard__calendar li.is-today{border-color:#f8fafc}.visual-dashboard__consistency .visual-dashboard__calendar-hint{color:#aebbd0;letter-spacing:0;text-align:center;word-spacing:0;max-width:none;margin:10px 0 0;font-size:.68rem;font-weight:650;line-height:1.4}.dashboard-status{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:.78rem;display:flex}.dashboard-status.is-error{border-color:#ef444480}.dashboard-status button{color:#fca5a5;cursor:pointer;font:inherit;background:0 0;border:1px solid;border-radius:8px;flex:none;min-height:40px;padding:6px 10px;font-size:.73rem;font-weight:850}.dashboard-status button:focus-visible,.delete-dialog button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.delete-dialog .auth-message{margin:-6px 0 14px}.visual-dashboard--loading{grid-template-areas:"summary""metrics""chart""calendar"}.visual-dashboard__loading-card{border:1px solid var(--border);background:linear-gradient(110deg,#16243ab8,#22344ee6,#16243ab8);border-radius:18px;min-height:110px;animation:1.4s ease-in-out infinite alternate dashboard-loading}.visual-dashboard__loading-card--summary{grid-area:summary}.visual-dashboard__loading-card--metrics{grid-area:metrics}.visual-dashboard__loading-card--chart{grid-area:chart;min-height:300px}.visual-dashboard__loading-card--calendar{grid-area:calendar;min-height:310px}@keyframes dashboard-loading{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.visual-dashboard__loading-card{animation:none}}@media (width<=389px){.dashboard-page--visual{padding-inline:12px}.visual-dashboard{gap:10px}.visual-dashboard__weekly-summary,.visual-dashboard__bar-card{padding:14px 12px}.visual-dashboard__motivation article{gap:7px;padding:9px 8px}.visual-dashboard__badge{width:34px;height:34px}.visual-dashboard__motivation strong{font-size:1.52rem}.visual-dashboard__consistency{padding:10px 8px}.visual-dashboard__consistency ol{gap:2px}}@media (width>=480px){.visual-dashboard__bar{grid-template:"name track value"1fr/minmax(105px,.72fr) minmax(80px,1fr) auto;gap:10px}.visual-dashboard__bar>i{height:26px}}@media (width<=1023px){.dashboard-page--visual .dashboard-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}@media (width>=768px){.visual-dashboard{grid-template-columns:minmax(0,1fr) minmax(250px,290px);grid-template-areas:"primary secondary";align-items:start;gap:16px}.visual-dashboard__primary,.visual-dashboard__secondary{gap:16px;min-width:0;display:grid}.visual-dashboard__weekly-summary,.visual-dashboard__motivation,.visual-dashboard__bar-card,.visual-dashboard__consistency{grid-area:auto}.visual-dashboard__weekly-summary{grid-template-columns:minmax(0,1fr) minmax(170px,210px);align-items:center}.visual-dashboard__weekly-summary .visual-dashboard__workout-action{width:100%}.visual-dashboard__motivation{grid-template-columns:1fr}.visual-dashboard__motivation article{min-height:86px}.visual-dashboard__bar-card{min-height:360px}.visual-dashboard__consistency{align-self:start}.visual-dashboard--loading{grid-template-columns:minmax(0,1fr) minmax(250px,290px);grid-template-areas:"summary metrics""chart calendar"}}@media (width>=768px) and (width<=1023px){.dashboard-page~.mobile-glass-navigation{display:grid}}@media (width>=1024px){.dashboard-page--visual{width:calc(100% - 244px);max-width:1200px;margin-left:244px;margin-right:0;padding:28px 28px 64px}.visual-dashboard{grid-template-rows:none;grid-template-columns:minmax(0,1fr) clamp(280px,30%,320px)}.visual-dashboard__bar-card{grid-row:auto;min-height:400px;padding:22px 20px;display:block}.visual-dashboard__bars{align-content:center;gap:clamp(16px,2.4vh,26px)}.visual-dashboard__consistency{padding:16px}.visual-dashboard__consistency .visual-dashboard__weekdays,.visual-dashboard__consistency .visual-dashboard__calendar{max-width:none}.visual-dashboard__calendar li{min-height:34px}.dashboard-page--visual .dashboard-footer{padding-bottom:24px}}@media (width>=1440px){.dashboard-page--visual{width:calc(100% - 276px);max-width:1200px;margin-left:276px;padding-left:40px;padding-right:40px}.visual-dashboard{grid-template-columns:minmax(0,1fr) 320px}}.visual-dashboard__bars{margin:0;list-style:none}.visual-dashboard__bars>li{min-width:0}.visual-dashboard__bar{color:inherit;text-decoration:none}.visual-dashboard__bar:focus-visible{outline-offset:3px;border-radius:8px;outline:3px solid #93c5fd}.progress-page{max-width:1200px}.progress-page__hero{padding:8px 2px 22px}.progress-page__hero h1{max-width:none;font-size:clamp(2.8rem,13vw,4.8rem)}.progress-page__hero>p:last-child{color:var(--text-muted);max-width:54ch;margin:12px 0 0;font-size:.88rem;line-height:1.45}.progress-layout,.progress-content{gap:14px;min-width:0;display:grid}.progress-selector{min-width:0}.progress-selector__select{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:.68rem;font-weight:850;display:grid}.progress-selector__select select{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font:inherit;text-overflow:ellipsis;text-transform:none;border-radius:11px;outline:none;width:100%;min-height:48px;padding:10px 38px 10px 12px;font-size:.84rem;overflow:hidden}.progress-selector__select select:focus-visible,.progress-selector__desktop button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.progress-selector__desktop{display:none}.progress-summary,.progress-chart-card,.progress-history,.progress-empty,.progress-error{border:1px solid var(--border);background:linear-gradient(145deg,#16243ae6,#0a1424f2);border-radius:18px;min-width:0}.progress-summary{gap:10px;padding:14px;display:grid}.progress-summary__primary,.progress-summary__secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.progress-summary__secondary article:last-child{grid-column:1/-1}.progress-summary article{background:#08111f8c;border:1px solid #36506fb3;border-radius:13px;min-width:0;padding:12px}.progress-summary article>span{color:#aebbd0;letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:850;display:block}.progress-summary article>strong{color:var(--text);font-family:var(--display);letter-spacing:-.025em;overflow-wrap:anywhere;margin-top:7px;font-size:1.2rem;line-height:1.1;display:block}.progress-summary__primary article>strong{font-size:clamp(1.85rem,9vw,2.8rem)}.progress-summary article>strong small{color:var(--text-muted);font-size:.55em}.progress-summary article>small{color:#93c5fd;margin-top:4px;font-size:.68rem;line-height:1.35;display:block}.progress-summary--empty{padding:18px}.progress-summary--empty h2,.progress-empty h2{color:var(--text);font-family:var(--display);margin:0;font-size:1.7rem}.progress-summary--empty p,.progress-empty p{color:var(--text-muted);margin:7px 0;line-height:1.45}.progress-summary--empty span{color:#93c5fd;font-size:.72rem}.progress-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.progress-section-heading .eyebrow{margin-bottom:4px}.progress-section-heading h2{color:var(--text);font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:1.75rem}.progress-section-heading>span{color:var(--text-muted);text-align:right;padding-top:5px;font-size:.68rem}.progress-chart-card{padding:14px 10px 12px;overflow:hidden}.progress-chart-card--empty{min-height:230px;padding:16px}.progress-chart-card--empty>p{color:var(--text-muted);text-align:center;margin:42px auto}.progress-chart__detail{border:1px solid var(--border);background:#08111fb8;border-radius:11px;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:58px;margin:0 2px 8px;padding:9px 11px;display:flex}.progress-chart__detail>div{align-items:baseline;gap:7px;display:flex}.progress-chart__detail strong{color:var(--text);font-family:var(--display);font-size:1.4rem}.progress-chart__detail time,.progress-chart__detail>span{color:var(--text-muted);font-size:.68rem}.progress-chart__detail>span{background:var(--primary-soft);color:#bfdbfe;border-radius:999px;padding:4px 7px;font-weight:800}.progress-chart__detail p{color:#cbd5e1;overflow-wrap:anywhere;flex-basis:100%;margin:1px 0 0;font-size:.72rem;line-height:1.4}svg.progress-chart{touch-action:manipulation;width:100%;max-width:100%;height:auto;display:block;overflow:visible}.progress-chart__grid{stroke:#94a3b82b;stroke-width:1px}.progress-chart__axis-label{fill:#aebbd0;font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.progress-chart__axis-label--date{font-size:10px}.progress-chart__line{fill:none;stroke:#60a5fa;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.progress-chart__point{cursor:pointer;fill:#0f1b2d;stroke:#93c5fd;stroke-width:2.5px}.progress-chart__point.is-initial{fill:#a78bfa;stroke:#ddd6fe}.progress-chart__point.is-improvement{fill:#22d3ee;stroke:#cffafe}.progress-chart__point.is-regular{fill:#0f1b2d;stroke:#94a3b8}.progress-chart__point:focus{stroke:#fff;stroke-width:4px;outline:none}.progress-chart__current-ring{fill:none;stroke:#fbbf24;stroke-dasharray:3 2;stroke-width:2px}.progress-chart__legend{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:10px;margin-top:-3px;font-size:.65rem;display:flex}.progress-chart__legend span{align-items:center;gap:5px;display:flex}.progress-chart__legend i{background:#0f1b2d;border:2px solid #94a3b8;width:10px;height:10px;display:inline-block}.progress-chart__legend i.is-initial{background:#a78bfa;border-color:#ddd6fe;border-radius:2px}.progress-chart__legend i.is-improvement{background:#22d3ee;border-color:#cffafe;transform:rotate(45deg)}.progress-chart__legend i.is-current{background:0 0;border:2px dashed #fbbf24;border-radius:50%}.progress-history{padding:14px}.progress-history ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.progress-history article{border:1px solid var(--border);background:#08111f8c;border-radius:12px;padding:11px}.progress-history__main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.progress-history__main time{color:#cbd5e1;font-size:.75rem}.progress-history__main strong{color:var(--text);font-family:var(--display);white-space:nowrap;font-size:1.55rem}.progress-history__main small{color:var(--text-muted);font-size:.62em}.progress-history__meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 9px;margin-top:7px;font-size:.66rem;display:flex}.progress-history__badge{background:var(--primary-soft);color:#bfdbfe;border:1px solid #60a5fa4d;border-radius:999px;padding:4px 7px;font-weight:850}.progress-history__invalid{color:#fca5a5}.progress-history article>p{border-top:1px solid var(--border);color:#cbd5e1;overflow-wrap:anywhere;margin:9px 0 0;padding-top:8px;font-size:.74rem;line-height:1.45}.progress-empty-copy{color:var(--text-muted);text-align:center;margin:24px 0}.progress-data-warning{color:#fde68a;background:#f59e0b1a;border:1px solid #fbbf2459;border-radius:11px;margin:0;padding:10px 12px;font-size:.75rem;line-height:1.45}.progress-loading{gap:12px;display:grid}.progress-loading div{border:1px solid var(--border);background:linear-gradient(110deg,#16243ab8,#22344ee6,#16243ab8);border-radius:18px;min-height:120px;animation:1.4s ease-in-out infinite alternate dashboard-loading}.progress-loading div:nth-of-type(2){min-height:310px}.progress-loading div:nth-of-type(3){min-height:230px}.progress-error{justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.progress-error span{color:#fecaca;font-size:.8rem}.progress-error button{color:#fecaca;cursor:pointer;font:inherit;background:0 0;border:1px solid #fca5a5;border-radius:9px;min-height:44px;padding:8px 12px;font-size:.76rem;font-weight:850}.progress-empty{padding:24px 18px}.progress-error button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}@media (width<=767px){.progress-page>.private-navigation{display:none}}@media (width>=600px){.progress-summary__secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-summary__secondary article:last-child{grid-column:auto}.progress-chart-card,.progress-history{padding:18px}}@media (width>=1024px){.progress-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}.progress-selector{position:sticky;top:24px}.progress-selector__select{display:none}.progress-selector__desktop{border:1px solid var(--border);background:linear-gradient(145deg,#16243ae6,#0a1424f2);border-radius:16px;padding:12px;display:block}.progress-selector__desktop>p{color:#aebbd0;letter-spacing:.1em;text-transform:uppercase;margin:2px 5px 10px;font-size:.68rem;font-weight:850}.progress-selector__desktop>div{gap:5px;display:grid}.progress-selector__desktop button{color:#cbd5e1;cursor:pointer;font:inherit;overflow-wrap:anywhere;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;width:100%;min-height:44px;padding:8px 10px;font-size:.76rem;font-weight:750;line-height:1.35}.progress-selector__desktop button:hover,.progress-selector__desktop button.is-active{background:var(--primary-soft);color:var(--text);border-color:#60a5fa59}.progress-page__hero{padding-top:0}.progress-summary{padding:16px}}@media (prefers-reduced-motion:reduce){.progress-loading div{animation:none}}
