html{background-color:#0f172a;overscroll-behavior:none}body{color:#a0dba0;background-color:navy;background:linear-gradient(160deg,#091755,#143a90 40%,#17305a,#0f172a);font-family:monospace;margin:1em;padding:2em;text-align:center;box-sizing:border-box}button{font-family:inherit;font-size:inherit;cursor:pointer}h1{font-size:3.2em;line-height:1.1;color:inherit}a{font-weight:500;color:#da9be8;text-decoration:inherit}a:hover{color:#c64d98}footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 0;color:#747bff}.cta-button{min-height:52px;padding:.6em 1.2em;border-radius:8px;border:1px solid rgba(163,230,53,.22);font-size:1em;font-weight:700;font-family:inherit;letter-spacing:.02em;background:linear-gradient(135deg,#0e2376f5,#020617fa);color:#b7e4a8;cursor:pointer;box-shadow:0 10px 24px #00000047,inset 0 1px #ffffff0d;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease}.cta-button:hover{transform:translateY(-2px);border-color:#a3e6356b;color:#d9f99d;background:linear-gradient(135deg,salmon,#1212a2);box-shadow:0 14px 30px #00000057,0 0 0 1px #a3e63514,0 0 18px #a3e6351f}button:active{transform:translateY(0);box-shadow:0 8px 18px #0000003d,inset 0 1px #ffffff0a}button:focus-visible{outline:2px solid rgba(244,114,182,.75);outline-offset:3px}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 8px 18px #0000002e}.cta-row{display:flex;flex-direction:column;align-items:center;gap:.8rem}.back-btn{background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;transition:color .2s ease}.back-btn:hover{color:#fffc}.site-title{text-decoration:none;color:inherit;font:inherit;text-shadow:0 1px 0 #ffffff33,0 -1px 0 #00000066,0 2px 4px #00000055}a.site-title:hover{color:#747bff}table{width:min(1100px,100%);margin:2rem auto 1rem;padding:20px;box-sizing:border-box;border-collapse:separate;border-spacing:0;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:18px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 12px 32px #00000038;overflow:hidden}tr th,tr td{border:1px solid rgba(250,128,114,.751);padding:.4em .7em;text-align:center}tr td{border-color:#ba4e42d4}tbody tr{transition:background .15s ease}tbody tr:hover td{background:#ffffff0d}.example-row td{opacity:.75;font-style:italic}.empty-hint{color:#faaaa0f2;font-size:.9rem;margin-top:1.2rem;animation:fade-in .8s ease-in}.empty-hint p{margin:.3rem 0}.underline-reveal{color:#faaaa080;animation:secondary-flicker 1.8s 3s ease-out forwards}@keyframes secondary-flicker{0%{color:#faaaa080}8%{color:#e8edd5cc}14%{color:#faaaa080}28%{color:#e8edd5b3}36%{color:#faaaa08c}50%{color:#a0dba0;text-shadow:0 0 6px rgba(160,219,160,.3)}to{color:#a0dba0;text-shadow:0 0 8px rgba(160,219,160,.25),0 0 20px rgba(160,219,160,.1)}}.welcome-line{font-family:Dancing Script,cursive;font-size:2rem;color:#1a1008;margin-bottom:.6rem;animation:warm-up 3s .9s ease-out forwards;text-shadow:none}.welcome-line.no-animate{color:#e8edd5;text-shadow:0 0 10px rgba(232,237,213,.35),0 0 25px rgba(232,237,213,.18),0 0 50px rgba(220,230,200,.08);animation:none}.underline-reveal.no-animate{color:#a0dba0;text-shadow:0 0 8px rgba(160,219,160,.25),0 0 20px rgba(160,219,160,.1);animation:none}@keyframes warm-up{0%{color:#1a1008;text-shadow:none}3%{color:#f5eedd;text-shadow:0 0 28px rgba(245,238,220,.7)}6%{color:#1a1008;text-shadow:none}12%{color:#1a1008;text-shadow:none}14%{color:#c8a060;text-shadow:0 0 12px rgba(200,160,96,.35)}16%{color:#1a1008;text-shadow:none}20%{color:#f5eedd;text-shadow:0 0 30px rgba(245,238,220,.75)}25%{color:#6a4820;text-shadow:0 0 4px rgba(106,72,32,.15)}30%{color:#d8c090;text-shadow:0 0 14px rgba(216,192,144,.4)}33%{color:#a07838;text-shadow:0 0 8px rgba(160,120,56,.25)}36%{color:#e0d0a8;text-shadow:0 0 16px rgba(224,208,168,.45)}39%{color:#c8b080;text-shadow:0 0 10px rgba(200,176,128,.3)}46%{color:ivory;text-shadow:0 0 35px rgba(255,255,240,.8)}55%{color:#f0f5e0;text-shadow:0 0 20px rgba(240,245,224,.5)}70%{color:#e8edd5;text-shadow:0 0 14px rgba(232,237,213,.4)}to{color:#e8edd5;text-shadow:0 0 10px rgba(232,237,213,.35),0 0 25px rgba(232,237,213,.18),0 0 50px rgba(220,230,200,.08)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes heading-warm{0%{color:#8a7058;text-shadow:none}to{color:#e8edd5;text-shadow:0 0 6px rgba(232,237,213,.15),0 0 14px rgba(220,230,200,.06)}}.icon-button{background:none;border:none;padding:0;color:inherit;cursor:pointer}.icon-button svg{transition:transform .12s ease,opacity .12s ease}.icon-button:hover svg{transform:scale(1.15)}thead tr:first-child th:first-child{border-top-left-radius:18px}thead tr:first-child th:last-child{border-top-right-radius:18px}tbody tr:last-child td:first-child{border-bottom-left-radius:18px}tbody tr:last-child td:last-child{border-bottom-right-radius:18px}input{font-family:Franklin Gothic Medium,Arial Narrow,Arial,sans-serif}#root{max-width:1280px;margin:auto}footer{margin-top:6em}footer .signout-btn,footer .copyright{opacity:.7}*,*:before,*:after{box-sizing:border-box}.exercise-form{width:min(1100px,100%);max-width:min(92vw,100vw - 6em - 2rem);margin:0 auto 1rem;padding:20px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:0;background:#ffffff14;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 12px 32px #00000038;overflow:hidden}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#cbd5e1}.name-field{flex:2.2;min-width:220px}.reps-field,.weight-field{flex:1;min-width:110px}.unit-field{flex:.8;min-width:160px}.date-field{flex:1;min-width:150px}.submit-field{flex:0 0 auto}.exercise-form input,.exercise-form select{width:100%;max-width:100%;min-height:48px;padding:0 14px;font-family:inherit;font-size:1rem;border-radius:0;border:1px solid rgba(186,78,66,.833);border-right:none;background-color:inherit;color:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.exercise-form .form-field:last-child input,.exercise-form .form-field:last-child select{border-right:1px solid rgba(186,78,66,.833)}.exercise-form .form-field:first-child input,.exercise-form .form-field:first-child select{border-top-left-radius:18px}.exercise-form .date-field input{border-top-right-radius:18px;border-right:1px solid rgba(186,78,66,.833)}.exercise-form input::placeholder{color:#64748b}.exercise-form input:-webkit-autofill,.exercise-form input:-webkit-autofill:hover,.exercise-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgba(20,58,144,.85) inset;-webkit-text-fill-color:rgb(160,219,160);caret-color:#a0dba0;transition:background-color 5000s ease-in-out 0s}.exercise-form input:hover,.exercise-form select:hover{background-color:#5f7eb3}.exercise-form input:focus,.exercise-form select:focus{position:relative;z-index:1;background-color:#0808082e;border:1px solid rgba(255,255,255,.22);color:#b7e4a8;box-shadow:0 0 0 1px #a3e6352e}.exercise-form input:disabled,.exercise-form .is-disabled{opacity:.75;cursor:not-allowed;background-color:#415c89}.notes-form-field{flex:1 1 100%;min-width:0}.notes-input{width:100%;text-align:left;min-height:48px;padding:.7rem;font-family:inherit;font-size:1rem;color:inherit;background-color:inherit;border:1px solid rgba(186,78,66,.833);border-radius:0 0 18px 18px;outline:none;resize:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.notes-input:hover{background-color:#5f7eb3}.notes-input:focus{position:relative;z-index:1;background-color:#0808082e;border:1px solid rgba(255,255,255,.22);color:#b7e4a8;box-shadow:0 0 0 1px #a3e6352e}.notes-input::placeholder{color:#64748b;text-align:center}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#ffffff12}.detail-page{max-width:500px;margin:0 auto}.detail-card{background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-align:left}.detail-name{font-size:1.4rem;color:#a0dba0;margin:0 0 1.5rem;text-align:center}.detail-fields{display:flex;justify-content:space-around;gap:1rem;margin-bottom:1.5rem}.detail-field{display:flex;flex-direction:column;align-items:center;gap:.3rem}.detail-label{font-size:.75rem;color:#ffffff73;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:1.1rem;color:#e0e0e0}.detail-notes{margin-bottom:1.5rem}.detail-notes-text{margin:.4rem 0 0;color:#cbd5e1;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.detail-actions{display:flex;justify-content:center;gap:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.detail-actions .icon-button svg{width:20px;height:20px}.home-greeting{font-size:1.15rem;font-family:Dancing Script,cursive;color:#e8edd5;text-shadow:0 0 6px rgba(232,237,213,.15);margin-bottom:.5rem;opacity:.7;transition:color .3s ease,text-shadow .3s ease}.home-greeting:hover{animation:greeting-glow 1.5s ease-out forwards;opacity:1}@keyframes greeting-glow{0%{color:#e8edd5;text-shadow:0 0 6px rgba(232,237,213,.15);font-size:1.15rem}30%{color:#f0f5e0;text-shadow:0 0 14px rgba(240,245,224,.4);font-size:1.25rem}55%{color:ivory;text-shadow:0 0 28px rgba(255,255,240,.7),0 0 50px rgba(232,237,213,.3);font-size:1.3rem}70%{color:#e8edd5;text-shadow:0 0 10px rgba(232,237,213,.35),0 0 25px rgba(232,237,213,.18);font-size:1.3rem}to{color:ivory;text-shadow:0 0 28px rgba(255,255,240,.7),0 0 50px rgba(232,237,213,.3);font-size:1.3rem}}.heading-error-zone{height:2.2rem;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;margin-top:3.5rem;margin-bottom:-.8rem}.heading-error-zone .form-heading{transition:transform .3s ease;transform:translateY(0)}.heading-error-zone.has-error .form-heading{transform:translateY(-1.6rem)}.heading-error-zone.has-error .form-error{transform:translateY(-.4rem)}.heading-error-zone .form-error{margin:0;opacity:1;transition:opacity .6s ease}.heading-error-zone.fading .form-error{opacity:0}.heading-error-zone.fading .form-heading{transform:translateY(0)}.form-heading{font-size:1.4rem;font-family:Dancing Script,cursive;color:#8a7058;text-shadow:none;margin:0;animation:heading-warm 1.2s .3s ease-out forwards}.form-heading.no-animate{color:#e8edd5;text-shadow:0 0 6px rgba(232,237,213,.15),0 0 14px rgba(220,230,200,.06);animation:none}.form-error,.field-help{min-height:1.25rem}.form-error{margin:0 0 .75rem;color:#ff9a9a;font-size:.75rem;text-align:center}.field-help{margin-top:.35rem;font-size:.85rem;opacity:.8;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 900px){.exercise-form{flex-direction:column;align-items:center;width:min(350px,88vw);max-width:88vw;padding:20px 16px;margin:1rem auto;border-radius:18px}.name-field,.reps-field,.weight-field,.unit-field,.date-field,.submit-field{width:min(100%,300px);max-width:300px;min-width:0}.form-field{width:100%;align-items:center}.form-field label{width:100%;text-align:center}.form-field input,.form-field select,.form-field button{width:100%;max-width:100%}.exercise-form input,.exercise-form select{text-align:center;border-right:1px solid rgba(186,78,66,.833);border-bottom:none}.exercise-form .form-field:first-child input,.exercise-form .form-field:first-child select{border-radius:18px 18px 0 0}.exercise-form .date-field input{border-radius:0;border-right:1px solid rgba(186,78,66,.833)}.notes-input{width:min(100%,300px);max-width:300px;min-width:0}.prefix-shell input,.suffix-shell input{text-align:center}.prefix-shell input{padding-left:14px}.suffix-shell input{padding-right:14px}.input-affix--prefix{left:18px}.input-affix--suffix{right:18px}table{padding:10px;font-size:.85rem}tr th,tr td{padding:.3em .35em}tr td:nth-last-child(-n+3){border-left:none;border-right:none}tr td:last-child{border-right:1px solid rgba(186,78,66,.833)}.icon-button svg{width:22px;height:22px}}.table-scaler{width:100%;overflow:visible}.table-scaler.fade-in{animation:fade-in .6s ease-in}@media (max-width: 480px){body{margin:.25em;padding:.5em}.table-scaler{transform:scale(.93);transform-origin:top center;margin-bottom:-1rem}.name-row{flex-direction:column}.auth-page{margin:0 -.5em}.auth-card{max-width:100vw}}.signout-btn{background:none;border:none;color:#ffffff80;padding:.4rem;cursor:pointer;font-size:.75rem;font-family:inherit;transition:color .2s ease}.signout-btn:hover{color:#ffffffe6}.auth-page{display:flex;justify-content:center;padding:2rem 0}.auth-card{background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 1.5rem;width:100%;max-width:min(400px,100vw - 6em - 2rem);text-align:center;box-sizing:border-box}.auth-card h2{color:#e0e0e0;font-size:1.5rem;margin:0 0 .3rem;font-weight:600}.auth-subtitle{color:#ffffff80;font-size:.9rem;margin:0 0 1.8rem}.auth-error{background:#ff50501f;border:1px solid rgba(255,80,80,.25);color:#ff8a8a;padding:.6rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1.2rem}.auth-form{display:flex;flex-direction:column;gap:.8rem}.auth-form input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.75rem 1rem;color:#e0e0e0;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s ease}.auth-form input::placeholder{color:#ffffff59}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgba(15,23,42,.97) inset;-webkit-text-fill-color:#e0e0e0;caret-color:#e0e0e0;transition:background-color 5000s ease-in-out 0s}.auth-form input:focus{border-color:#90ee9066}.name-row{display:flex;gap:.8rem}.name-row input{flex:1;min-width:0}.password-field{position:relative}.password-field input{width:100%;padding-right:2.8rem}.eye-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff59;cursor:pointer;padding:.25rem;display:flex;align-items:center;transition:color .2s ease}.eye-toggle:hover{color:#ffffffb3}.eye-toggle:active{transform:translateY(-50%);box-shadow:none}.auth-submit{margin-top:.5rem;padding:.75rem;border-radius:8px;border:none;background:#90ee9026;color:#90ee90;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.auth-submit:hover:not(:disabled){background:#90ee9040}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.password-rules{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.78rem;text-align:left}.password-rules li{white-space:nowrap}.password-rules li:before{margin-right:.3em}.rule-pass{color:#90ee90}.rule-pass:before{content:"✓"}.rule-fail{color:#fff6}.rule-fail:before{content:"✗"}.age-confirm{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#fff9;cursor:pointer}.age-confirm input[type=checkbox]{accent-color:#90ee90;width:16px;height:16px;cursor:pointer}.auth-toggle{margin-top:1.5rem;color:#ffffff80;font-size:.85rem}.auth-toggle-btn{background:none;border:none;color:#90ee90;cursor:pointer;font-family:inherit;font-size:.85rem;text-decoration:underline;text-underline-offset:2px;padding:0}.auth-toggle-btn:hover{color:#b0ffb0}.exercises-loading{display:flex;justify-content:center;padding:4rem 0}.auth-loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.auth-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#90ee9080;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#ff505026;border:1px solid rgba(255,80,80,.3);color:#ff9a9a;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-family:inherit;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;animation:toast-in .3s ease-out;z-index:1000}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#e5ed71de;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}
