:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1e222b;--border:#2a2f3a;--text:#e7e9ee;--muted:#9aa3b2;--accent:#ff5722;--accent-weak:#3a2419;--good:#4caf50;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--accent)}.app{max-width:1000px;padding:1.5rem 1rem 4rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));margin:0 auto}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.brand{align-items:center;gap:.5rem;display:flex}.logo{flex:none;display:block}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.1rem}.grid{gap:1.25rem;display:grid}@media (width>=760px){.grid.cols-2{grid-template-columns:1fr 1fr}}.grid>*{min-width:0}.row-between{justify-content:space-between;align-items:center;gap:.6rem;padding:.25rem 0;display:flex}.tag-list{flex-wrap:wrap;gap:.4rem;display:flex}.tag-list .tag{white-space:nowrap}label{color:var(--muted);margin-bottom:.2rem;font-size:.8rem;display:block}input,select,textarea,button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:7px;padding:.45rem .6rem}input,select,textarea{width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,button{appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239aa3b2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;padding-right:1.9rem}input[type=date]{text-align:left;min-width:0;min-height:calc(1.5em + .9rem + 2px);display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}.field{margin-bottom:.75rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.row>*{flex:1;min-width:90px}.row>:has(>input[type=date]){flex:none;min-width:9.5rem}button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.ghost{color:var(--text);border-color:var(--border);background:0 0;font-weight:500}button.small{padding:.25rem .5rem;font-size:.8rem}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:.9rem}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{min-width:max-content}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .5rem}th{color:var(--muted);font-weight:600}.tag{background:var(--accent-weak);color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.muted{color:var(--muted)}.pr{color:var(--good);font-weight:700}.err{color:#ffb4b4;background:#3a1a1a;border:1px solid #7a2b2b;border-radius:7px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.tabs button{background:var(--panel-2);border-color:var(--border);color:var(--muted);align-items:center;gap:.35rem;font-weight:500;display:inline-flex;position:relative}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-badge{background:var(--good);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.65rem;display:inline-flex}.panel-head,.history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.panel-head h2,.history-head h2{margin:0}.err-inline{color:#ffb4b4;margin-left:.4rem;font-size:.75rem}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chips.scroll-x{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:.3rem .7rem;font-size:.8rem;font-weight:500}.chip.active{background:var(--accent-weak);border-color:var(--accent);color:var(--text)}.chip-plus{min-width:2.2rem;font-weight:700}.chip-own{align-items:stretch;padding:0;display:inline-flex;overflow:hidden}.chip-own>button{color:inherit;font:inherit;background:0 0;border:0;border-radius:0;align-items:center;min-height:0;display:inline-flex}.chip-pick{padding:.3rem .2rem .3rem .7rem}.chip-remove{opacity:.65;padding:.3rem .6rem .3rem .45rem;font-size:.75em}.chip-remove:focus-visible,.chip-pick:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover){.chip-remove:hover{opacity:1;color:#ff8a80}}.chip-add{align-items:center;gap:.3rem;display:inline-flex}.chip-add input{width:9rem;padding:.3rem .5rem}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:.3rem .7rem;font-size:.8rem;font-weight:500}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--panel-2);color:var(--text)}.picker-trigger{background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;font-weight:500;display:flex}.picker-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-trigger.empty{color:var(--muted)}.picker-chevron{color:var(--muted);font-size:.8em}.sheet-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(480px,100%);height:min(640px,85dvh);display:flex;overflow:hidden;box-shadow:0 20px 50px #00000080}.sheet-head{gap:.5rem;padding:.75rem .75rem .5rem;display:flex}.sheet-head input{flex:1}.sheet .chips{border-bottom:1px solid var(--border);scrollbar-width:none;flex-wrap:nowrap;padding:0 .75rem .6rem;overflow-x:auto}.sheet-list{overscroll-behavior:contain;flex:1;overflow-y:auto}.sheet-group{z-index:1;background:var(--panel-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.35rem .9rem;font-size:.75rem;font-weight:700;position:sticky;top:0}.sheet-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .9rem;font-weight:500;display:flex}.sheet-item:focus-visible{background:var(--panel-2)}@media (hover:hover){.sheet-item:hover{background:var(--panel-2)}}.sheet-item.selected{background:var(--accent-weak)}.set-grid{flex-direction:column;gap:.35rem;display:flex}.set-grid-head,.set-row{grid-template-columns:1.6rem 3rem minmax(5rem,1fr) minmax(4rem,.8fr) minmax(4rem,.8fr) minmax(7rem,1fr) 8.5rem;align-items:start;gap:.5rem;display:grid}.set-grid-head{color:var(--muted);padding:0 .3rem;font-size:.75rem}.set-row{border-radius:8px;padding:.3rem}.set-row.done{background:#4caf5014}.set-done{font-variant-numeric:tabular-nums;color:var(--accent);border:2px dashed var(--accent);background:0 0;padding:.45rem 0;font-weight:700}.set-done.is-done{background:var(--good);border:2px solid var(--good);color:#fff}.exercise-foot{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.all-done{color:var(--good);border-color:var(--good)}.reminder-bar{border:1px solid var(--accent);background:var(--accent-weak);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .75rem;display:flex}.reminder-bar .reminder-text{flex:100%;font-weight:600}.reminder-bar input{width:7rem}.reminder-setting{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;font-size:.85rem;display:flex}.draft-note{margin:0 0 .6rem;font-size:.82rem}.plan-hint{background:var(--accent-weak);border:1px solid var(--accent);border-radius:8px;margin:.5rem 0 0;padding:.5rem .7rem;font-size:.85rem}.log-count{opacity:.9;font-size:.72rem;font-weight:500;display:block}.log-foot{justify-content:space-between}.sync-status{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.sync-status span:not(.muted){color:var(--text)}.sync-status.failed span:not([aria-hidden]){color:var(--accent)}.tag.live{color:var(--good);border-color:var(--good);background:0 0;margin-left:.3rem}.set-label{display:none}.set-last{white-space:nowrap;margin-top:.15rem;font-size:.72em}.set-actions{flex-wrap:nowrap;align-items:center;gap:.25rem;display:flex}.set-extras{padding:0 .3rem .4rem 5.9rem}.sub-rows{flex-direction:column;gap:.35rem;padding-left:1.5rem;display:flex}.library-hint{margin:.1rem 0 .5rem;font-size:.8rem}.library-search{margin-bottom:.5rem}.library-chips{margin-bottom:.25rem}.action-close{width:100%;margin-top:.75rem}.editor-head h3{margin:0}.library-group{margin-top:.75rem}.library-group h3{margin-bottom:.3rem}.library-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.library-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;padding:.6rem .25rem;font-weight:500;display:flex}button.library-item:hover{background:var(--panel-2)}.library-item.static{cursor:default}.library-tags{flex:none;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.action-sheet{height:auto;max-height:85vh;padding:1rem;overflow-y:auto}.action-sheet-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.action-list{flex-direction:column;gap:.4rem;display:flex}.action-item{text-align:left;background:var(--panel-2);border:1px solid var(--border);width:100%;color:var(--text);flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem .85rem;font-weight:600;display:flex}.action-item .muted{font-size:.8rem;font-weight:400}.danger-text{color:#ff8a80}.action-step p{margin:.5rem 0}.download-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem;display:grid}.download-grid .button-link{text-align:center}.button-link.ghost-link{border:1px solid var(--border);color:var(--text);background:0 0}.report{max-width:820px;margin:0 auto}.report-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.report-actions p{flex-basis:100%;margin:.25rem 0 0;font-size:.85rem}.report-head{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.report-head h1{margin:0}.report-head p{margin:.2rem 0 0}.report-tiles{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.report-tiles>div{border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem}.report section{break-inside:avoid-page;margin-bottom:1.25rem}.report h2{border-bottom:1px solid var(--border);padding-bottom:.25rem;font-size:1.05rem}.report-session{break-inside:avoid;margin-bottom:.6rem}.report-session h3{margin:0 0 .2rem;font-size:.92rem}.report-session ul{margin:0;padding-left:1.1rem;font-size:.88rem}.report-session p{margin:.2rem 0 0;font-size:.82rem}@media print{:root{--bg:#fff;--panel:#fff;--panel-2:#fff;--border:#ccc;--text:#000;--muted:#555;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#000;background:#fff}.topbar,.footer,.no-print,.update-banner,.menu-layer,.reminder-bar{display:none!important}.app{max-width:none;padding:0}.report table{font-size:10pt}a{color:#000}}.chat-contacts{flex-direction:column;display:flex}.chat-contact{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;border-radius:0;align-items:center;gap:.75rem;padding:.7rem .25rem;font-weight:400;display:flex}@media (hover:hover){.chat-contact:hover{background:var(--panel-2)}}.chat-avatar{background:var(--accent-weak);border:1px solid var(--accent);width:2.4rem;height:2.4rem;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.chat-contact-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.chat-contact-top,.chat-contact-bottom{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-time{flex:none;font-size:.75rem}.chat-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.chat-preview.unread{color:var(--text);font-weight:600}.chat-contact .tab-badge{position:static}.chat{flex-direction:column;height:calc(100dvh - 11rem);min-height:22rem;padding:0;display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.chat-sub{font-size:.75rem}.chat-thread{flex-direction:column;flex:1;gap:.3rem;padding:.75rem .9rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;margin:auto}.chat-day{text-align:center;color:var(--muted);margin:.6rem 0 .3rem;font-size:.72rem}.chat-bubble{border-radius:14px;flex-direction:column;gap:.1rem;width:fit-content;max-width:80%;padding:.45rem .7rem;display:flex}.chat-bubble.mine{background:var(--accent);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.chat-bubble.theirs{background:var(--panel-2);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-meta{opacity:.75;align-self:flex-end;font-size:.66rem}.chat-compose{padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:.5rem;display:flex}.chat-compose textarea{resize:none;max-height:8rem}.chat-compose button{flex:none}.chat-attach{padding:0 .75rem;font-size:1.25rem;font-weight:600;line-height:1}.chat-pending{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;align-items:center;gap:.5rem;min-width:0;margin:0 .75rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.chat-pending .chat-file-name{flex:1}.chat-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.chat-image{max-width:260px;margin:-.15rem -.4rem .2rem;display:block}.chat-image img{object-fit:cover;border-radius:10px;max-width:min(260px,100%);max-height:320px;display:block}.chat-file{color:inherit;align-items:center;gap:.55rem;min-width:0;padding:.35rem .2rem;text-decoration:none;display:flex}.chat-file-icon{font-size:1.5rem;line-height:1}.chat-file-main{flex-direction:column;min-width:0;display:flex}.chat-file-size{opacity:.8;font-size:.75rem}.cardio-activities{margin:.25rem 0 .75rem}.cardio-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem;display:grid}.cardio-list{flex-direction:column;gap:.4rem;display:flex}.cardio-row{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.cardio-row.selected{border-color:var(--accent)}.cardio-main{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:.15rem;padding:0;font-weight:400;display:flex}.cardio-main .muted{font-size:.8rem}.cardio-notes{font-style:italic}.program-list{flex-direction:column;gap:.4rem;display:flex}.program-row{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.program-main{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;padding:0;font-weight:400;display:flex}.program-main strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.program-main .muted{font-size:.8rem}.program-actions{flex:none;align-items:center;gap:.4rem;display:flex}.program-actions .muted{font-size:.8rem}.week-divider{align-items:center;gap:.6rem;display:flex}.week-divider strong{white-space:nowrap;color:var(--accent)}.week-divider div{border-top:2px solid var(--accent);flex:1}.day-box{background:var(--panel-2);margin:1rem 0 0}.day-head{background:var(--panel-2);flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.day-num{width:5rem}.day-name{flex:1;min-width:9rem}.line-grid{flex-direction:column;gap:.35rem;margin-top:.6rem;display:flex}.line-grid-head,.line-row{grid-template-columns:1.6rem minmax(10rem,2fr) 3.8rem 3.8rem 3.8rem 4.8rem minmax(6.5rem,1fr) minmax(6rem,1fr) 11.5rem;align-items:center;gap:.45rem;display:grid}.line-grid-head{color:var(--muted);padding:0 .3rem;font-size:.75rem}.line-row{border-radius:8px;padding:.3rem}.line-label{display:none}.line-actions{justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.edit-grid{flex-direction:column;gap:.35rem;margin-top:.6rem;display:flex}.edit-grid-head,.edit-row{grid-template-columns:1.6rem minmax(10rem,2fr) 5rem 4rem 4rem minmax(7rem,1fr) 2.4rem;align-items:center;gap:.45rem;display:grid}.edit-grid-head{color:var(--muted);padding:0 .3rem;font-size:.75rem}.edit-row{border-radius:8px;padding:.3rem}.exercise-list{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.exercise-box{background:var(--panel-2);margin-bottom:0;padding:.75rem}.exercise-head{background:var(--panel-2);align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.drag-handle{color:var(--muted);letter-spacing:-.15em;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-self:center;min-height:0;padding:.35rem .15rem;font-weight:700;line-height:1}.drag-handle:active{cursor:grabbing}.is-dragging{z-index:20;opacity:.92;position:relative;box-shadow:0 10px 28px #00000073}.swipe{border-radius:8px;position:relative;overflow:hidden}.swipe-content{z-index:1;background:var(--panel-2);touch-action:pan-y;transition:transform .18s;position:relative}.swipe-content.on-panel{background:var(--panel)}.swipe-content.dragging{-webkit-user-select:none;user-select:none;transition:none}.swipe-action{color:#fff;background:#b3261e;border:0;border-radius:0;width:88px;font-weight:700;position:absolute;top:0;bottom:0}.swipe-action.left{left:0}.swipe-action.right{right:0}.phone-only{display:none!important}.menu-button{border:1px solid var(--border);background:0 0;flex-direction:column;justify-content:center;gap:4px;width:2.6rem;height:2.6rem;padding:0 .6rem;display:inline-flex;position:relative}.menu-button span{background:var(--text);border-radius:2px;height:2px;display:block}.menu-dot{background:var(--good);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.3rem;right:.3rem}.menu-layer{z-index:90;pointer-events:none;position:fixed;inset:0}.menu-layer.open{pointer-events:auto}.menu-backdrop{opacity:0;background:#0000008c;transition:opacity .2s;position:absolute;inset:0}.menu-layer.open .menu-backdrop{opacity:1}.menu-panel{background:var(--panel);border-right:1px solid var(--border);width:min(82vw,320px);padding:calc(1rem + env(safe-area-inset-top)) .75rem calc(1rem + env(safe-area-inset-bottom));padding-left:max(.75rem, env(safe-area-inset-left));flex-direction:column;transition:transform .22s;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.menu-layer.open .menu-panel{transform:none}.menu-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 .4rem .75rem;display:flex}.menu-head strong{font-size:1.15rem}.menu-items{flex-direction:column;flex:1;gap:.2rem;padding:.75rem 0;display:flex;overflow-y:auto}.menu-foot{border-top:1px solid var(--border);flex-direction:column;gap:.2rem;padding-top:.75rem;display:flex}.menu-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:.8rem .75rem;font-size:1rem;font-weight:600;display:flex}.menu-item.active{background:var(--accent-weak);color:var(--accent)}.menu-sub{font-size:.75rem;font-weight:400;display:block}.topbar-section{margin-left:auto;font-weight:600}.topbar-actions{flex:none;align-items:center;gap:.5rem;display:flex}.avatar{background:var(--panel-2);color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-button{border:2px solid var(--border);background:0 0;border-radius:50%;min-height:0;padding:0;line-height:0;display:inline-flex}.avatar-button.active{border-color:var(--accent)}@media (hover:hover){.avatar-button:hover{border-color:var(--muted)}}.menu-account{align-items:center;gap:.65rem;display:flex}.profile{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.profile-picture{background:0 0;border:0;border-radius:50%;min-height:0;padding:0;line-height:0;position:relative}.profile-picture-edit{background:var(--panel-2);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:.85rem;line-height:1;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.profile-main .muted{overflow-wrap:anywhere}.profile-actions{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.profile-hint{font-size:.78rem}.video-control{align-items:center;gap:.25rem;display:inline-flex}.session-list{flex-direction:column;gap:.6rem;display:flex}.session-card{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;padding:.1rem .9rem .8rem}.session-card.open{border-color:#3a4150}.session-head{width:100%;color:var(--text);text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.7rem 0 .5rem;font-weight:400;display:flex}.session-date{flex-direction:column;min-width:8.5rem;display:flex}.session-date .muted{font-size:.78rem}.session-metrics{flex-wrap:wrap;flex:1;gap:1rem;font-size:.9rem;display:flex}.session-chevron{color:var(--muted);transition:transform .15s}.session-card.open .session-chevron{transform:rotate(180deg)}.session-plan{margin-right:.5rem;font-size:.8rem}.session-notes{color:var(--muted);margin:.25rem 0 .4rem;font-size:.9rem;font-style:italic}.session-summary{margin:.2rem 0 0;padding:0;list-style:none}.session-summary li{border-top:1px solid var(--border);justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.9rem;display:flex}.session-summary li .muted{white-space:nowrap;font-size:.82rem}.exercise-block{border-top:1px solid var(--border);padding:.5rem 0 .3rem}.exercise-block h4{margin:0 0 .3rem;font-size:.95rem}.set-line{align-items:center;gap:.6rem;min-height:2rem;padding:.2rem 0;font-size:.9rem;display:flex}.set-line.sub{min-height:0;padding-left:2.1rem;font-size:.82rem}.set-line.warmup{opacity:.7}.set-n{background:var(--panel);border:1px solid var(--border);width:1.5rem;height:1.5rem;color:var(--muted);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.set-main{flex:1}.set-type{color:var(--accent);font-size:.75rem}.session-actions{justify-content:flex-end;margin-top:.5rem}.session-actions>*{flex:none;min-width:0}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}.calendar-weekday{text-align:center;color:var(--muted);font-size:.7rem}.calendar-day{aspect-ratio:1;max-height:3rem;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:0;font-size:.85rem;font-weight:500}.calendar-day:disabled{opacity:1;cursor:default}.calendar-day.trained{background:var(--accent-weak);border-color:var(--accent);color:var(--text);cursor:pointer}.calendar-day.today{outline:1px solid var(--muted);outline-offset:-1px}.calendar-day.selected{background:var(--accent);color:#fff}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.stat-tile{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.8rem .9rem}.stat-label{color:var(--muted);font-size:.78rem}.stat-value{margin-top:.15rem;font-size:1.6rem;font-weight:650;line-height:1.2}.stat-unit{color:var(--muted);font-size:.8rem;font-weight:500}.stat-delta{color:var(--muted);margin-top:.15rem;font-size:.78rem}.stat-delta.up{color:var(--good)}.stat-delta.down{color:#ff8a80}.stat-sub{margin-top:.15rem;font-size:.75rem}.bw-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 .25rem;display:flex}.chart-legend{color:var(--muted);gap:.9rem;font-size:.78rem;display:flex}.chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.legend-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.legend-line{background:var(--accent);border-radius:1px;width:14px;height:2px;display:inline-block}.chart-caption{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.5rem;display:flex}.chart-sub{margin:0 0 .5rem;font-size:.8rem}.chart-box{width:100%;height:240px}.chart-box svg{overflow:visible}.chart-tooltip{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;min-width:150px;padding:.5rem .65rem;font-size:.8rem;box-shadow:0 8px 20px #00000059}.chart-tooltip-title{margin-bottom:.25rem;font-weight:600}.chart-tooltip-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;display:flex}.pr-list{flex-direction:column;display:flex}.pr-row{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .25rem;font-weight:400;display:flex}.pr-row.selected{background:var(--accent-weak)}.pr-best{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;display:flex}.pr-best .muted{font-size:.75rem}.bw-list{margin:.5rem 0}.bw-row{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.35rem 0;font-size:.9rem;display:grid}.video-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;width:min(720px,100%);max-height:100%;padding:.75rem;display:flex}.video-modal video{object-fit:contain;background:#000;border-radius:8px;width:100%;max-height:70dvh}.video-modal-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.video-modal-sub{font-size:.8rem}.video-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.video-notice{width:min(420px,100%);margin:0}.video-notice p{margin:.5rem 0 .75rem}.video-note{flex-direction:column;gap:.3rem;display:flex}.video-note label{margin:0}.video-note textarea{resize:vertical;min-height:3.2rem}.video-note-foot{justify-content:space-between;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.video-note-read{white-space:pre-wrap;overflow-wrap:anywhere;flex-direction:column;gap:.15rem;margin:0;display:flex}.video-note-read .muted{font-size:.75rem}.video-note-line{white-space:pre-wrap;overflow-wrap:anywhere}button.video-play{background:var(--accent-weak);border-color:var(--accent);color:var(--text)}button.video-attached{background:var(--good);border-color:var(--good);color:#fff}.video-strip{scrollbar-width:none;gap:.5rem;padding:.35rem 0 .5rem;display:flex;overflow-x:auto}.video-thumb{border:1px solid var(--border);background:#000;border-radius:8px;flex:none;width:84px;height:120px;padding:0;position:relative;overflow:hidden}.video-thumb video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.video-thumb-play{color:#fff;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.video-thumb-label{color:#fff;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#000c);padding:.2rem .3rem;font-size:.65rem;font-weight:600;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.upload-progress{align-items:center;gap:.5rem;font-size:.8rem;display:inline-flex}.upload-bar{background:var(--panel-2);border-radius:999px;width:120px;height:6px;display:inline-block;overflow:hidden}.upload-bar>span{background:var(--accent);height:100%;transition:width .2s;display:block}a.brand{color:var(--text);text-decoration:none}.link-button{color:var(--muted);background:0 0;border:0;margin:.75rem auto 0;padding:.25rem;font-size:.85rem;font-weight:500;text-decoration:underline;display:block}.checkbox-row{color:var(--text);align-items:flex-start;gap:.5rem;margin:.25rem 0 .9rem;font-size:.85rem;display:flex}.checkbox-row input{width:auto;margin-top:.2rem}.optional-consents{border:1px solid var(--border);border-radius:8px;margin:0 0 .9rem;padding:.5rem .75rem .1rem}.optional-consents legend{color:var(--muted);padding:0 .3rem;font-size:.78rem}.consent-banner{background:var(--accent-weak);border:1px solid var(--accent);border-radius:10px;margin:0 0 1rem;padding:.8rem .9rem}.consent-banner p{margin:.3rem 0 .5rem;font-size:.9rem}.consent-banner .checkbox-row{margin-bottom:.6rem}.button-link{background:var(--accent);color:#fff;border-radius:7px;padding:.45rem .8rem;font-weight:600;text-decoration:none;display:inline-block}button.danger{color:#fff;background:#b3261e;border-color:#b3261e}button.ghost.danger{color:#ff8a80;background:0 0;border-color:#7a2b2b}.danger-zone{border-color:#5a2626}button.active-ghost{border-color:var(--accent)}.topbar button{white-space:nowrap}.auth-tabs{margin-bottom:1rem}.footer{text-align:center;margin-top:2rem;font-size:.8rem}.version{opacity:.7;margin-top:.35rem;font-size:.7rem}.menu-version{padding:.5rem .75rem 0;font-size:.72rem}.update-banner{z-index:80;background:var(--accent-weak);border:1px solid var(--accent);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin:-.25rem 0 .75rem;padding:.55rem .75rem;font-size:.9rem;display:flex;position:sticky;top:0}.update-banner button{flex:none}.link-inline{font:inherit;color:var(--accent);background:0 0;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline}.feedback-dialog{width:min(480px,100%);margin:0}.your-exercises{margin-top:.75rem}.your-exercises h3{margin-bottom:.3rem}.your-exercise-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;font-size:.9rem;display:flex}.confirm-delete{background:var(--panel-2);border-color:#5a2626;margin:.5rem 0}.confirm-delete p{margin:.4rem 0}.feedback-item{border-top:1px solid var(--border);padding:.6rem 0}.feedback-meta{font-size:.78rem}.feedback-message{white-space:pre-wrap;margin:.25rem 0 0}.footer a{color:var(--muted)}.legal{max-width:720px;margin:0 auto 1.25rem;line-height:1.6}.legal h1{margin-bottom:1rem;font-size:1.5rem}.legal h2{margin-top:1.5rem;font-size:1.05rem}.legal ul{padding-left:1.2rem}.legal li{margin-bottom:.35rem}@media (width<=700px),(pointer:coarse){input,select,textarea{font-size:16px}}@media (width<=700px){.app{padding:.75rem .75rem calc(1.5rem + env(safe-area-inset-bottom));padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right))}.topbar{flex-wrap:nowrap;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.phone-only{display:revert!important}.menu-button.phone-only{display:inline-flex!important}.desktop-only{display:none!important}.section-tabs{display:none}.panel{border-radius:12px;padding:.85rem}button{min-height:2.5rem}button.small{min-height:2.1rem}.chip-own{min-height:2.5rem}.chip-remove{padding:0 .8rem 0 .5rem}.sheet-backdrop{align-items:flex-end;padding:0}.sheet{width:100%;height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:16px 16px 0 0}.sheet.action-sheet{height:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.video-modal{width:100%;height:100%;padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom));border:0;border-radius:0}.video-modal video{flex:1;min-height:0;max-height:none}.video-modal-actions button{flex:1}.set-actions .video-control{width:100%}.set-actions .video-control>button{white-space:nowrap;width:100%}.sheet-item{padding:.85rem 1rem}.set-grid-head{display:none}.set-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:1.4rem 2.6rem repeat(3,minmax(0,1fr));grid-template-areas:"grip done kg reps rpe""grip type type actions actions";padding:.45rem}.set-row>.drag-handle{grid-area:grip;align-self:center}.set-row>.set-done{grid-area:done;align-self:stretch}.set-row>.set-field:first-of-type{grid-area:kg}.set-row>.set-field:nth-of-type(2){grid-area:reps}.set-row>.set-field:nth-of-type(3){grid-area:rpe}.set-row>.set-type-select{grid-area:type}.set-row>.set-actions{grid-area:actions;justify-content:flex-end}.set-label{margin-bottom:.1rem;font-size:.65rem;display:block}.line-grid-head{display:none}.line-row{border:1px solid var(--border);grid-template-columns:1.4rem repeat(4,minmax(0,1fr));grid-template-areas:"grip ex ex ex ex""grip sets reps rpe kg""grip type type notes notes""grip act act act act";align-items:end;padding:.5rem}.line-row>.drag-handle{grid-area:grip;align-self:center}.line-row>.line-exercise{grid-area:ex}.line-row>.line-field:nth-of-type(2){grid-area:sets}.line-row>.line-field:nth-of-type(3){grid-area:reps}.line-row>.line-field:nth-of-type(4){grid-area:rpe}.line-row>.line-field:nth-of-type(5){grid-area:kg}.line-row>.line-type{grid-area:type}.line-row>.line-notes{grid-area:notes}.line-row>.line-actions{grid-area:act;justify-content:flex-start}.line-label{margin-bottom:.1rem;font-size:.65rem;display:block}.day-num{width:4.2rem}.cardio-grid{grid-template-columns:1fr 1fr}.chat{border-radius:12px;height:calc(100dvh - 6.5rem)}.edit-grid-head{display:none}.edit-row{border:1px solid var(--border);grid-template-columns:1.4rem repeat(3,minmax(0,1fr));grid-template-areas:"grip ex ex ex""grip kg reps rpe""grip type type type";align-items:end;padding:.5rem}.edit-row>.drag-handle{grid-area:grip;align-self:center}.edit-row>.edit-exercise{grid-area:ex}.edit-row>.edit-field:nth-of-type(2){grid-area:kg}.edit-row>.edit-field:nth-of-type(3){grid-area:reps}.edit-row>.edit-field:nth-of-type(4){grid-area:rpe}.edit-row>.edit-type{grid-area:type}.stack-on-phone{flex-direction:column;align-items:stretch}.stack-on-phone>*{flex:none;width:100%}.stack-on-phone button{width:100%}.block-row>:first-child,.block-row>:nth-child(2){flex-basis:100%}.sub-rows{padding-left:.25rem}.drop-row{flex-wrap:nowrap}.sub-row input{width:4.2rem!important}.partner-row>.picker-trigger{flex-basis:100%!important;max-width:none!important}.panel-head h2{flex-basis:100%}.table-scroll.people{overflow:visible}.table-scroll.people table{min-width:0}.people tr{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;padding:.45rem 0;display:flex}.people td{overflow-wrap:anywhere;border:0;padding:0;display:block}.people td:last-child{white-space:nowrap;margin-left:auto}.set-extras{padding-left:0}.session-date{min-width:0}.session-metrics{flex-basis:100%;order:3;gap:.75rem;font-size:.82rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.5rem}.stat-value{font-size:1.35rem}.chart-box{height:210px}}
