:root{font-family:'DM Sans',sans-serif;color:#243b32;background:#f5f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1060px;margin:auto;height:88px;padding:24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0d5}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:2px;color:inherit;text-decoration:none}.tag,.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#6a786c}main{max-width:920px;margin:40px auto 130px;padding:0 24px}h1{font:800 clamp(32px,6vw,48px)/1.12 Manrope,sans-serif;letter-spacing:-2px;margin:12px 0}h2{font:800 23px Manrope,sans-serif;letter-spacing:-.6px}p{line-height:1.6;color:#67736b}button,input,select{font:inherit}button{cursor:pointer;min-height:46px;border:0;border-radius:12px;padding:12px 18px;color:#243b32;background:#e9ede3;font-weight:700}button:hover{filter:brightness(.96)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82a85a;outline-offset:3px}.primary{background:#c9e88c;color:#233a26}.dark{background:#243d31;color:white}.hero{background:#1d352b;color:white;border-radius:24px;padding:30px;margin:28px 0;position:relative;overflow:hidden}.hero p{color:#becdc0}.hero h2{font-size:32px;margin:12px 0}.hero .letter{position:absolute;right:30px;top:0;font:800 170px Manrope;opacity:.07}.hero .eyebrow{color:#c9e88c}.hero button{min-width:180px;position:relative}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border:1px solid #dce1d5;border-radius:16px;padding:20px;background:#fffef9}.metric strong{display:block;font:800 27px Manrope;margin-bottom:5px}.metric span{font-size:12px;color:#6c776d}.week{display:flex;gap:8px;margin:20px 0}.week span{height:8px;width:50px;border-radius:8px;background:#dfe5d8}.week .filled{background:#93b65e}.sectionline{display:flex;justify-content:space-between;align-items:center;gap:12px}.card{background:#fffefb;border:1px solid #dfe3d8;border-radius:18px;padding:22px;margin:12px 0}.exercise-head{display:flex;align-items:flex-start;gap:14px}.number{background:#edf0e5;border-radius:10px;padding:10px;font-size:12px;font-weight:700}.exercise-head h3{margin:0 0 6px;font:800 17px Manrope}.sub{font-size:13px;color:#7a8378}.pill{margin-left:auto;white-space:nowrap;font-size:12px;background:#edf0e5;border-radius:8px;padding:7px 10px}.sethead,.setrow{display:grid;grid-template-columns:35px 1fr 1fr 52px;gap:10px;align-items:center}.sethead{font-size:10px;color:#778275;letter-spacing:1px;margin:22px 0 8px}.setrow{margin:9px 0}.setrow input{width:100%;min-width:0;background:#f3f5ee;border:1px solid #dfe4d6;border-radius:10px;padding:13px 8px;font-size:18px;text-align:center;color:#253d30}.setrow button{padding:9px;border:1px solid #d9dfd0;font-size:20px}.setrow.done button{background:#c9e88c}.setrow.done input{background:#edf5df}.previous{font-size:12px;margin:14px 0 0;color:#6c7b65}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs .selected{background:#243d31;color:#fff}.notice{font-size:13px;background:#e9efdf;padding:14px;border-radius:12px;line-height:1.6}.muted{color:#75816f;font-size:13px}.finish{width:100%;margin:20px 0}nav{position:fixed;bottom:0;left:0;right:0;background:#fffef9ee;backdrop-filter:blur(15px);border-top:1px solid #dde2d6;display:flex;justify-content:center;padding:10px 10px calc(10px + env(safe-area-inset-bottom));gap:8px;z-index:10}nav button{background:transparent;font-size:21px;min-width:100px;padding:7px 14px;color:#819075}nav span{display:block;font-size:11px;margin-top:5px}nav .active{color:#263e2c;background:#eaf1df}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#263e2c;color:white;border-radius:12px;padding:14px;display:none;z-index:20;width:max-content;max-width:90%}select{max-width:100%;padding:14px;border:1px solid #d4deca;border-radius:10px;background:#fffef9;color:#263c2e}svg{width:100%;height:210px;overflow:visible}.chartlabels{display:flex;justify-content:space-between;font-size:11px;color:#78816f}.record{padding:14px 0;border-bottom:1px solid #e8ebdf}.record strong{display:block;margin-bottom:6px}details summary{cursor:pointer;padding:10px 0;font-weight:700}input[type=file]{max-width:100%}.danger{color:#a14436;background:#faeee9}.timer{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.timer strong{font-variant-numeric:tabular-nums;font-size:23px}label{display:block}.empty{padding:45px 15px;text-align:center}.empty b{font-size:35px}.settingsrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}progress{width:100%;height:6px;accent-color:#8caa53}@media(max-width:600px){header{height:70px;padding:18px 20px}.tag{font-size:9px;letter-spacing:1px}main{margin-top:28px;padding:0 18px}h1{letter-spacing:-1.4px}.hero{padding:24px;margin:24px 0}.metric{padding:15px 12px}.metric strong{font-size:23px}.card{padding:18px 14px}.pill{font-size:11px;padding:6px}.exercise-head{gap:9px}.exercise-head h3{font-size:15px}nav{gap:0}nav button{min-width:0;flex:1;padding:7px 3px}nav span{font-size:10px}.number{padding:8px}.sectionline h2{font-size:20px}}

[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed}.full{width:100%}.accountbar{display:flex;align-items:center;gap:12px}.account-button,.small-button{font-size:12px;min-height:36px;padding:8px 12px}.account-button{background:transparent}#syncState{font-size:11px;color:#718267}.sync-bad{color:#ad493c!important}#syncIssue{max-width:872px;margin:20px auto;padding:20px;background:#fff0dc;border:1px solid #e6cea5;border-radius:14px}#syncIssue p{margin:7px 0;font-size:13px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;min-height:65vh}.login-intro h1{font-size:54px;letter-spacing:-2.5px;margin:18px 0}.login-intro p{max-width:360px}.login-facts{display:flex;gap:20px;font-size:12px;margin-top:30px;color:#66765d}.login-card{padding:32px;border-radius:22px;box-shadow:0 10px 50px #233f2910}.login-card h2{font-size:30px;margin:12px 0 0}.login-card>p{margin:8px 0 24px}.login-card label,.editor-card label,.password-page label{font-size:13px;font-weight:600;margin:18px 0 8px}.login-card input,.editor-card input:not([type=checkbox]),.password-page input,.search-label input{display:block;width:100%;font:inherit;font-weight:400;font-size:16px;color:#243b32;background:#f7f8f1;border:1px solid #dbe2d2;border-radius:10px;min-height:48px;padding:12px;margin-top:9px}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:66px}.password-wrap button{position:absolute;right:5px;top:14px;background:transparent;font-size:12px;min-height:35px;padding:6px 12px}.form-error{font-size:13px;color:#a04335;min-height:20px}.login-help{padding-top:10px;font-size:12px;line-height:1.7}.login-security{font-size:11px;text-align:center;color:#7b886e;border-top:1px solid #e6eadf;padding-top:20px}.login-art{margin-top:40px;height:155px;position:relative;background:#dfe9cf;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:22px}.login-art b{font:700 95px Manrope;color:#37593a}.login-art span{font-size:10px;letter-spacing:3px;color:#537044}.login-art i{position:absolute;width:200px;height:200px;border:1px solid #c3d4ac;border-radius:50%;left:-60px;top:10px}.admin-badge{font-size:11px;background:#e3eccf;color:#456131;border-radius:8px;padding:9px 12px}.admin-heading{margin-top:25px}.search-label{font-size:12px;color:#66745d;display:block}.search-label input{max-width:420px}.user-card{display:flex;gap:16px;align-items:flex-start}.avatar{width:42px;height:42px;border-radius:12px;background:#e8efdc;display:grid;place-items:center;font-weight:800;flex-shrink:0}.user-info{flex:1;min-width:0}.user-info h3{margin:0 0 5px;font-size:16px}.user-info>.sub{overflow-wrap:anywhere}.user-info p{margin:7px 0 0;font-size:11px}.user-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:11px}.role-pill{background:#eff1e8;padding:4px 8px;border-radius:6px}.status-dot{color:#5a7c3d}.status-dot:before{content:'●';font-size:9px;margin-right:5px}.inactive{color:#a26b4e}.editor-card{border:2px solid #adca86;scroll-margin-top:20px}.editor-card form{max-width:500px}.editor-card select{display:block;width:100%;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{accent-color:#658748;width:20px;height:20px}hr{border:0;border-top:1px solid #dfe5d5;margin:26px 0}.password-page{max-width:560px;margin:auto}.password-page .card{padding:28px}body:has(.login-layout) main{max-width:980px;margin-bottom:45px}nav button{min-width:90px}
@media(max-width:700px){.login-layout{grid-template-columns:1fr;gap:20px;min-height:0}.login-intro h1{font-size:38px;margin:14px 0}.login-intro>p{font-size:14px}.login-art{display:none}.login-facts{margin-top:16px;gap:20px}.login-card{padding:26px;margin-top:8px}.accountbar{gap:3px}.account-button{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#syncState{font-size:9px;max-width:65px}.brand{font-size:13px;letter-spacing:1px}.accountbar .small-button{padding:7px;font-size:10px}.user-card{gap:10px;padding:17px 12px}.user-card .small-button{padding:7px 9px}.avatar{width:32px;height:32px;font-size:13px}.admin-badge{font-size:9px;padding:7px}.admin-heading h2{font-size:20px}.login-card h2{font-size:28px}#syncIssue{margin:15px}nav button{min-width:0}.admin-heading button{font-size:12px}}

/* Visible rest choices stay side by side on phones. */
.rest-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.rest-options button{min-width:0;white-space:nowrap;padding:12px 6px;font-size:13px}.rest-options button[aria-pressed="true"]{background:#c9e88c;color:#233a26;box-shadow:inset 0 0 0 2px #6c8b43}

/* Gymapan login mascot: keep the character visible at mobile breakpoints. */
.login-layout{gap:44px;align-items:start}.mascot-card{margin:16px 0 0;border-radius:22px;overflow:hidden;background:#dfe8cd;box-shadow:0 12px 35px #243b3212}.mascot-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.mascot-card figcaption{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#213b2e;color:#f8f8ef}.mascot-card figcaption h1{font-size:32px;letter-spacing:-1px;line-height:1.1;margin:0;color:inherit}.mascot-card figcaption span{font-size:44px;color:#c9e88c}.login-intro .login-facts{margin:16px 0;font-size:11px}.login-card{margin-top:31px}.login-security{line-height:1.7}
@media(max-width:700px){.login-layout{gap:8px}.login-intro .eyebrow{font-size:10px;letter-spacing:1.6px}.mascot-card{margin-top:12px;border-radius:18px}.mascot-card img{height:235px;aspect-ratio:auto;object-position:center 34%}.mascot-card figcaption{padding:14px 20px}.mascot-card figcaption h1{font-size:26px}.mascot-card figcaption span{font-size:34px}.login-intro .login-facts{margin:12px 0}.login-card{margin-top:8px;padding:24px}.login-card>p{margin-bottom:14px}}

.mascot-card figcaption{position:relative}.mascot-card figcaption:before{content:"";position:absolute;top:-12px;left:30px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:13px solid #213b2e}

.history-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:12px;border-top:1px solid #e6eadf}.history-actions button{min-height:46px}
