:root{font-family:-apple-system,BlinkMacSystemFont,Inter,Arial,sans-serif;color:#edf2f6;background:#101319;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.shell{max-width:660px;min-height:100vh;margin:auto;padding:18px 16px 110px;background:#101319}.top{display:flex;justify-content:space-between;align-items:center;margin:5px 0 25px}.brand{font-size:23px;font-weight:900;letter-spacing:.08em}.brand b{color:#9cf45b}.round-icon{background:#26342a;color:#9cf45b;border:0;border-radius:16px;width:42px;height:42px;font-size:21px}.muted{color:#9daab9}.tiny{font-size:12px}.heading{font-size:24px;font-weight:800;margin:0 0 10px}.subheading{font-size:17px;font-weight:740;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 11px}.card{background:#1c222b;border:1px solid #303843;border-radius:18px;padding:16px;margin-bottom:12px}.card.soft{background:#18221c;border-color:#314735}.card-title{font-weight:750;font-size:16px}.column{display:flex;flex-direction:column;gap:7px}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.row.start{justify-content:flex-start}.divider{border:0;border-top:1px solid #38404a;margin:13px 0}.chip{display:inline-flex;align-items:center;gap:4px;background:#28313b;border-radius:9px;padding:7px 9px;color:#d5dbe2;font-size:12px}.lime{color:#9cf45b}.amber{color:#ecc67f}.pill{border:1px solid #3c4651;background:#202832;color:#d7e0e7;padding:9px 12px;border-radius:12px}.pill.on{border-color:#91e353;color:#9cf45b;background:#273d2d}.btn{background:#9cf45b;color:#172316;border:0;border-radius:13px;padding:14px 15px;font-weight:800;text-align:center;min-height:46px}.btn.secondary{background:#303945;color:#f2f5f7}.btn.outline{background:transparent;color:#9cf45b;border:1px solid #83cd4c}.btn.danger{background:#543039;color:#ffd5d8}.btn.small{font-size:12px;padding:8px 11px;min-height:34px;border-radius:9px}.btn.full{width:100%;display:block}.input{width:100%;border:1px solid #3d4651;background:#131a21;color:#fff;padding:13px 12px;border-radius:12px;outline:none;min-width:0}.input:focus{border-color:#9cf45b}.input.small{padding:9px 7px;text-align:center}.label{font-size:12px;color:#a7b1bd;display:block;margin:0 0 7px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.threecol{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{background:#222a34;border-radius:13px;padding:13px 9px;text-align:center}.metric .big{font-weight:850;font-size:23px;color:#fff;margin-bottom:5px}.metric .small{font-size:11px;color:#a8b2bf}.sectionline{display:flex;justify-content:space-between;align-items:center;gap:10px}.entry{border:1px solid #37404b;border-radius:14px;padding:13px;margin:10px 0;background:#1b222a}.entry .name{font-weight:730}.setrow{display:grid;grid-template-columns:34px 1fr 1fr 72px;align-items:center;gap:8px;margin-top:9px}.setrow.done{opacity:.78}.setrow .setnum{color:#99a6b5;font-size:12px}.inputgroup{display:flex;flex-direction:column;gap:4px}.status{font-size:11px;border-radius:8px;padding:5px 7px;background:#303846;color:#c5ccd5}.status.good{background:#26452c;color:#a7ef83}.status.warn{background:#453b27;color:#f1d68c}.nav{position:fixed;bottom:0;left:0;right:0;background:#151a21;border-top:1px solid #2c333c;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;max-width:660px;margin:auto}.nav button{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;color:#8795a5;background:transparent;border:0;padding:4px 9px;font-size:11px}.nav button.active{color:#9cf45b}.nav .ico{font-size:21px}.banner{font-size:12px;padding:10px 12px;border-radius:10px;margin-bottom:14px;background:#243028;color:#c9f0b8}.banner.warn{background:#463b24;color:#f0d99e}.mini{padding:10px 0;border-top:1px solid #313b46}.mini:first-child{border-top:none}.tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.scroll{max-height:310px;overflow-y:auto}.empty{padding:22px 12px;color:#9daab9;text-align:center;border:1px dashed #39414b;border-radius:14px}.timer{padding:14px;background:#29382d;border-radius:14px;text-align:center;color:#9cf45b;font-size:26px;font-weight:800;letter-spacing:.07em}.check{accent-color:#9cf45b;width:20px;height:20px}.biggap{height:7px}h2,h3{margin:0}a{color:#9cf45b}.footer-note{text-align:center;font-size:11px;color:#657180;margin-top:20px}@media (max-width:390px){.shell{padding:15px 11px 108px}.setrow{grid-template-columns:27px 1fr 1fr 65px;gap:5px}.btn.small{padding:8px 7px}.card{padding:13px}}

.demo-disclaimer{border:1px solid #66572b;background:#302c1d;color:#f3dfaa;border-radius:12px;padding:11px 13px;margin:-12px 0 21px;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.4}.demo-disclaimer strong{font-size:11px;letter-spacing:.04em}
/* GYM TRACK public test build 0.2: clearer actions and calendar. */
.version{font-size:10px;color:#8d9bac;letter-spacing:0;vertical-align:middle;font-weight:600}
.title-row{align-items:flex-start;border:1px solid #303843;background:#1c222b;padding:13px;border-radius:13px}
.title-row h2{font-size:20px;margin:3px 0 0}.title-row .btn{flex-shrink:0}
.filter-label{font-size:12px;color:#b6c0cb;margin-top:11px;font-weight:650}
.tabs{gap:6px;margin:9px 0;flex-wrap:wrap}.pill{font-size:13px;padding:8px 10px;min-height:38px}.selectable{cursor:pointer}
.set-block{padding:12px 0 10px;border-bottom:1px solid #323a44}.set-block:last-child{border-bottom:0}
.set-block.done{background:rgba(37,68,45,.12)}.set-block.skipped{background:rgba(91,78,47,.1)}
.set-block .setrow{margin-top:0;grid-template-columns:23px minmax(0,1fr) minmax(0,1fr) 88px;gap:6px}
.set-block .set-primary{display:flex;justify-content:end;align-items:center;min-width:0}
.set-block .set-primary .btn.small{padding:8px 6px;min-height:36px;font-size:11px;white-space:normal}
.set-block .set-primary .status{font-size:10px;padding:6px 4px;white-space:normal;text-align:center}
.set-block .label{font-size:11px;margin:0 0 4px}.set-block .input.small{padding:10px 3px;font-size:14px}
.set-actions{display:flex;justify-content:flex-end;margin-top:7px}.set-actions .btn.small{font-size:11px}
.entry-header{align-items:flex-start}.entry-header>.column{flex:1;min-width:0}.entry-header .btn{flex-shrink:0}
.calendar-top{margin-bottom:16px}.capitalize{text-transform:capitalize}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.calendar-week{color:#96a7b4;font-size:11px;margin-bottom:9px}.calendar-day,.calendar-empty{aspect-ratio:1;min-height:39px}
.calendar-day{background:#222a33;color:#e9eff4;border:1px solid transparent;border-radius:10px;display:flex;justify-content:center;align-items:center;gap:3px;flex-direction:column;font-size:14px}
.calendar-day.selected{background:#314e32;color:#9cf45b;border-color:#9cf45b;font-weight:750}.calendar-day.today:not(.selected){border-color:#647486}
.calendar-dot{width:5px;height:5px;border-radius:50%;background:#9cf45b;display:block}
.calendar-selected{border-top:1px solid #36404b;margin:15px 0 10px;padding-top:13px}.calendar-selected b{font-size:13px;text-transform:capitalize}
@media(max-width:390px){.set-block .setrow{grid-template-columns:20px minmax(0,1fr) minmax(0,1fr) 78px;gap:4px}.set-block .set-primary .btn.small{font-size:10px;padding:6px 3px}}
