:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif;color:#f2f5f7;background:#0e1117;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#0e1117;--panel:#181e26;--panel2:#212934;--line:#303945;--text:#f2f5f7;--muted:#9ba8b7;--accent:#c3f5dd;--danger:#f1a1a6}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}svg{display:block}#app{max-width:600px;margin:auto;min-height:100dvh;padding-bottom:calc(100px + env(safe-area-inset-bottom))}a{color:var(--accent)}.screen{padding:calc(25px + env(safe-area-inset-top)) 20px 12px;animation:appear .2s ease}@keyframes appear{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
.topline,.between,.row{display:flex;align-items:center}.between{justify-content:space-between}.row{gap:12px}.topline{margin-bottom:28px}.eyebrow{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:2px;text-transform:uppercase}.title{font-size:31px;letter-spacing:-1.05px;line-height:1.13;font-weight:760;margin:8px 0 19px}.subtitle{font-size:21px;letter-spacing:-.5px;font-weight:730;margin:0 0 16px}.desc{line-height:1.65;color:#b5c0cc;font-size:14px;white-space:pre-wrap}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.section-title{font-size:15px;font-weight:710;margin:30px 0 13px}.mono{font-variant-numeric:tabular-nums}.hint{color:#8995a3;font-size:12px;line-height:1.5}.error{color:var(--danger)}.notice{background:#25352d;border:1px solid #395b49;color:#d1f7e2;border-radius:14px;padding:13px;font-size:13px;line-height:1.5;margin:12px 0}.notice.warn{background:#38272a;border-color:#614148;color:#f5ced0}.pill{border:1px solid #3a4551;border-radius:50px;padding:7px 11px;color:#cbd4df;font-size:11px;font-weight:650;white-space:nowrap}.pill.light{background:var(--accent);color:#13221d;border-color:var(--accent)}.separator{height:1px;background:var(--line);margin:20px 0}
.icon-btn,.ghost-btn{background:none;color:#e0e6ed;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon-btn{height:40px;min-width:40px;border-radius:12px}.icon-btn:hover,.ghost-btn:hover{background:#252b35}.icon-btn svg,.btn svg,.ghost-btn svg{width:18px;height:18px}.avatar{background:#262d36;border-radius:50%;height:44px;width:44px;display:flex;align-items:center;justify-content:center;border:1px solid #353e4a}.avatar svg{width:21px}.btn{border:none;background:#f1f3f5;color:#15191f;border-radius:15px;font-weight:750;min-height:51px;padding:12px 17px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-size:14px}.btn.secondary{background:#252c37;color:#e5ebf2}.btn.outline{border:1px solid #424d5c;color:#f2f5f7;background:transparent}.btn.danger{background:#a54450;color:white}.btn.ghost{background:transparent;color:#d5dde5}.btn.half{width:auto}.btn.smallbtn{min-height:38px;padding:8px 12px;font-size:12px;border-radius:10px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar .btn{flex:1}.input,.select,.textarea{background:#222a34;border:1px solid #333d4a;color:#f4f6f8;border-radius:13px;width:100%;min-height:49px;padding:12px 14px;outline:none;font-size:15px}.input:focus,.select:focus,.textarea:focus{border-color:#b0e5cf;box-shadow:0 0 0 2px #b0e5cf18}.textarea{resize:vertical;min-height:110px;line-height:1.5}.field{margin:0 0 19px}.field label,.label{font-size:12px;color:#b4c0ce;display:block;margin:0 0 8px;font-weight:650}.search-wrap{display:flex;align-items:center;gap:11px;padding:0 14px;background:var(--panel2);border:1px solid #333c48;border-radius:15px;height:52px}.search-wrap svg{width:20px;height:20px;color:var(--muted);flex:none}.search-wrap input{background:transparent;color:white;border:0;outline:0;flex:1;width:100%;font-size:14px}.search-wrap input::placeholder{color:#8591a0}
.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.category{background:#1d242e;border:1px solid #303946;border-radius:17px;min-height:108px;padding:17px 15px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;color:#fff;text-align:left}.category .cat-icon{color:#d8e5df;opacity:.88}.cat-bottom{display:flex;width:100%;align-items:end;justify-content:space-between;gap:3px}.category h3{font-size:15px;font-weight:650;margin:0 0 5px}.category small{font-size:11px;color:#94a2b1}.category:hover,.exercise-card:hover{border-color:#607166}.add-inline{margin-top:17px}.empty{background:#192029;border:1px dashed #414b57;border-radius:19px;padding:35px 22px;text-align:center;color:#a9b5c2;line-height:1.6}.empty svg{margin:0 auto 12px;color:#b8c8d7}.empty h3{color:#eef3f7;margin:6px 0}
.exercise-list{display:grid;gap:16px}.exercise-card{border:1px solid #323d48;background:#1b222b;border-radius:19px;overflow:hidden;text-align:left;display:block;width:100%;padding:0;color:#eef3f7}.cover{aspect-ratio:16/9;width:100%;background:linear-gradient(135deg,#2c3741,#141b24);overflow:hidden;position:relative}.cover img{width:100%;height:100%;object-fit:cover}.cover.placeholder{display:flex;align-items:center;justify-content:center;color:#6d7a89}.cover.placeholder svg{width:51px;height:51px}.card-content{padding:17px 18px;display:flex;align-items:center;justify-content:space-between}.card-content strong{font-size:16px}.card-content small{display:block;margin-top:6px;color:#a1adbb;font-size:12px}.card-content svg{color:#9ca8b7}.order-item{border-radius:16px;background:#1f2731;border:1px solid #38424d;display:flex;align-items:center;gap:12px;padding:11px}.order-num{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#374250;border-radius:10px;color:#e1e8ec;font-size:13px}.order-name{flex:1;font-size:14px;font-weight:660;line-height:1.4}.order-actions{display:flex;flex-direction:column;gap:0}.order-actions button{height:30px;width:33px;border:0;background:none;color:#d8e5dd}.back{display:flex;gap:4px;align-items:center;background:transparent;color:#c1cbd5;border:0;padding:0;margin-bottom:23px;font-size:13px;font-weight:600}.back svg{width:18px}.photo-counter{color:#9daaba;text-align:center;font-size:12px;margin-top:8px}.hero{border-radius:19px;overflow:hidden;background:#202934}.hero img{width:100%;max-height:380px;aspect-ratio:16/10;object-fit:cover;display:block}.gallery-controls{margin-top:8px;display:flex;justify-content:center;align-items:center;gap:12px}.gallery-controls button{height:35px;width:35px;background:#262e38;border:0;color:white;border-radius:50%}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 22px}.info-block{padding:0 0 8px}.info-block h3{font-size:14px;margin:0 0 8px}.sets{background:#1d252f;border-radius:17px;padding:16px 13px}.setrow{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:8px;align-items:center;text-align:center;min-height:42px;border-top:1px solid #2e3743}.setrow:first-child{border-top:0}.setrow.head{border:0;color:#a4b1bf;font-size:11px;min-height:32px;font-weight:700}.setrow span{font-size:15px;font-weight:630}.setrow.wide{grid-template-columns:1fr 1.5fr}.setedit{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 38px;gap:8px;align-items:center;margin-bottom:9px}.setedit.duration{grid-template-columns:30px minmax(0,1fr) 38px}.setedit .input{min-width:0;text-align:center;min-height:45px;padding:8px 5px}.round-x{border:1px solid #4a3f47;background:#38292f;color:#ffb1b4;border-radius:10px;height:39px;width:38px;font-size:19px}.upload{border:1px dashed #586878;border-radius:15px;padding:17px;text-align:center;color:#c7d2dd;font-size:13px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:75px;cursor:pointer}.upload input{display:none}.photoedit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.photo-box{background:#232b35;border-radius:13px;overflow:hidden;position:relative}.photo-box img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-box .photo-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;padding:6px;gap:3px}.photo-tools button{background:#37404d;border:0;border-radius:7px;padding:6px 8px;color:#f2f5f7;font-size:11px}.cover-tag{position:absolute;top:6px;left:6px;background:var(--accent);color:#1f3027;padding:4px 6px;border-radius:6px;font-size:10px;font-weight:780}.checkbox-line{display:flex;gap:9px;align-items:center;padding:9px 0;color:#e6eaf0;font-size:13px}.checkbox-line input{width:18px;height:18px;accent-color:#bcebd2}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions-sticky{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#11151bde,#101419);padding:13px 0 4px;z-index:10}.footer-nav{position:fixed;bottom:0;left:0;right:0;background:#151a22ed;backdrop-filter:blur(16px);border-top:1px solid #303843;display:flex;justify-content:center;padding:8px 10px calc(9px + env(safe-area-inset-bottom));z-index:30}.footer-inner{max-width:600px;width:100%;display:flex;justify-content:space-around}.navbtn{border:0;color:#82909e;min-width:88px;background:none;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:10px;padding:7px}.navbtn svg{width:21px;height:21px}.navbtn.active{color:var(--accent)}.modal-back{position:fixed;inset:0;background:#020409c9;z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(20px + env(safe-area-inset-bottom))}.modal{background:#1c232d;border:1px solid #424b58;border-radius:23px;max-width:500px;width:100%;padding:22px;box-shadow:0 35px 80px #0008}.modal h3{margin:2px 0 10px;font-size:21px;letter-spacing:-.4px}.radio-choice{border:1px solid #3a4653;border-radius:13px;padding:14px;margin:10px 0;display:flex;gap:10px;align-items:flex-start;font-size:14px}.radio-choice input{accent-color:#bcebd2;margin-top:3px}.auth-box{max-width:410px;margin:12vh auto 0;padding:28px}.logo{background:#1e272f;width:64px;height:64px;border:1px solid #425348;border-radius:19px;display:grid;place-items:center;font-weight:850;font-size:33px;color:#d3f6df;margin-bottom:27px}.splash{height:100dvh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:0;color:#fff;letter-spacing:3px}.splash .brandmark{background:#1a222b;border-radius:21px;padding:12px 21px;font-size:33px;font-weight:800}.splash small{color:#a0acba;letter-spacing:0}.demo-banner{padding:11px 12px;border-radius:12px;background:#2d2b21;color:#f1e2b2;font-size:12px;line-height:1.5;margin:0 0 20px}.status{font-size:11px;color:#bcd2cb;display:inline-flex;align-items:center;gap:6px}.status.offline{color:#f1c7a2}.floating-toast{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:#dbf3e6;color:#183124;padding:12px 18px;font-size:13px;font-weight:700;border-radius:13px;z-index:90;box-shadow:0 10px 28px #0008}.profile-card{background:#1c242e;border:1px solid #343e4a;border-radius:17px;padding:16px;margin:14px 0}.manage-row{display:flex;align-items:center;gap:10px;background:#222a35;padding:13px;border-radius:12px;margin:8px 0}.manage-row strong{flex:1;font-size:14px}.manage-row button{background:none;border:0;color:#d9e2ea;font-size:13px;padding:6px}.manage-row button.delete{color:#f0a3ac}.loading{text-align:center;padding:55px 20px;color:#b7c4cf}.spinner{height:25px;width:25px;border:2px solid #40505b;border-top-color:#cef1df;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 13px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:640px){#app{border-left:1px solid #252c35;border-right:1px solid #252c35}.screen{padding-left:28px;padding-right:28px}}
