:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#0c141b;color:#f5f8f8;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#92e5bb}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #8ceabd;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}
.app-shell{min-height:100dvh;width:min(100%,520px);margin:auto;background:linear-gradient(180deg,#192a35 0,#0e1a23 360px,#0d161e 100%);box-shadow:0 0 50px #0004;padding:18px 17px max(28px,env(safe-area-inset-bottom))}
.boot{padding:28vh 0;text-align:center;color:#9de7c1}.boot h1{font-size:24px;color:#fff}.boot p{color:#9cb5c0}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.brand{font-size:18px;font-weight:900;letter-spacing:.7px;white-space:nowrap}.brand em{font-style:normal;color:#9deabd}.muted{color:#9bb1bc}.tiny{font-size:11px}.sm{font-size:13px}.sub{font-size:14px;color:#afc0c9;line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:#9cb0bc;font-size:11px;font-weight:800}.big{font-size:31px;letter-spacing:-1.1px;line-height:1.12;margin:7px 0 10px}.h2{font-size:22px;letter-spacing:-.5px;margin:0}.h3{font-size:16px;margin:0}.badge{border:1px solid #366955;background:#1d3e35;color:#aff2cb;border-radius:40px;padding:7px 10px;font-size:11px;font-weight:800}.line{border:0;border-top:1px solid #30434f;margin:15px 0}.stack{display:flex;flex-direction:column;gap:13px}.row{display:flex;align-items:center;gap:10px}.row.spread{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.text-right{text-align:right}.center{text-align:center}.gap-sm{gap:7px}.gap-md{gap:12px}.gap-lg{gap:16px}
.card{border:1px solid #314753;background:#182a35;border-radius:15px;padding:15px}.card-soft{background:#13242e;border:1px solid #28404a;border-radius:13px;padding:13px}.card h3{margin:0 0 7px;font-size:15px}.card p{color:#b1c3ca;font-size:13px;line-height:1.5;margin:7px 0}.card + .card{margin-top:12px}.info{color:#b0c7cf;background:#16313a;border-left:3px solid #7ecfad;padding:12px 13px;border-radius:6px;font-size:13px;line-height:1.5}.warning{border-color:#9c6e42;background:#372b22;color:#f4cfaa}
button.primary,button.secondary,button.ghost,button.danger,button.small{border-radius:12px;padding:12px 14px;font-weight:780;border:1px solid transparent;min-height:44px}button.primary{background:#9ce5b9;color:#10221c}button.primary:hover{background:#b4f5ce}button.secondary{background:#253a48;color:#eff7f6;border-color:#42606b}button.secondary:hover{background:#334d5d}button.ghost{background:transparent;color:#bdd6d7;border-color:#405862}button.danger{background:#49272c;border-color:#8c4d56;color:#ffcfce}button.small{min-height:34px;font-size:12px;padding:7px 9px;background:#233a44;color:#d9f5e6;border-color:#436557}.wide{width:100%}.btnrow{display:flex;gap:9px}.btnrow>*{flex:1;min-width:0}.linklike{background:none;border:0;color:#a2e5c5;text-decoration:underline;padding:8px 0;font-weight:650}.back{background:transparent;border:0;color:#b8d2d7;padding:8px 0;text-align:left;font-size:13px}
label{font-size:12px;color:#b2c7cf;font-weight:700;display:block;margin-bottom:6px}input,textarea,select{width:100%;border:1px solid #3c5662;background:#10202a;color:#f3f7fa;border-radius:10px;padding:12px;min-height:44px}textarea{resize:vertical;min-height:88px;line-height:1.45}input[type=checkbox]{width:24px;min-height:24px;accent-color:#9ce5b9;cursor:pointer}input[type=file]{padding:9px;font-size:12px}.field{margin:0 0 12px}.field small{color:#92aeb7}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.section{margin-top:23px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.userpill{font-size:11px;color:#b5d7d1;border:1px solid #365961;background:#1b353d;border-radius:22px;padding:7px 10px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mode-card{display:block;width:100%;text-align:center;min-height:194px;border-radius:19px;padding:22px 16px;border:1px solid #49644e;background:linear-gradient(125deg,#23443c,#142d30);color:white;margin:0 0 13px;transition:transform .13s}.mode-card:active{transform:scale(.98)}.mode-card.gym{border-color:#866040;background:linear-gradient(125deg,#533b29,#302a29)}.mode-card .emoji{font-size:38px;display:block;margin-bottom:6px}.mode-card .mode-title{display:block;font-size:27px;font-weight:900;letter-spacing:1px}.mode-card .desc{display:block;font-size:13px;color:#cdd9d8;line-height:1.6;margin-top:7px}.mode-card .cta{display:inline-block;border-radius:30px;padding:9px 17px;background:#a0e9bf;color:#153125;font-size:12px;font-weight:800;margin-top:13px}.mode-card.gym .cta{background:#f4bb7e;color:#38210b}.bottomnav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-top:1px solid #354956;margin-top:25px;padding-top:15px}.navitem{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:#b7cbd3;font-size:11px;padding:8px 2px}.navitem span{font-size:19px}
.photo{height:196px;border-radius:15px;background:linear-gradient(140deg,#213e42,#19313d);border:1px solid #416165;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;position:relative;margin:17px 0}.photo .picture{font-size:58px;filter:grayscale(.3);opacity:.85}.photo img{width:100%;height:100%;object-fit:cover}.photo .photocaption{position:absolute;bottom:10px;font-size:11px;color:#bbdbd8;background:#19313ddc;padding:5px 10px;border-radius:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.stat{background:#192b36;border:1px solid #2f4751;border-radius:13px;padding:13px 9px}.stat small{display:block;color:#96b0bb;font-size:11px;margin-bottom:7px}.stat strong{font-size:19px}.set-head,.set-line{display:grid;grid-template-columns:33px 1fr 1fr 48px;gap:8px;align-items:center}.set-head{color:#99b2bb;font-size:11px;text-align:center;margin:12px 0 7px}.set-line{margin-bottom:8px}.set-line input{padding:10px 5px;text-align:center;min-width:0}.num{font-weight:800;color:#c4e2d7;text-align:center}.tick{height:43px;border:1px solid #486573;border-radius:11px;background:#223943;color:#d2e0e5;font-size:22px}.tick.done{background:#24644d;color:#d5ffde;border-color:#80d4a4}.feedback{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.feedback button{background:#20343f;border:1px solid #39545f;color:#d7e4e6;border-radius:11px;font-size:11px;padding:11px 3px;line-height:1.5;min-height:64px}.feedback button strong{font-size:22px;display:block}.feedback button.active{border:2px solid #a0e5ba;background:#285345;color:white}.feedback button.dangerous.active{border-color:#f4bb7e;background:#563735}.bar{height:6px;background:#314551;border-radius:10px;overflow:hidden;margin:15px 0}.bar>div{height:100%;background:#9ce5b9;transition:width .2s}.nav-bottom{display:flex;gap:10px;margin:17px 0}.nav-bottom>*{flex:1}.list-item{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;background:#192c35;color:#f4f8f8;border:1px solid #38505a;border-radius:13px;padding:13px;text-align:left;margin:8px 0}.list-item:hover{background:#253e48}.list-item .summary{color:#9db6c1;font-size:12px;margin-top:4px}.list-item .check{color:#a6ebbe;white-space:nowrap}.rest{font-variant-numeric:tabular-nums;font-size:30px;font-weight:850;text-align:center;margin:8px 0}.rest-actions{display:flex;gap:8px}.tag{font-size:11px;color:#aac6c8;background:#23414a;border-radius:20px;padding:5px 9px;display:inline-flex}.tag.alert{background:#60342d;color:#ffe0cc}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{flex:1}.plan-row{border:1px solid #3a535d;border-radius:12px;margin-bottom:10px;padding:12px;background:#152832}.plan-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.plan-fields input{padding:10px 5px;text-align:center;font-size:14px}.plan-fields label{text-align:center;font-size:10px}.placeholder{padding:30px 15px;text-align:center;color:#b5cbd2;border:1px dashed #45616c;border-radius:15px}.meter{display:flex;align-items:end;gap:4px;height:82px;margin-top:10px}.meter-col{flex:1;min-width:7px;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px;height:100%}.meter-bar{background:#84caab;width:100%;min-height:3px;border-radius:4px 4px 0 0}.meter-col small{font-size:9px;color:#b6c9d0}.diff{border-top:1px solid #3a525c;padding:9px 0}.diff b{color:#a1ecc3}.code-preview{white-space:pre-wrap;word-break:break-word;background:#0d1d28;border:1px solid #38505d;color:#c7e7dd;border-radius:10px;padding:12px;font-size:12px;max-height:210px;overflow:auto}#toast{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 26px));color:#f5fffb;background:#294a45;border:1px solid #75b59a;padding:12px 15px;border-radius:12px;z-index:99;display:none;box-shadow:0 8px 30px #0006;font-size:13px}#toast.active{display:block}#toast.error{background:#512a2d;border-color:#c16d77}.hidden{display:none!important}.space-top{margin-top:12px}.space-bottom{margin-bottom:12px}
@media (min-width:700px){.app-shell{border-left:1px solid #283c44;border-right:1px solid #283c44}}@media(max-width:355px){.app-shell{padding:13px 11px}.brand{font-size:16px}.feedback button{font-size:10px}.big{font-size:27px}}

.login-hero{min-height:160px}
