.tip-wrap[data-v-eca3795c]{display:inline-flex;position:relative}.tip-dot[data-v-eca3795c]{cursor:help;color:var(--dim);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:14px}.tip-dot[data-v-eca3795c]:hover{color:var(--accent2)}.tip-card[data-v-eca3795c]{background:var(--panel2);border:1px solid var(--line);z-index:30;border-radius:10px;width:280px;padding:12px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.tip-wrap:hover .tip-card[data-v-eca3795c],.tip-wrap:focus-within .tip-card[data-v-eca3795c]{gap:10px;display:flex}.tip-photo[data-v-eca3795c]{object-fit:cover;border-radius:8px;flex-shrink:0;width:80px;height:80px}.tip-icon[data-v-eca3795c]{width:52px;height:52px;color:var(--accent2);background:var(--bg);border-radius:8px;flex-shrink:0;padding:4px}.tip-text[data-v-eca3795c]{font-size:12px;line-height:1.45}.tip-how[data-v-eca3795c]{color:var(--ink)}.tip-muscles[data-v-eca3795c]{color:var(--dim);margin-top:6px;font-weight:600}:root{--bg:#101418;--panel:#1a2128;--panel2:#222b34;--ink:#eef2f5;--dim:#8fa0ad;--accent:#ff5c39;--accent2:#ffb03a;--good:#38c172;--line:#2d3945;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);min-height:100vh;font-family:Avenir Next,Segoe UI,sans-serif}header{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#101418f0;position:sticky;top:0}.nav{align-items:center;gap:4px;max-width:720px;margin:0 auto;padding:12px 16px;display:flex}.logo{letter-spacing:.5px;margin-right:auto;font-size:20px;font-weight:800}.logo em{color:var(--accent);font-style:normal}.tabs{gap:4px;display:flex}.tab{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600}.tab.active{background:var(--panel2);color:var(--ink)}main{max-width:720px;margin:0 auto;padding:20px 16px 90px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:18px}h2{margin-bottom:12px;font-size:17px}h2 .sub{color:var(--dim);margin-left:8px;font-size:12px;font-weight:400}h3{margin-bottom:4px}label{color:var(--dim);text-transform:uppercase;letter-spacing:.6px;margin:12px 0 6px;font-size:12px;font-weight:600;display:block}input[type=number],input[type=date],input[type=time]{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:10px;outline:none;padding:11px 12px;font-size:15px}input:focus{border-color:var(--accent)}.btn{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:700}.btn.primary{background:var(--accent);color:#fff;width:100%;margin-top:16px}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:var(--panel2);color:var(--ink)}.rowbtns{gap:8px;margin-top:16px;display:flex}.rowbtns .btn{flex:1;margin-top:0}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.error{color:#e2695f;margin-top:10px;font-size:13px}.routine{border:1px solid var(--line);border-radius:12px;margin-top:8px;overflow:hidden}.routine .row{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 14px;font-size:15px;display:flex}.routine .row:last-child{border-bottom:0}.routine .name{flex:1}.routine .reps{color:var(--accent2);white-space:nowrap;font-weight:800}.routine .rm{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:16px}.session{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.session .when{text-align:center;min-width:74px}.session .when .d{font-size:22px;font-weight:800;line-height:1}.session .when .m{color:var(--accent2);text-transform:uppercase;font-size:11px;font-weight:700}.session .when .t{color:var(--dim);margin-top:3px;font-size:12px}.session .info{flex:1;font-size:13px}.session .info b{margin-bottom:2px;font-size:15px;display:block}.session .info span{color:var(--dim);font-size:13px}.session .status{text-transform:uppercase;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.status.planned{color:#a9c5d8;background:#31404e}.status.done{color:var(--good);background:#1d4230}.status.missed{color:#e2695f;background:#4a2626}.empty{text-align:center;color:var(--dim);padding:40px 10px;font-size:14px}.statgrid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat .v{font-size:26px;font-weight:800}.stat .v small{color:var(--dim);font-size:14px;font-weight:600}.stat .k{color:var(--dim);text-transform:uppercase;letter-spacing:.6px;margin-top:2px;font-size:11px;font-weight:700}.bar{align-items:center;gap:10px;margin:7px 0;display:flex}.bar .nm{text-overflow:ellipsis;white-space:nowrap;width:150px;font-size:13px;overflow:hidden}.bar .track{background:var(--bg);border-radius:999px;flex:1;height:10px;overflow:hidden}.bar .fill{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:999px;height:100%}.bar .ct{text-align:right;width:46px;color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px}.heat{flex-wrap:wrap;gap:5px;display:flex}.heat div{border:1px solid var(--line);cursor:default;border-radius:9px;width:34px;height:34px}.footer-note{text-align:center;color:var(--dim);margin-top:14px;font-size:12px}.modal-bg{z-index:40;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:420px;padding:20px}.modal .meta{color:var(--dim);margin-bottom:10px;font-size:13px}.checklist .row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;font-size:15px;display:flex}.checklist .row:last-child{border-bottom:0}.tick{border:2px solid var(--line);color:#fff;cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;display:flex}.tick.on{background:var(--good);border-color:var(--good)}.checklist .n{flex:1}.checklist .r{color:var(--accent2);font-weight:800}
