:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "DM Mono", "Courier New", monospace;--bg-h:228;--bg-s:15%;--bg-l:96%;--bg:hsl(var(--bg-h), var(--bg-s), var(--bg-l));--bg-alt:#fff;--text-h:240;--text-s:20%;--text-l:12%;--text:hsl(var(--text-h), var(--text-s), var(--text-l));--text-muted:#5e5e75;--text-dim:#8e8ea3;--text-faint:#c3c5d2;--border:#e2e4ed;--border-alt:#ccd0de;--accent-h:12;--accent-s:76%;--accent-l:50%;--accent:hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-glow:#e0462233;--accent-name:#b82d0d;--btn-text:#6b6b80;--badge-bg:#eaebf2;--badge-text:#5e5e75;--card-shadow:0 4px 20px #1818250a;--card-glow:#e0462203;--glass-bg:#fffc;--glass-border:#e2e4edb3}@media (prefers-color-scheme:dark){:root{--bg-h:240;--bg-s:25%;--bg-l:4%;--bg:hsl(var(--bg-h), var(--bg-s), var(--bg-l));--bg-alt:#0a0a14;--text-h:240;--text-s:15%;--text-l:93%;--text:hsl(var(--text-h), var(--text-s), var(--text-l));--text-muted:#a2a2b8;--text-dim:#6d6d82;--text-faint:#3c3c52;--border:#141424;--border-alt:#232338;--accent-h:10;--accent-s:100%;--accent-l:64%;--accent:hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-glow:#ff5e3a59;--accent-name:#ff9c85;--btn-text:#8989a3;--badge-bg:#141424;--badge-text:#a2a2b8;--card-shadow:0 10px 30px #0006;--card-glow:#ff5e3a0f;--glass-bg:#0a0a14bf;--glass-border:#23233880}}*{box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;transition:background-color .4s,color .4s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-alt);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.root-container{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);padding-bottom:80px}.center-container{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;height:100dvh;display:flex}.loader-spinner{border:3px solid var(--border-alt);border-top-color:var(--accent);width:32px;height:32px;box-shadow:0 0 15px var(--accent-glow);border-radius:50%;animation:.8s cubic-bezier(.5,.1,.4,.9) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.header-bar{border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);z-index:10;justify-content:space-between;align-items:center;padding:16px 24px;transition:all .3s;display:flex;position:sticky;top:0}.logo-title{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:20px;font-weight:800;font-family:var(--font-sans);transition:transform .2s,text-shadow .2s}.logo-title:hover{text-shadow:0 0 12px var(--accent-glow);transform:scale(1.02)}.nav-group{align-items:center;gap:8px;display:flex}.primary-btn{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 12px var(--accent-glow);border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.primary-btn:hover{box-shadow:0 6px 16px var(--accent-glow);filter:brightness(1.08);transform:translateY(-1px)}.primary-btn:active{transform:translateY(1px)}.primary-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.ghost-btn{background:var(--bg-alt);border:1px solid var(--border-alt);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.ghost-btn:hover{background:var(--border);color:var(--text);border-color:var(--text-dim)}.ghost-btn:active{transform:scale(.98)}.workout-list{flex-direction:column;gap:12px;max-width:640px;margin:0 auto;padding:24px;display:flex}.empty-view{text-align:center;color:var(--text-dim);padding:80px 0;font-size:15px;line-height:1.8}.workout-card{background:var(--bg-alt);border:1px solid var(--border);cursor:pointer;box-shadow:var(--card-shadow);border-radius:12px;padding:16px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.workout-card:hover{border-color:var(--border-alt);box-shadow:0 12px 28px #00000014, 0 0 20px var(--card-glow);transform:translateY(-3px)}.workout-card:after{content:"";background:var(--accent);opacity:0;border-radius:0 4px 4px 0;width:4px;transition:opacity .2s;position:absolute;top:15px;bottom:15px;left:0}.workout-card:hover:after{opacity:1}.card-header-row{justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--text);font-size:18px;font-weight:700;transition:color .2s}.workout-card:hover .card-title{color:var(--accent)}.card-actions-group{align-items:center;gap:6px;display:flex}.icon-action-btn{color:var(--btn-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:8px;font-size:16px;transition:all .2s;display:flex}.icon-action-btn:hover{background:var(--border);color:var(--text)}.icon-action-btn.play-btn{color:var(--accent)}.icon-action-btn.play-btn:hover{background:var(--accent-glow);transform:scale(1.1)}.icon-action-btn.delete-btn:hover{color:#ff4a4a;background:#ff4a4a26}.card-meta-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.badge-tag{background:var(--badge-bg);color:var(--badge-text);border:1px solid var(--border);font-size:11px;font-weight:500;font-family:var(--font-sans);border-radius:6px;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.form-container{flex-direction:column;gap:12px;max-width:640px;margin:24px auto 100px;padding:0 24px;display:flex}.form-label{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;font-size:11px;font-weight:600;display:block}.text-input{background:var(--bg-alt);border:1px solid var(--border-alt);color:var(--text);border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;transition:all .2s;box-shadow:inset 0 1px 3px #00000008}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), inset 0 1px 2px #00000008}.number-input-wrap{align-items:center;gap:8px;display:flex}.number-input{background:var(--bg-alt);border:1px solid var(--border-alt);color:var(--text);font-size:15px;font-family:var(--font-mono);text-align:center;border-radius:10px;outline:none;width:90px;padding:10px 12px}.number-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.empty-items-placeholder{text-align:center;color:var(--text-dim);border:1px dashed var(--border-alt);background:#00000003;border-radius:10px;padding:32px 0;font-size:13px}.add-item-dashed-btn{border:1px dashed var(--border-alt);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.add-item-dashed-btn:hover{background:var(--bg-alt);border-color:var(--accent);box-shadow:0 4px 12px #00000005}.presets-group{gap:6px;margin-top:4px;display:flex}.preset-pill-btn{background:var(--badge-bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:100px;padding:4px 10px;transition:all .15s}.preset-pill-btn:hover{background:var(--accent-glow);color:var(--accent);border-color:var(--accent)}.preset-pill-btn:active{transform:scale(.95)}.item-row{background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:12px;align-items:center;margin-bottom:8px;transition:box-shadow .2s;display:flex}.item-row:focus-within{border-color:var(--border-alt)}.item-drag{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);min-width:44px;height:80px;color:var(--text-faint);flex-shrink:0;justify-content:center;align-items:center;transition:color .2s;display:flex}.item-drag:hover{color:var(--text-dim)}.item-drag:active{cursor:grabbing}.item-content{flex-direction:column;flex:1;gap:8px;min-width:0;padding:12px 16px;display:flex}.item-top{align-items:center;gap:10px;display:flex}.item-index-lbl{color:var(--text-dim);font-size:13px;font-weight:700;font-family:var(--font-mono)}.item-input-name{color:var(--text);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:4px 0;font-family:inherit;font-size:15px;font-weight:500;transition:border-color .2s}.item-input-name:focus{border-color:var(--accent)}.remove-item-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:18px;transition:all .2s;display:flex}.remove-item-btn:hover{color:#ff4a4a;background:#ff4a4a1a}.item-bottom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-input-duration{background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;font-family:var(--font-mono);text-align:center;border-radius:6px;width:54px;padding:3px 6px}.item-input-duration:focus{border-color:var(--accent);outline:none}.item-duration-unit{color:var(--text-dim);font-size:12px;font-weight:500}.drag-overlay-card{background:var(--bg-alt);border:1px solid var(--accent);box-shadow:0 10px 30px #00000026, 0 0 20px var(--accent-glow);opacity:.98;border-radius:12px;align-items:center;padding:12px 18px;display:flex;transform:rotate(2deg)}.timeline-box{background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:12px;margin-top:24px;padding:20px}.timeline-header-title{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:600}.timeline-row{align-items:center;gap:12px;padding:6px 0;display:flex}.timeline-marker{color:var(--accent);text-align:center;width:20px;font-size:12px;display:inline-block}.timeline-label-caps{color:var(--text-muted);letter-spacing:.08em;font-size:12px;font-weight:800}.timeline-exercise-txt{color:var(--text);flex:1;font-size:14px;font-weight:500}.timeline-time-val{color:var(--accent);font-size:13px;font-weight:700;font-family:var(--font-mono)}.timeline-interval-txt{color:var(--text-dim);font-size:12px;font-style:italic;font-weight:500}.timeline-total-duration{color:var(--accent);font-size:13px;font-weight:800;font-family:var(--font-mono);margin-left:auto}.sticky-footer-bar{background:var(--glass-bg);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom);z-index:10;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #00000008}.sticky-footer-inner{max-width:640px;margin:0 auto;padding:14px 24px}.footer-actions-row{gap:12px;display:flex}.footer-save-btn{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--accent-glow);border:none;border-radius:10px;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.footer-save-btn:hover{filter:brightness(1.08);box-shadow:0 6px 18px var(--accent-glow)}.footer-save-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important}.player-container{flex-direction:column;align-items:center;max-width:480px;min-height:100vh;margin:0 auto;padding:32px 24px 100px;display:flex}.player-workout-title{color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase;text-align:center;margin-bottom:16px;font-size:12px;font-weight:700}.sound-toggle-bar{justify-content:center;width:100%;margin-bottom:12px;display:flex}.sound-toggle-btn{background:var(--bg-alt);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:100px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:flex}.sound-toggle-btn.sound-on{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.sound-toggle-btn:hover{transform:translateY(-1px)}.spotify-status-bar{background:var(--bg-alt);border:1px solid var(--border);width:100%;box-shadow:var(--card-shadow);border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:8px 14px;display:flex;position:relative;overflow:hidden}.spotify-status-bar:before{content:"";background:#1db954;width:4px;position:absolute;top:0;bottom:0;left:0}.spotify-album-art{border-radius:6px;flex-shrink:0;animation:4s linear infinite pulse-countdown;box-shadow:0 2px 8px #00000026}.spotify-track-info{flex:1;min-width:0}.spotify-song-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.spotify-artist-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.spotify-muted-lbl{color:var(--text-dim);flex:1;font-size:12px;font-weight:600}.spotify-disconnect-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:14px;transition:all .2s;display:flex}.spotify-disconnect-btn:hover{background:var(--border);color:#ff4a4a}.spotify-connect-btn{color:#1db954;cursor:pointer;background:0 0;border:1px solid #1db954;border-radius:20px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 16px;font-family:inherit;font-size:11px;font-weight:700;transition:all .2s;display:flex}.spotify-connect-btn:hover{background:#1db9541a;transform:translateY(-1px)}.spotify-connect-btn:active{transform:translateY(1px)}.spotify-controls-group{justify-content:center;align-items:center;gap:12px;width:100%;margin-top:4px;display:flex}.spotify-media-btn{color:var(--btn-text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;transition:all .2s;display:flex}.spotify-media-btn:hover{background:var(--border);color:var(--text);transform:scale(1.1)}.spotify-media-btn.playpause-btn{color:#1db954;background:#1db95414}.spotify-media-btn.playpause-btn:hover{background:#1db95426;box-shadow:0 0 10px #1db95433}.donut-timer-wrap{margin-bottom:24px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);position:relative}.donut-timer-wrap.pulsing{animation:1s ease-in-out infinite pulse-countdown}@keyframes pulse-countdown{0%{transform:scale(1)}50%{filter:brightness(1.05);transform:scale(1.05)}to{transform:scale(1)}}.segment-title-big{color:var(--text);text-align:center;letter-spacing:-.02em;font-size:26px;font-weight:800}.segment-type-caps{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-top:6px;font-size:11px;font-weight:700}.next-up-box{color:var(--text-muted);text-align:center;background:var(--badge-bg);border:1px solid var(--border);border-radius:100px;margin-top:10px;padding:4px 14px;font-size:13px}.next-up-name-txt{color:var(--accent-name);font-weight:700}.total-remaining-txt{color:var(--text-dim);text-align:center;margin-top:12px;font-size:12px;font-weight:500}.player-scrolling-list{border-top:1px solid var(--border);width:100%;max-height:200px;margin-top:28px;overflow-y:auto;box-shadow:inset 0 8px 10px -10px #0000000d}.player-seg-item{border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .25s;display:flex}.player-seg-name{color:var(--text-muted);font-size:13px;font-weight:500}.player-seg-time{color:var(--text-dim);font-size:12px;font-family:var(--font-mono)}.player-bottom-controls{background:linear-gradient(to top, var(--bg) 65%, transparent);z-index:5;justify-content:center;gap:12px;padding:24px;display:flex;position:fixed;bottom:0;left:0;right:0}.play-large-btn{background:var(--accent);color:#fff;cursor:pointer;max-width:200px;box-shadow:0 4px 16px var(--accent-glow);border:none;border-radius:12px;flex:1;padding:14px 24px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.play-large-btn:hover{box-shadow:0 6px 20px var(--accent-glow);filter:brightness(1.08);transform:translateY(-2px)}.play-large-btn:active{transform:translateY(0)}.stop-large-btn{background:var(--bg-alt);color:#ff4a4a;cursor:pointer;border:1px solid #ff4a4a80;border-radius:12px;padding:14px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.stop-large-btn:hover{background:#ff4a4a1a;border-color:#ff4a4a}.stop-large-btn:active{transform:scale(.98)}.done-screen-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:80vh;padding:40px 24px;display:flex;position:relative}.congrats-emoji{margin-bottom:16px;font-size:64px;animation:2s ease-in-out infinite bounce-emoji;display:inline-block}@keyframes bounce-emoji{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.08)}}.congrats-title{color:var(--accent);font-size:28px;font-weight:800;font-family:var(--font-sans);margin-bottom:8px}.congrats-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:14px}.summary-card{background:var(--bg-alt);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--card-shadow);border-radius:16px;margin-bottom:40px;padding:24px;position:relative;overflow:hidden}.summary-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.summary-item{flex-direction:column;align-items:center;display:flex}.summary-val{color:var(--accent);font-size:24px;font-weight:800;font-family:var(--font-mono)}.summary-lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:11px;font-weight:600}.confetti-overlay{pointer-events:none;z-index:100;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.confetti-particle{opacity:.85;border-radius:2px;width:10px;height:16px;animation:3.5s linear infinite confetti-fall,1.5s ease-in-out infinite alternate confetti-shake;position:absolute;top:-20px}@keyframes confetti-fall{0%{top:-20px;transform:translateY(0)}to{top:105%;transform:translateY(0)}}@keyframes confetti-shake{0%{margin-left:0;transform:rotate(0)}to{margin-left:40px;transform:rotate(180deg)}}
