div.tooltip-container{position:relative;display:inline-block}div.tooltip{position:fixed;z-index:9999;pointer-events:none;opacity:0;visibility:hidden;transform:scale(.7) translateY(8px);transition:all .3s cubic-bezier(.34,1.56,.64,1)}div.tooltip.visible{opacity:1;visibility:visible;transform:scale(1) translateY(0)}div.tooltip div.tooltip-content{padding:8px 12px;max-width:250px;word-wrap:break-word;font-size:11pt;font-weight:400;line-height:1.4;color:var(--text);background-color:var(--panel-background);border:1px solid var(--outline);border-radius:8px;box-shadow:2px 2px 8px var(--panel-shadow-dark),-2px -2px 8px var(--panel-shadow-light),inset 1px 1px 3px var(--panel-shadow-light),inset -1px -1px 3px var(--panel-shadow-dark)}@media(max-width:768px){div.tooltip-content{font-size:10pt;padding:6px 10px;max-width:200px}}@media(hover:none){div.tooltip{display:none}}a.link-button{padding:8px 16px;display:inline-flex;align-items:center;gap:6px;background-color:transparent;color:var(--inverse-primary);border:none;border-radius:8px;box-shadow:0 5px 10px var(--panel-shadow-dark);text-align:center;font-size:14px;font-family:var(--font-normal);text-decoration:none;transition:all .15s ease-in-out}a.link-button:hover{transform:scale(1.05)}a.link-button.background-primary{background-color:var(--primary);color:var(--inverse-primary)}a.link-button.background-secondary{background-color:var(--secondary);color:var(--inverse-primary)}a.link-button.background-transparent{background-color:transparent;color:var(--primary)}a.link-button.font-normal{font-family:var(--font-normal);font-weight:var(--font-weight-normal);text-transform:none}a.link-button.font-display{font-family:var(--font-display);font-weight:600;text-transform:uppercase}a.link-button.outline-none{border:none}a.link-button.outline-normal{border:1px solid var(--outline)}a.link-button.outline-primary{border:1px solid var(--primary)}a.link-button.fit-to-text{width:fit-content;display:inline-flex}a.link-button img.link-button-icon{height:18px;width:auto;object-fit:contain;margin-right:5px}.progress-browser-btn{background:none;border:1px solid var(--outline);border-radius:6px;padding:4px 12px;font-family:var(--font-display);font-size:.75rem;font-weight:600;color:var(--primary);cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.progress-browser-btn:hover{background:var(--panel-background-translucent);border-color:#8b5cf666}.pb-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text);margin:0 0 16px;text-align:center}.pb-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.pb-nav-btn{background:none;border:1px solid var(--outline);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--primary);cursor:pointer;transition:background .15s ease}.pb-nav-btn:hover{background:var(--panel-background-translucent)}.pb-nav-label{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text);min-width:160px;text-align:center}.pb-calendar{margin-bottom:20px}.pb-month-header{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}.pb-month-label{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text);min-width:140px;text-align:center}.pb-weekday-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.pb-weekday-label{text-align:center;font-family:var(--font-display);font-size:.7rem;font-weight:600;color:var(--secondary);padding:4px 0}.pb-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.pb-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.8rem;font-weight:500;color:var(--text);border-radius:6px;cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.pb-day:hover{background:var(--panel-background-translucent)}.pb-day--empty{cursor:default}.pb-day--selected{background:#8b5cf640;border-color:#8b5cf680}.pb-day--today{font-weight:700;color:#64dc96}.pb-day--has-data{position:relative}.pb-day--has-data:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#64dc96}.pb-overall{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pb-overall-label{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text)}.pb-overall-pct{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#64dc96}.pb-track{height:7px;border-radius:99px;background:#ffffff14;overflow:hidden;margin-bottom:14px}.pb-track-fill{height:100%;background:#64dc96;border-radius:99px;transition:width .3s ease}.pb-rows{display:flex;flex-direction:column;gap:8px}.pb-row{display:flex;align-items:center;gap:12px}.pb-row-label{width:100px;font-size:.8rem;font-weight:500;color:var(--text);flex-shrink:0}.pb-row-track{flex:1;height:5px;border-radius:99px;background:#ffffff14;overflow:hidden}.pb-row-fill{height:100%;background:#64dc96;border-radius:99px;transition:width .3s ease}.pb-row-count{width:40px;text-align:right;font-size:.75rem;opacity:.6}.pb-empty{text-align:center;font-size:.85rem;color:var(--secondary);padding:20px 0}.admin-login-wrapper{display:inline-flex;align-items:center;gap:8px}.admin-toggle-btn{background:none;border:1px solid var(--outline);border-radius:8px;color:var(--secondary);font-family:var(--font-display);font-size:11px;padding:4px 10px;cursor:pointer;opacity:.6;transition:opacity .2s,border-color .2s}.admin-toggle-btn:hover{opacity:1;border-color:var(--primary)}.admin-toggle-btn.active{border-color:var(--positive);color:var(--positive);opacity:1}.admin-password-prompt{display:inline-flex;align-items:center;gap:6px}.admin-password-input{width:140px;padding:4px 8px;font-size:12px;font-family:var(--font-normal);border-radius:6px;border:1px solid var(--outline);background:var(--panel-background-translucent);color:var(--text);outline:none}.admin-password-input:focus{border-color:var(--primary)}.admin-password-submit{background:var(--primary);color:var(--inverse-primary);border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-family:var(--font-display);cursor:pointer;transition:opacity .15s}.admin-password-submit:hover{opacity:.85}.admin-password-cancel{background:none;border:none;color:var(--secondary);font-size:16px;cursor:pointer;padding:0 4px;opacity:.6}.admin-password-cancel:hover{opacity:1}.admin-error-msg{color:var(--negative);font-size:11px}.ct-wrapper{display:flex;gap:24px;flex-wrap:wrap;width:100%;max-width:920px;margin:0 auto}.ct-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid rgba(100,220,150,.4);border-radius:6px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.ct-checkbox:hover{border-color:#64dc96b3;box-shadow:0 0 0 3px #64dc961a}.ct-checkbox:checked{background:#64dc96;border-color:#64dc96;box-shadow:0 0 0 3px #64dc9626}.ct-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#0a0625;line-height:1}.ct-checkbox:disabled{cursor:default;opacity:.85}.ct-checkbox:disabled:checked{background:#64dc96;border-color:#64dc96}.ct-calendar{flex:1 1 340px;background:var(--panel-background-translucent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--outline);border-radius:16px;padding:24px}.ct-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.ct-nav-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:inherit;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ct-nav-btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.ct-nav-btn:disabled{opacity:.25;cursor:default}.ct-month-label{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:.3px}.ct-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ct-day-header{text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.4;padding-bottom:8px}.ct-day-cell{position:relative;background:none;border:1px solid transparent;color:inherit;border-radius:10px;padding:8px 0;cursor:pointer;font-size:13px;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:3px;transition:all .15s ease}.ct-day-cell:hover{background:#ffffff14}.ct-day-cell.today{border-color:#ffffff40;font-weight:700}.ct-day-cell.selected{background:#64dc9626;border-color:#64dc9666;color:#64dc96;font-weight:700}.ct-day-cell.has-entry{background:#64dc960f}.ct-day-cell.has-entry:not(.selected):after{content:"";width:5px;height:5px;border-radius:50%;background:#64dc96;position:absolute;bottom:3px}.ct-day-cell.full-completion:not(.selected):after{width:6px;height:6px;box-shadow:0 0 6px #64dc9699}.ct-panel{flex:1 1 280px;background:var(--panel-background-translucent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--outline);border-radius:16px;padding:24px;display:flex;flex-direction:column}.ct-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.ct-panel-date{font-family:var(--font-display);font-weight:700;font-size:15px}.ct-saving{font-size:12px;opacity:.5;animation:ct-pulse 1.2s ease-in-out infinite}@keyframes ct-pulse{0%,to{opacity:.3}50%{opacity:.7}}.ct-empty-msg{opacity:.35;font-size:13px;text-align:center;padding:20px 0}.ct-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;flex:1}.ct-list-item{padding:10px 12px;border-radius:10px;transition:background .15s ease}.ct-list-item:hover{background:#ffffff0a}.ct-list-item.checked{background:#64dc960a}.ct-check-label{display:flex;align-items:center;gap:12px;cursor:pointer}.ct-check-text{font-size:14px;transition:opacity .2s,color .2s}.ct-check-text.done{opacity:.4;text-decoration:line-through;text-decoration-color:#64dc9666}.ct-input-row{display:flex;align-items:center;gap:6px;margin-top:6px;margin-left:32px}.ct-commitment-input{width:80px;padding:5px 10px;font-size:13px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ct-commitment-input:focus{border-color:#64dc9680;box-shadow:0 0 0 3px #64dc9614}.ct-input-unit{font-size:12px;opacity:.45;font-weight:500}.ct-progress-wrapper{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:8px}.ct-progress-track{height:8px;border-radius:99px;background:#ffffff14;overflow:hidden}.ct-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#64dc96);border-radius:99px;transition:width .4s cubic-bezier(.4,0,.2,1)}.ct-progress-label{font-size:12px;opacity:.5;text-align:right;font-weight:500}@media(max-width:680px){.ct-wrapper{flex-direction:column}.ct-calendar,.ct-panel{flex:1 1 auto}}.fitness-stats-row{display:flex;justify-content:center;flex-wrap:wrap;gap:20px}.fitness-stats-since{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text);letter-spacing:.5px;opacity:.7}.weight-graph-btn{background:none;border:1px solid var(--outline);border-radius:6px;padding:4px 10px;font-family:var(--font-display);font-size:.75rem;font-weight:600;color:var(--primary);cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.weight-graph-btn:hover{background:var(--panel-background-translucent);border-color:#8b5cf666}.weight-graph-modal-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 16px;text-align:center}.weight-graph-empty{font-family:var(--font-normal);font-size:.9rem;color:var(--secondary);text-align:center;padding:40px 0}.weight-graph-svg{width:100%;height:auto;display:block}.weight-graph-line{fill:none;stroke:#00d4ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.weight-graph-area{fill:url(#weight-area-gradient)}.weight-graph-dot{fill:#00d4ff;stroke:var(--panel-background);stroke-width:2}.weight-graph-axis-label{fill:var(--secondary);font-family:var(--font-display);font-size:10px}.weight-graph-grid-line{stroke:var(--outline);stroke-width:.5}.weight-graph-axis-line{stroke:var(--outline);stroke-width:1}.text-paragraph{font-size:16px;line-height:1.5;text-align:left}.text-paragraph.space-after{margin-bottom:16px}.text-paragraph.border-bottom{border-bottom:1px solid var(--outline);margin-bottom:25px}[data-theme=light] .text-paragraph.border-bottom{border-bottom:1px dashed var(--outline)}.text-paragraph.heading-h1{font-size:35px}.text-paragraph.heading-h2{font-size:30px}.text-paragraph.heading-h3{font-size:22px}.text-paragraph.highlight{color:var(--inverse-primary);background-color:var(--primary);padding:4px 8px;border-radius:4px;border-left:3px solid var(--primary)}.text-paragraph.highlight .inline-link{color:var(--inverse-primary)}.text-paragraph.bold{font-weight:700}.text-paragraph.centered{text-align:center}.text-paragraph.italic{font-style:italic}.text-paragraph.uppercase{text-transform:uppercase;letter-spacing:.5px}.inline-link{color:var(--primary);text-decoration:underline;font-weight:500;padding:0 2px;border-radius:5px}.inline-link:hover{background-color:var(--secondary);color:var(--inverse-primary)}@media(max-width:768px){.text-paragraph{font-size:14px}}
