*{box-sizing:border-box}body{margin:0;background:#091322;color:#f4f8ff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5}#app{max-width:700px;margin:auto;min-height:100vh;padding:20px 16px 105px}.top{display:flex;align-items:center;justify-content:space-between;margin:12px 0 24px}.brand{font-size:28px;font-weight:900;letter-spacing:-.7px}.brand b{color:#219dff}.muted{color:#a5b3ca;font-size:13px}.panel{background:#152339;border:1px solid #30425b;border-radius:18px;padding:18px;margin-bottom:16px}.headline{font-size:19px;font-weight:800;margin:0 0 12px}.days{display:grid;gap:10px}.day{display:flex;align-items:center;gap:12px;text-align:left;color:white;width:100%;border:1px solid var(--c);background:linear-gradient(90deg,var(--c),#172238 75%);padding:16px;border-radius:14px}.day .abbr{font-size:24px;font-weight:900;width:46px}.day strong{display:block;font-size:17px}.day small{display:block;color:#d5deed;margin-top:3px}.day .status{margin-left:auto;font-size:22px}.progress{height:11px;background:#33445e;border-radius:30px;overflow:hidden;margin:14px 0 8px}.bar{height:100%;background:linear-gradient(90deg,#04bd73,#5cf385);transition:width .2s}.flex{display:flex;align-items:center;justify-content:space-between;gap:10px}.btn{border:0;border-radius:12px;padding:13px 17px;background:#218bff;color:white;font-weight:800}.btn.green{background:#04b95d}.btn.ghost{background:#25354c}.btn.danger{background:#a72f44}.btn.small{padding:8px 11px;font-size:13px}.exercise{background:#f4f7fc;color:#142137;border-radius:14px;margin-bottom:9px;padding:13px;display:flex;align-items:center;gap:12px}.exercise.done{background:#e4fff1}.check{height:28px;width:28px;accent-color:#06a859;flex-shrink:0}.ex-name{font-weight:800;font-size:15px}.ex-info{color:#57667d;font-size:12px;margin-top:4px}.ex-main{flex:1;min-width:0}.open{border:0;background:#d9e5f5;color:#123b65;border-radius:9px;padding:9px 12px;font-weight:800}.back{background:none;color:#fff;border:0;font-size:22px;padding:4px 10px 4px 0}.day-title{font-size:25px;font-weight:900}.pill{display:inline-block;padding:5px 10px;border-radius:50px;background:#243a57;font-size:12px}.set-row{display:grid;grid-template-columns:40px 1fr 1fr 30px;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid #2a3c55}.set-row input[type=number]{width:100%;min-width:0;background:#22334b;color:white;border:1px solid #455b76;border-radius:9px;padding:11px 5px;text-align:center}.set-row input[type=checkbox]{width:24px;height:24px;accent-color:#07bd69}.label{font-size:12px;color:#aebbd0}.hint{background:#1d3551;border-radius:12px;padding:12px;margin:14px 0;color:#d5e8ff;font-size:13px}.tabs{position:fixed;bottom:0;left:0;right:0;background:#101c2e;border-top:1px solid #30425b;display:flex;justify-content:center;padding:10px 8px max(12px,env(safe-area-inset-bottom));z-index:5}.tabs>button{background:none;color:#9daec6;border:0;padding:8px 14px;font-size:13px}.tabs>button.active{color:#4aaaff;font-weight:900}.login{margin:15vh auto 0;max-width:380px}.field{display:block;width:100%;background:#1c2b42;color:white;border:1px solid #455a78;border-radius:12px;padding:14px;margin:10px 0}.error{color:#ff8c9b;margin:10px 0}.history{border-bottom:1px solid #34465d;padding:12px 0}.timer{font-size:44px;font-weight:900;text-align:center;margin:14px 0;font-variant-numeric:tabular-nums}.loading{text-align:center;margin-top:40vh}.offline{color:#ffc875;font-size:12px}.notice{font-size:12px;color:#9eb0c9;line-height:1.5}.chartrow{margin:15px 0}.chartrow .progress{margin:6px 0}.chartrow .bar{background:#218bff}@media(min-width:720px){#app{padding-top:30px}.days{grid-template-columns:1fr 1fr}}
.ex-thumb{width:66px;height:66px;object-fit:cover;border-radius:10px;flex-shrink:0;background:#dbe5f2}.ex-thumb.placeholder{display:grid;place-items:center;color:#637a97;font-size:25px}.media-display{display:grid;gap:12px}.hero-photo,.hero-video{width:100%;max-height:350px;object-fit:contain;border-radius:12px;background:#0c1728}.media-empty{padding:22px;text-align:center;border:1px dashed #405470;border-radius:12px;color:#a6b6ca}.media-link{display:block;text-align:center;text-decoration:none}.media-editor{margin-top:15px;border-top:1px solid #405470;padding-top:15px}.media-editor summary{cursor:pointer;font-weight:700}.media-editor label{display:block;margin:16px 0 8px;font-size:13px}.media-editor input[type=file]{display:block;width:100%;margin:8px 0;color:#d5e4fa}.media-editor .field{margin:8px 0}
