.home-link{font-size:13px}.fitness-shell{max-width:1440px;margin:auto;padding:45px 4.5% 0}.fitness-title{display:flex;align-items:center;justify-content:space-between;gap:30px}.fitness-title h1{font-size:clamp(40px,5.5vw,76px);font-weight:400;letter-spacing:-3px;line-height:1.1;margin:15px 0 30px}.data-strip{border-top:1px solid;border-bottom:1px solid;display:flex;align-items:center;gap:24px;padding:13px 0}.data-mode{display:flex;flex-shrink:0;border:1px solid;padding:2px}.data-mode button{font:11px var(--mono);padding:7px 12px;border:0;background:#fff}.data-mode button[aria-pressed=true]{background:#000;color:#fff}.data-strip p{font:11px/1.5 var(--mono);margin:0;flex:1}.plain-button{background:none;border:0;padding:8px 0;font:12px var(--mono);text-decoration:underline;text-underline-offset:4px}.fitness-nav{display:flex;gap:30px;margin:0 0 34px;padding:22px 0;border-bottom:1px solid;overflow-x:auto}.fitness-nav a{font-size:14px;white-space:nowrap}.fitness-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:9px}#fitness-content{outline:none}.view-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:10px 0 27px}.view-heading h2{font-size:32px}.view-heading p{font:12px var(--mono);margin:0}.weight-journey{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:15px 0 28px;border-bottom:1px solid}.weight-journey .meta{display:block;margin-bottom:12px}.weight-journey strong{font-size:clamp(38px,4vw,60px);font-weight:400;letter-spacing:-2px}.weight-journey small{font:13px var(--mono);letter-spacing:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid;padding:25px 0;gap:25px}.metric strong{display:block;font-size:31px;font-weight:400;letter-spacing:-1px;margin-bottom:8px}.metric span{font:11px/1.4 var(--mono)}.progress-line{display:flex;gap:20px;align-items:center;margin:25px 0 35px}.pixel-progress{height:18px;flex:1;background:repeating-conic-gradient(#000 0% 25%,#fff 0% 50%) 0/4px 4px;border:1px solid;position:relative}.pixel-progress i{height:100%;display:block;background:#000}.progress-line .meta{font-size:11px;white-space:nowrap}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin:35px 0}.chart{margin:20px 0 30px}.chart svg{display:block;width:100%;height:150px;overflow:visible}.chart figcaption{display:flex;justify-content:space-between;font:10px var(--mono);margin:15px 0}.chart-title{font-size:21px;letter-spacing:-.6px;margin:0 0 15px}.chart text{font-family:var(--mono);font-size:11px}.chart-message{font:12px var(--mono);padding:40px 0;border-top:1px solid}.mini-log{border-top:1px solid;padding:18px 0;display:flex;justify-content:space-between;gap:25px;font-size:14px}.mini-log p{margin:0;line-height:1.7}.mini-log .meta{font-size:10px}.subheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:35px 0 20px}.subheading h3{font-size:23px;font-weight:400;letter-spacing:-.7px;margin:0}.subheading a{font-size:12px;text-decoration:underline}.year-grid{display:grid;grid-template-columns:repeat(53,minmax(0,1fr));gap:4px;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);margin:20px 0}.day-cell{width:100%;aspect-ratio:1;min-height:8px;border:1px solid;background:#fff;padding:0}.day-cell.trained{background:#000}.day-cell.logged{background:repeating-conic-gradient(#000 0% 25%,#fff 0% 50%) 0/4px 4px}.day-cell.future{border-color:transparent;background:#fff;outline:1px dotted #000;outline-offset:-1px}.day-cell:disabled{cursor:default}.heatmap-key{display:flex;gap:20px;font:10px var(--mono);flex-wrap:wrap}.calendar-scroll{overflow-x:auto}.calendar-inner{min-width:550px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 25px;flex-wrap:wrap}.toolbar label,.date-picker label{font:11px var(--mono);display:flex;align-items:center;gap:10px}select,input,textarea{background:#fff;color:#000;border:1px solid;border-radius:0;padding:9px;font:14px var(--mono)}input:disabled{background:#fff;color:#000}select{max-width:100%}.date-picker{display:flex;gap:12px;align-items:center}.date-step{background:#fff;border:1px solid;width:34px;height:34px;font:16px var(--mono)}.journal-day{margin:0 0 38px;border-top:1px solid;padding-top:26px}.journal-day header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.journal-day h3{font-size:24px;letter-spacing:-.7px;margin:0;font-weight:400}.day-sections{display:grid;grid-template-columns:1fr 1fr;gap:6%}.day-block{margin-bottom:27px}.day-block h4{font:11px var(--mono);margin:0 0 17px}.day-block p{font-size:15px;line-height:1.6;margin:0 0 12px}.day-block .notes-text{white-space:pre-wrap}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{font:10px var(--mono);text-align:left;font-weight:400}.data-table td,.data-table th{padding:15px 12px 15px 0;border-bottom:1px solid;text-align:right}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table td:first-child{min-width:130px}.data-table button{font:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;text-align:left}.table-scroll{overflow-x:auto}.meal{display:grid;grid-template-columns:65px 1fr;gap:16px;border-top:1px solid;padding:17px 0;font-size:15px;line-height:1.5}.meal time{font:11px var(--mono)}.meal p{margin:0;white-space:pre-wrap}.nutrition-bars{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:15px 0 35px}.nutrition-bars h3{font:12px var(--mono);margin:0}.nutrition-bars strong{font-size:36px;letter-spacing:-1px;font-weight:400;display:block;margin-top:12px}.nutrition-bars small{font:12px var(--mono)}.nutrition-bars .progress-line{margin:15px 0}.nutrition-extra{display:flex;gap:40px;font:12px var(--mono);padding:15px 0;border-bottom:1px solid;margin-bottom:25px}.section-note{font:11px/1.7 var(--mono);margin:18px 0}.empty-state{border-top:1px solid;border-bottom:1px solid;padding:55px 0;margin:30px 0}.empty-state h2{font-size:37px;letter-spacing:-1.5px}.empty-state p{max-width:560px;font-size:17px;line-height:1.7;margin-bottom:25px}.empty-state .explore{margin-top:10px}.body-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:7%;align-items:start}.body-layout .metrics{grid-template-columns:1fr 1fr;border-top:1px solid}.body-layout .data-table tr.selected{background:repeating-conic-gradient(#000 0% 25%,#fff 0% 50%) 0/2px 2px}.body-layout .data-table tr.selected td{background:#000;color:#fff}.body-layout .data-table tr.selected button{color:#fff}.pose-tabs{display:flex;gap:8px;flex-wrap:wrap}.pose-tabs button{font:11px var(--pixel);padding:10px 14px;background:#fff;border:1px solid}.pose-tabs button[aria-pressed=true]{background:#000;color:#fff}.photo-compare{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:28px 0}.photo-placeholder{aspect-ratio:3/4;border:1px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#fff;position:relative}.photo-placeholder:after{content:'';position:absolute;inset:10px;border:1px dotted;pointer-events:none}.photo-placeholder .pose{font:30px var(--pixel)}.photo-placeholder .meta{font-size:10px;max-width:160px;text-align:center}.photo-frame img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border:1px solid}.photo-frame figcaption{font:11px var(--mono);display:flex;justify-content:space-between;gap:15px;margin-top:13px}.photo-frame{margin:0}.photo-slider{position:relative;aspect-ratio:3/4;max-width:530px;margin:30px auto;border:1px solid;overflow:hidden}.photo-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.photo-slider .after-photo{clip-path:inset(0 0 0 var(--compare,50%))}.photo-slider:after{content:'';position:absolute;left:var(--compare,50%);top:0;bottom:0;width:2px;background:#000}.compare-control{display:flex;align-items:center;gap:20px;font:11px var(--mono);max-width:650px;margin:20px auto}.compare-control input{flex:1;min-width:0;accent-color:#000}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.report-story textarea{width:100%;min-height:90px;font-family:var(--sans);line-height:1.6;font-size:15px}.report-story label{font:11px var(--mono);display:block;margin:24px 0 10px}.report-story p{font-size:16px;line-height:1.7;margin:15px 0 28px}.report-story h3{font:11px var(--mono);margin:25px 0 0}.fitness-footer{margin:65px 0 0;padding:25px 0;display:flex;justify-content:space-between;gap:20px;font:10px var(--mono)}.notice-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#000;color:#fff;border:2px solid #fff;box-shadow:0 0 0 1px #000;padding:15px 20px;z-index:30;font:12px/1.5 var(--mono);max-width:calc(100% - 30px)}.notice-toast button{background:#fff;color:#000;border:1px solid #fff;margin-left:15px;padding:5px 8px;font:11px var(--mono)}#entry-dialog{max-width:750px;max-height:90dvh;overflow-y:auto}#photo-dialog{max-width:600px}#exercise-dialog{max-width:720px}.close-dialog,.close-photo{width:35px;height:35px;border:1px solid;background:#fff;font-size:26px;flex-shrink:0}.form-info{font:11px/1.7 var(--mono);margin:0 0 22px}form label{display:block;font:12px var(--mono);margin-bottom:17px}form label input,form label select,form label textarea{display:block;width:100%;margin-top:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid.four{grid-template-columns:repeat(4,1fr);gap:0 15px}.form-section{border-top:1px solid;padding:20px 0 8px;margin-bottom:15px}.form-section summary{font:12px var(--pixel);padding-bottom:18px}.form-section summary:after{content:' +';float:right}.form-section[open] summary:after{content:' −'}.field-help{font:11px/1.6 var(--mono);margin:-4px 0 20px}.form-error{font:12px/1.6 var(--mono);margin:12px 0;white-space:pre-wrap}.form-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:25px}.form-actions>.explore{margin-left:auto}dialog h2{font-size:32px}.split-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-upload-note{font:11px/1.7 var(--mono)}
@media(max-width:1023px){.fitness-nav{gap:22px}.body-layout,.report-grid{grid-template-columns:1fr}.data-strip{gap:15px}.data-strip p{font-size:10px}.metrics{gap:20px}.metric strong{font-size:27px}.year-grid{gap:3px}.day-sections{gap:5%}}
@media(max-width:767px){.fitness-shell{padding-top:30px}.topbar .home-link{order:3;font-size:12px}.topbar>.meta{font-size:9px;max-width:150px;text-align:right}.fitness-title{display:block}.fitness-title h1{font-size:43px;letter-spacing:-1.8px;margin:15px 0 25px}.fitness-title>.explore{margin-bottom:26px}.fitness-title .meta{font-size:10px}.data-strip{flex-wrap:wrap;gap:14px}.data-strip p{order:3;flex-basis:100%;font-size:10px}.data-strip .plain-button{margin-left:auto;font-size:10px}.fitness-nav{gap:23px;margin-bottom:27px;padding:20px 0}.fitness-nav a{font-size:13px}.view-heading{gap:15px;align-items:flex-start}.view-heading h2{font-size:27px}.view-heading p{font-size:10px;text-align:right;max-width:130px}.weight-journey{gap:15px;padding-bottom:23px}.weight-journey strong{font-size:35px;letter-spacing:-1.5px}.weight-journey small{font-size:10px;display:block;margin-top:5px}.weight-journey .meta{font-size:10px}.metrics{grid-template-columns:1fr 1fr;gap:28px;padding:23px 0}.metric strong{font-size:29px}.metric span{font-size:10px}.progress-line{gap:12px;margin:22px 0}.progress-line .meta{font-size:10px}.two-column,.day-sections,.nutrition-bars,.photo-compare,.report-grid{grid-template-columns:1fr;gap:28px;margin-top:26px}.nutrition-bars{gap:20px}.nutrition-extra{gap:25px;font-size:11px}.view-heading .explore{font-size:9px;padding:10px;gap:10px}.chart svg{height:130px}.toolbar{gap:17px}.toolbar label{font-size:10px}.date-picker{gap:8px}.date-picker input{font-size:12px;max-width:150px}.journal-day h3{font-size:21px}.journal-day{padding-top:22px}.journal-day header{gap:15px}.data-table{font-size:12px}.data-table td,.data-table th{padding:13px 10px 13px 0}.data-table th{font-size:9px}.data-table td:first-child{min-width:110px}.body-layout{grid-template-columns:1fr;gap:20px}.photo-compare{grid-template-columns:1fr 1fr;gap:12px}.photo-placeholder .pose{font-size:18px}.photo-placeholder .meta{font-size:8px;padding:12px}.photo-frame figcaption{font-size:9px;display:block;line-height:1.6}.pose-tabs{gap:5px}.pose-tabs button{font-size:9px;padding:10px}.compare-control{font-size:9px;gap:10px}.fitness-footer{flex-wrap:wrap;font-size:9px;gap:15px;margin-top:40px}.fitness-footer span:last-child{width:100%}.form-grid.four{grid-template-columns:1fr 1fr}.form-grid{gap:0 15px}.form-grid label{font-size:11px}#entry-dialog{padding:22px 18px}.form-section summary{font-size:11px}.empty-state{padding:35px 0}.empty-state h2{font-size:31px}.empty-state p{font-size:16px}.subheading h3{font-size:21px}.heatmap-key{font-size:9px}.photo-upload-note{font-size:10px}}

/* owner controls: visible only after the owner token is entered */
.owner-only{display:none}body.owner .owner-only{display:inline-flex}
