:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172536;background:#f4f7fa;font-synthesis:none;--blue:#064d9d;--blue-dark:#03366f;--blue-soft:#e5f1ff;--grey:#435769;--line:#c7d3dd;--green:#116329;--green-soft:#e5f5e9;--red:#9d1326;--red-soft:#fde9ec;--amber:#7a4b00;--amber-soft:#fff2cc;--shadow:0 6px 22px rgba(21,55,88,.09)}*{box-sizing:border-box}html{background:#fff}body{margin:0;min-width:320px;min-height:100vh;background:#f4f7fa}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #006ee6;outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.75rem,7vw,2.35rem);line-height:1.1;color:#10253b;letter-spacing:-.035em}h2{font-size:1.25rem;line-height:1.25;color:#142b42}h3{font-size:1.05rem}p{line-height:1.55}a{color:#064d9d;font-weight:700}.skip-link{position:fixed;z-index:1000;left:8px;top:-80px;padding:12px;background:#fff;border:2px solid var(--blue)}.skip-link:focus{top:8px}.splash,.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#fff}.brand-logo{display:block;width:min(360px,88vw);height:auto;object-fit:contain;background:#fff}.brand-logo--compact{width:150px;max-height:52px}.auth-card{width:min(100%,430px)}.auth-page>.brand-logo{margin-bottom:20px}.card{background:#fff;border:1px solid #d2dce5;border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card>*:last-child{margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#36536e;font-size:.75rem;font-weight:800;margin-bottom:8px}.muted{color:#4f6070}.small{font-size:.88rem}.field{display:grid;gap:7px;margin:16px 0}.field__label{font-weight:750;color:#1c3349}.field__hint{font-size:.84rem;color:#4f6070}input,select,textarea{width:100%;min-height:50px;border:2px solid #9eafbd;background:#fff;border-radius:11px;padding:11px 13px;font-size:1rem}textarea{min-height:90px;resize:vertical}.pin-input{font-size:1.5rem;letter-spacing:.5em;text-align:center}.button,.text-button,.icon-button{border:0;background:transparent;min-height:48px;min-width:48px;border-radius:11px;font-weight:800;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:8px}.button--primary{background:var(--blue);color:#fff;border:2px solid var(--blue)}.button--primary:hover{background:var(--blue-dark)}.button--secondary{background:#fff;color:var(--blue-dark);border:2px solid var(--blue);margin:4px 4px 4px 0}.button--danger-ghost{min-height:48px;border:2px solid var(--red);background:#fff;color:var(--red);border-radius:11px;font-weight:800;padding:10px 14px}.button--full{width:100%;margin:8px 0}.button--large{min-height:58px;font-size:1.08rem}.button--small{min-height:44px;min-width:44px;padding:8px 12px}.text-button{color:var(--blue-dark);padding:8px}.icon-button{font-size:1.6rem;padding:5px}.loading{display:flex;justify-content:center;align-items:center;gap:12px;padding:48px 20px;color:#3b4f63;font-weight:700}.spinner{width:26px;height:26px;border:3px solid #c8d8e8;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:2px solid;padding:13px 15px;border-radius:12px;margin-bottom:14px;line-height:1.45;font-weight:650}.notice--error{background:var(--red-soft);border-color:#bc4c5a;color:#71101d}.notice--success{background:var(--green-soft);border-color:#44865a;color:#0b4a1d}.app-shell{min-height:100dvh;padding-bottom:90px}.topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #cfdbe5;min-height:66px;padding:6px max(12px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:8px}.logo-button{border:0;background:#fff;padding:0;min-height:52px;display:flex;align-items:center}.topbar__actions{display:flex;align-items:center;gap:4px}.profile-button{min-width:54px;min-height:50px;border:0;background:#fff;display:grid;justify-items:center;color:var(--blue-dark);font-weight:800}.profile-button>span,.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff}.profile-button small{font-size:.7rem;max-width:58px;overflow:hidden;text-overflow:ellipsis}.sync-pill{font-size:.72rem;background:var(--amber-soft);color:#6a4000;padding:6px 8px;border-radius:999px;font-weight:800}.page{width:min(100% - 28px,760px);margin:0 auto;padding:24px 0}.page-heading{margin-bottom:22px}.page-heading>p:last-child{color:#435769}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #bccbd8;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav button{min-height:58px;border:0;background:#fff;color:#3a536a;border-radius:9px;font-size:.72rem;font-weight:750;display:grid;place-items:center;gap:1px}.bottom-nav button>span{font-size:1.35rem}.bottom-nav button[aria-current=page]{background:var(--blue-soft);color:var(--blue-dark)}.active-banner{display:flex;align-items:center;gap:12px;border-color:#d6a23a;background:#fffaf0}.active-banner>div{flex:1}.active-banner p{margin:3px 0}.status-dot{width:14px;height:14px;border-radius:50%;background:#8995a0;flex:0 0 auto}.status-dot--attention{background:var(--red)}.status-dot--done{background:var(--green)}.hero-card{position:relative;overflow:hidden;padding-top:24px}.hero-card__letter{position:absolute;right:-10px;top:-28px;font-size:10rem;font-weight:900;line-height:1;color:#e3effc}.hero-card>div:nth-child(2){position:relative}.hero-card h2{font-size:2rem;margin-bottom:8px}.date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0;font-weight:700}.pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:4px 9px;background:#e5edf4;color:#30485e;font-size:.8rem;font-weight:800}.pill--green{background:var(--green-soft);color:#0c5222}.week-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.week-row>div{display:grid;justify-items:center;gap:7px}.day-marker{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e7edf2;color:#3f5365;font-weight:900}.day-marker--done{background:var(--green);color:#fff}.day-marker--next{background:var(--blue);color:#fff}.workout-page{max-width:620px;margin:auto}.workout-header{position:sticky;top:66px;z-index:15;display:grid;grid-template-columns:70px 1fr 70px;align-items:center;background:#fff;border:1px solid #c8d4de;border-radius:14px;padding:8px;margin-bottom:10px;box-shadow:var(--shadow)}.workout-header>div{text-align:center;display:grid}.workout-header small{color:#4d6072}.progress{grid-column:1/-1;height:7px;background:#dce5ed;border-radius:99px;overflow:hidden;margin-top:7px}.progress span{display:block;height:100%;background:var(--green);transition:width .2s}.workout-status{background:var(--green-soft);color:#0a4d1e;border-radius:9px;padding:9px 12px;margin-bottom:10px;font-weight:700}.exercise-card{background:#fff;border:2px solid #b7c9d9;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.pair-label{display:inline-flex;align-items:center;gap:8px;color:#39536a;font-weight:800}.pair-label>span,.pair-badge{display:grid;place-items:center;min-width:40px;height:32px;background:var(--blue);color:#fff;border-radius:9px}.exercise-card h1{margin:16px 0 5px}.note-line{background:#edf4fa;border-left:4px solid var(--blue);padding:9px 10px}.progression-badge{display:inline-flex;background:var(--amber-soft);color:#654000;border:1px solid #c99b3d;padding:8px 10px;border-radius:8px;font-weight:900;margin:8px 0}.previous{background:#eef4f9;border-radius:11px;padding:12px;display:grid;gap:4px;margin:14px 0}.previous span{font-size:.8rem;color:#40566b;text-transform:uppercase;font-weight:800}.set-entry{display:grid;gap:15px;margin:18px 0}.set-entry label{display:grid;gap:6px;font-weight:800}.set-number{font-size:1.3rem;font-weight:900}.stepper{display:grid;grid-template-columns:52px 1fr 52px}.stepper button{min-height:54px;border:2px solid var(--blue);background:var(--blue-soft);font-size:1.5rem;font-weight:900;color:var(--blue-dark)}.stepper button:first-child{border-radius:11px 0 0 11px}.stepper button:last-child{border-radius:0 11px 11px 0}.stepper input{border-radius:0;border-left:0;border-right:0;text-align:center;font-size:1.25rem;font-weight:850}.large-input{min-height:62px;font-size:1.35rem;font-weight:850}.bodyweight-pill{background:#edf2f6;padding:14px;border-radius:11px;font-weight:900}.done-button{width:100%;min-height:66px;border:0;border-radius:13px;background:var(--green);color:#fff;font-size:1.25rem;font-weight:900;display:flex;align-items:center;justify-content:center;gap:14px}.done-button span{font-size:1.5rem}.exercise-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.exercise-actions button,.exercise-actions a{min-height:48px;border:0;border-radius:9px;background:var(--blue-soft);color:var(--blue-dark);font-weight:800;display:grid;place-items:center;text-decoration:none}.next-up{border-top:1px solid #cbd8e2;margin-top:15px;padding-top:13px;display:grid;gap:3px}.next-up span{font-size:.8rem;color:#486078;text-transform:uppercase;font-weight:800}.rest-panel{background:#f1f7fd;border:2px solid var(--blue);border-radius:18px;padding:20px;text-align:center;box-shadow:var(--shadow)}.countdown{font-size:4rem;font-weight:900;letter-spacing:-.04em;color:var(--blue-dark);font-variant-numeric:tabular-nums}.rest-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.rest-controls button{min-height:52px;border:2px solid var(--blue);background:#fff;color:var(--blue-dark);border-radius:10px;font-weight:850}.finish-panel,.completion{text-align:center;background:#fff;border:1px solid #c6d3df;border-radius:18px;padding:28px;box-shadow:var(--shadow)}.finish-panel .status-dot{display:block;width:36px;height:36px;margin:0 auto 18px}.completion__check{width:72px;height:72px;border-radius:50%;background:var(--green);color:#fff;font-size:2.7rem;display:grid;place-items:center;margin:8px auto 18px}.completion-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.completion-stats>div{background:#eef4f8;border-radius:12px;padding:12px 4px;display:grid}.completion-stats strong{font-size:1.7rem;color:var(--blue-dark)}.completion-stats span{font-size:.72rem;color:#40566b;font-weight:750}.session-list{display:grid;gap:10px;margin-bottom:18px}.session-row{width:100%;min-height:74px;border:1px solid #bdccd8;background:#fff;border-radius:13px;padding:10px;display:grid;grid-template-columns:48px 1fr 46px 18px;align-items:center;text-align:left;gap:9px}.session-row span{display:grid;gap:3px}.session-row small{color:#4b6072}.workout-letter{width:42px;height:42px;border-radius:10px;display:grid!important;place-items:center;background:#e8eef3;font-size:1.2rem;font-weight:900}.workout-letter--done{background:var(--green-soft);color:#0d5523}.workout-letter--attention{background:var(--red-soft);color:#7b1220}.history-detail section{border-top:1px solid #d2dce4;padding:12px 0}.history-detail ol{padding-left:24px;line-height:1.7}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-grid .card{display:grid;gap:8px;margin-bottom:0}.stat-grid span{color:#40556a;font-weight:750}.stat-grid strong{font-size:1.5rem;color:var(--blue-dark)}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding:18px 0}.bar-chart>div{height:100%;min-width:44px;display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar-chart span{width:32px;min-height:8px;background:var(--blue);border-radius:7px 7px 2px 2px;color:#fff;display:flex;justify-content:center;align-items:flex-start}.bar-chart b{font-size:.75rem;padding-top:3px}.bar-chart small{font-size:.7rem;color:#40566a}.improvement-list>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d2dce4;padding:12px 0}.improvement-list span:first-child{display:grid;gap:3px}.change-positive{color:var(--green);font-weight:900}.empty{text-align:center;box-shadow:none;background:#f8fafb}.toggle{display:flex;align-items:center;gap:12px;min-height:52px;font-weight:750;margin:10px 0}.toggle input{width:24px;height:24px;min-height:auto;accent-color:var(--blue)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}fieldset{border:0;padding:0;margin:15px 0}legend{font-weight:850;margin-bottom:10px}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekday-picker label{position:relative}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;min-height:48px;border:2px solid #9fb0bf;border-radius:9px;font-size:.73rem;font-weight:800}.weekday-picker input:checked+span{background:var(--blue);color:#fff;border-color:var(--blue)}.profile-list{display:grid;gap:10px}.profile-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px}.profile-summary>span:nth-child(2){display:grid;flex:1}.profile-summary small{color:#4d6173}.workout-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px}.workout-tabs button{min-width:56px;min-height:50px;border:2px solid #9eb0bf;background:#fff;color:var(--blue-dark);border-radius:11px;font-weight:900}.workout-tabs button[aria-selected=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.routine-group-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.routine-group-header span:last-child{margin-left:auto;color:#4c6072}.routine-item{border-top:1px solid #ced9e2;padding:14px 0}.routine-item__title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.routine-item__title>span{color:var(--blue-dark);font-weight:900}.routine-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.routine-controls label{font-size:.72rem;font-weight:800;color:#3f556a}.routine-controls input{padding:5px;min-height:46px}.inline-actions{display:flex;gap:6px;align-items:center}.inline-actions>button:not(.button--danger-ghost){min-height:48px;min-width:48px;border:2px solid var(--blue);background:#fff;border-radius:9px;color:var(--blue-dark);font-weight:900}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#07192aa6;padding:20px;display:grid;place-items:center}.modal{width:min(100%,560px);max-height:90dvh;overflow:auto;background:#fff;border-radius:17px;padding:20px;box-shadow:0 18px 60px #0000004d}.modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal h2{margin-bottom:12px}.modal li{line-height:1.55;margin:7px 0}@media(min-width:700px){.page{padding-top:34px}.hero-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px}.hero-card>div:nth-child(2){grid-column:1}.hero-card>.button{grid-column:2;grid-row:1/3}.stat-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:430px){.brand-logo--compact{width:120px}.topbar>.logo-button{max-width:123px}.topbar .text-button{font-size:.75rem;min-width:40px;padding:6px}.sync-pill{display:none}.page{width:min(100% - 20px,760px);padding-top:18px}.card,.exercise-card{padding:16px}.routine-controls{grid-template-columns:1fr 1fr}.two-cols{grid-template-columns:1fr}.completion-stats span{font-size:.65rem}.rest-controls{gap:5px}.rest-controls button{padding:5px}.weekday-picker{grid-template-columns:repeat(4,1fr)}}.muted,.field__hint,.workout-header small,.session-row small,.profile-summary small,.routine-group-header span:last-child,.page-heading>p:last-child{color:#3f5365}.button--small,.routine-controls input{min-height:48px;min-width:48px}.routine-create>summary{min-height:48px;display:flex;align-items:center;color:var(--blue-dark);font-weight:850;cursor:pointer}.routine-create>summary::marker{color:var(--blue)}.routine-create[open]>summary{margin-bottom:12px;border-bottom:1px solid #ced9e2}.routine-management{flex-wrap:wrap}.routine-management .button{margin:0}.exercise-history-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.exercise-history-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ced9e2}.exercise-history-list li span{text-align:right;color:#3f5365}.previous span,.completion-stats span,.next-up span{color:#2f4254}.day-marker--skipped,.day-marker--missed{background:var(--red-soft);color:#70101d}.day-marker--upcoming{background:#e7edf2;color:#293e51}.weekday-picker input:focus-visible+span{outline:3px solid #006ee6;outline-offset:3px}.sync-pill--error{background:var(--red-soft);color:#70101d}.routine-preview{list-style:none;padding:0;display:grid;gap:8px}.routine-preview li{border-bottom:1px solid #ced9e2;padding:8px 0;display:grid;gap:3px}.workout-secondary-actions{margin:10px 0;flex-wrap:wrap}.personal-best{display:flex;justify-content:space-between;gap:12px;background:var(--blue-soft);padding:12px;border-radius:10px}.mini-trend{height:110px;display:flex;align-items:flex-end;gap:5px;padding:12px;background:#f4f7fa;border-radius:10px;margin-bottom:14px}.mini-trend span{flex:1;min-height:10px;background:var(--blue);border-radius:4px 4px 0 0}.profile-actions{flex-wrap:wrap}.stat-grid span,.bar-chart small{color:#2f4254}progress.progress{display:block;width:100%;border:0;appearance:none;-webkit-appearance:none}.progress::-webkit-progress-bar{background:#dce5ed;border-radius:99px}.progress::-webkit-progress-value{background:var(--green);border-radius:99px}.progress::-moz-progress-bar{background:var(--green);border-radius:99px}.bar-height-1{height:28px}.bar-height-2{height:48px}.bar-height-3{height:68px}.bar-height-4{height:88px}.bar-height-5{height:108px}.bar-height-6{height:128px}.bar-height-7{height:148px}.bar-height-8,.bar-height-9,.bar-height-10,.bar-height-11,.bar-height-12{height:168px}.trend-level-1{height:10%}.trend-level-2{height:20%}.trend-level-3{height:30%}.trend-level-4{height:40%}.trend-level-5{height:50%}.trend-level-6{height:60%}.trend-level-7{height:70%}.trend-level-8{height:80%}.trend-level-9{height:90%}.trend-level-10{height:100%}input,select,textarea,.weekday-picker span,.workout-tabs button{border-color:#6f8293}.page:focus{outline:3px solid transparent;outline-offset:4px}.profile-switch{white-space:nowrap}.session-row{border:2px solid #6f8293}.bottom-nav button[aria-current=page]{box-shadow:inset 0 -4px 0 var(--blue)}.button:not(.button--primary):not(.button--secondary):not(.button--danger-ghost){border:2px solid #6f8293;background:#fff;color:var(--blue-dark)}
