:root{color-scheme:dark;--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e8ee;--muted: #8b93a7;--accent: #6ea8fe;--push: #ff8a65;--pull: #64b5f6;--lower: #81c784}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:13px}input{font:inherit}.app{padding:16px 20px 40px}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px}.app-header h1{margin:0;font-size:20px}.hint{color:var(--muted);font-size:12px}.week-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.week-row.current{background:linear-gradient(90deg,rgba(110,168,254,.08),transparent 30%)}.week-label{position:sticky;left:0;padding-top:4px}.week-start{font-weight:600;font-size:14px}.week-tag{color:var(--muted);font-size:11px;margin-top:4px}.week-row.current .week-tag{color:var(--accent)}.week-workouts{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:10px;overflow-x:auto}.workout-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px;border-top:3px solid var(--border)}.type-push{border-top-color:var(--push)}.type-pull{border-top-color:var(--pull)}.type-lower{border-top-color:var(--lower)}.workout-title{font-weight:700;margin-bottom:8px}.section{margin-bottom:8px}.section-label{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--muted);margin:6px 0 4px}.exercise{background:var(--panel-2);border-radius:6px;padding:6px;margin-bottom:4px}.exercise-head{display:flex;justify-content:space-between;margin-bottom:4px}.exercise-name{font-weight:500}.exercise-target{color:var(--muted);font-size:11px}.set-list{display:flex;flex-direction:column;gap:3px}.set-row{display:grid;grid-template-columns:16px 1fr 1fr 14px;gap:4px;align-items:center}.set-idx{color:var(--muted);font-size:11px;text-align:right}.set-input{width:100%;min-width:0;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 5px;font-size:12px}.set-input:focus{outline:none;border-color:var(--accent)}.set-input::placeholder{color:#4d5566}.media{margin-top:6px}.media-btn{display:inline-block;cursor:pointer;font-size:11px;color:var(--accent);border:1px dashed var(--border);border-radius:4px;padding:3px 8px}.media-btn:hover{border-color:var(--accent)}.media-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.media-thumb{width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.warmup-list{margin:0;padding:0 0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}.media-item{position:relative}.media-del{position:absolute;top:-4px;right:-4px;width:16px;height:16px;line-height:14px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:11px;cursor:pointer}.media-del:hover{color:#fff;background:#c62828}.date-filter{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.date-filter input[type=date]{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-size:12px}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0}.link-btn:hover{text-decoration:underline}.mobility{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:14px}.mobility .section-label{margin:0 0 4px}.mobility ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 20px}.mobility li{font-size:12px}.mob-name{font-weight:500}.mob-cue{color:var(--muted)}.sync{font-size:.8rem;opacity:.8}.sync-error{color:#d33;opacity:1}.sync-offline{color:#c80}.gate{max-width:320px;margin:20vh auto;display:flex;flex-direction:column;gap:.75rem;text-align:center;padding:1rem}.gate input{font-size:1.25rem;padding:.5rem;text-align:center;letter-spacing:.3em}.gate button{font-size:1rem;padding:.5rem}.gate-error{color:#d33;margin:0}.person-toggle,.view-toggle{display:inline-flex;border:1px solid #888;border-radius:999px;overflow:hidden}.person-toggle button,.view-toggle button{background:transparent;color:inherit;border:0;padding:.35rem 1rem;cursor:pointer;font:inherit}.person-toggle button.active,.view-toggle button.active{background:#3b82f6;color:#fff}.notes{display:flex;flex-direction:column;gap:12px}.notes textarea{width:100%;min-height:40vh;padding:.75rem;font:inherit;border-radius:8px;border:1px solid #888;background:inherit;color:inherit;resize:vertical;box-sizing:border-box}body.theme-nicole{color-scheme:light;--bg: #f3effa;--panel: #ffffff;--panel-2: #f7f3fc;--border: #d9cdf0;--text: #3b2f52;--muted: #8a7da3;--accent: #9b87d4;--push: #d49ac9;--pull: #9b87d4;--lower: #b8a6e6;background:linear-gradient(180deg,#ede6f9,#f9f4fc) fixed}body.theme-nicole .person-toggle,body.theme-nicole .view-toggle{border-color:var(--accent)}body.theme-nicole .person-toggle button.active,body.theme-nicole .view-toggle button.active{background:var(--accent);color:#fff}body.theme-nicole .notes textarea{background:#fdfbff;border-color:#c9b8ea;box-shadow:0 2px 12px #9b87d440}.media-clickable{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.media-video-wrap{position:relative;display:inline-block}.media-expand{position:absolute;left:4px;top:4px;width:24px;height:24px;padding:0;border-radius:4px;border:1px solid rgba(255,255,255,.4);background:#0000008c;color:#fff;font-size:14px;line-height:22px;cursor:pointer}.media-expand:hover{background:#000c}.lightbox-video{width:min(92vw,1100px);max-height:90vh;border-radius:6px;cursor:default;background:#000}.lightbox img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:6px;cursor:default}.lightbox-close{position:fixed;top:12px;right:16px;font-size:32px;line-height:1;background:none;border:0;color:#fff;cursor:pointer}.note-wrap{position:relative;display:inline-flex}.note-btn{background:none;border:0;padding:0;width:14px;height:14px;font-size:9px;line-height:1;color:var(--muted);opacity:.45;cursor:pointer}.note-btn:hover{opacity:1}.note-btn.has-note{color:var(--accent);opacity:1}.note-pop{position:absolute;right:0;top:18px;z-index:50;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:6px;box-shadow:0 6px 20px #00000059}.note-pop textarea{width:200px;min-height:70px;font:inherit;font-size:12px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px;resize:vertical}@media (max-width: 720px){body{font-size:14px}.app{padding:12px 12px 40px}.app-header h1{font-size:18px;width:100%}.hint{display:none}.date-filter{width:100%}.week-row{grid-template-columns:1fr;gap:8px}.week-label{position:static;display:flex;gap:8px;align-items:baseline}.week-workouts{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin:0 -12px;padding-left:12px;padding-right:12px}.week-workouts>.workout-card{flex:0 0 88vw;scroll-snap-align:start}.set-input{font-size:16px;padding:7px 8px}.set-row{grid-template-columns:18px 1fr 1fr 24px;gap:6px}.note-btn{width:24px;height:24px;font-size:12px;opacity:.6}.note-pop textarea{width:70vw;font-size:16px}.media-thumb{width:72px;height:72px}.person-toggle button,.view-toggle button{padding:.5rem 1.1rem}.notes textarea{font-size:16px}.mobility ul{padding-left:18px}}.milestones{display:flex;flex-direction:column;gap:12px}.milestone-row{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.milestone-head{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.milestone-name{margin:0;font-size:1.05rem;cursor:text}.milestone-name:hover{color:var(--accent)}.milestone-name-input,.milestone-max input,.milestone-add input{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.milestone-name-input{font-size:1.05rem;font-weight:600;width:100%}.milestone-max{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.milestone-max input{width:190px;color:var(--text)}.milestone-del{background:transparent;border:0;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 4px}.milestone-del:hover{color:#c62828}.milestone-add{display:flex;gap:8px}.milestone-add input{flex:1}.milestone-add button{font:inherit;padding:.4rem 1rem;border-radius:6px;border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer}.milestone-add button:disabled{opacity:.5;cursor:default}.media-strip{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px;scroll-snap-type:x proximity}.media-month{font-size:.72rem;color:var(--muted);margin-bottom:2px;text-align:center}.media-strip .media-del{top:14px}.milestone-max-date{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.media-strip .media-item{flex:0 0 auto;scroll-snap-align:start}.media-strip .media-thumb{width:auto;height:110px;max-width:200px}@media (max-width: 720px){.milestone-head{grid-template-columns:1fr auto}.milestone-max{grid-column:1 / -1}.milestone-max{flex-wrap:wrap}.milestone-max input{flex:1;width:auto;font-size:16px}.milestone-max-date,.milestone-add input,.milestone-name-input{font-size:16px}}
