@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg-dark: #1a1a1a;--bg-card: #252525;--bg-card-hover: #2d2d2d;--bg-elevated: #333333;--accent: #f7c72b;--accent-hover: #ffd84d;--accent-orange: #f59e0b;--accent-gradient: linear-gradient(135deg, #f7c72b 0%, #f59e0b 100%);--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-muted: #707070;--text-on-accent: #1a1a1a;--border: #3a3a3a;--border-accent: #f7c72b;--success: #22c55e;--danger: #ef4444;--info: #3b82f6;--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 8px 24px rgba(0,0,0,.4);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--shadow-accent: 0 8px 24px rgba(247, 199, 43, .25);--touch-target: 48px;--touch-target-sm: 44px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 999px;font-family:Space Grotesk,Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);background-color:var(--bg-dark);line-height:1.6}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg-dark);color:var(--text-primary)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}#root{width:100%}button,input,textarea,select{font-family:inherit}button{cursor:pointer;border:none;border-radius:var(--radius-md);padding:.85rem 1.4rem;min-height:var(--touch-target);background:var(--accent-gradient);color:var(--text-on-accent);font-weight:700;font-size:1rem;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}button:active{transform:translateY(0)}button.ghost{background:var(--bg-card);border:2px solid var(--border);color:var(--text-primary)}button.ghost:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:none}button.secondary{background:var(--bg-elevated);color:var(--text-primary)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{width:100%;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem;min-height:var(--touch-target);color:var(--text-primary);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f7c72b33}input::placeholder,textarea::placeholder{color:var(--text-muted)}label{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-secondary)}textarea{resize:vertical;min-height:100px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600;margin:0}h1,h2,h3{margin:.2rem 0 .6rem;color:var(--text-primary)}h1{font-size:clamp(1.8rem,5vw,2.5rem)}h2{font-size:clamp(1.4rem,4vw,1.8rem)}h3{font-size:clamp(1.1rem,3vw,1.3rem)}.badge{display:inline-flex;align-items:center;gap:.35rem;background:#f7c72b26;color:var(--accent);padding:.4rem .8rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;border:1px solid rgba(247,199,43,.3)}.status{margin-top:1rem;padding:1rem 1.2rem;border-radius:var(--radius-md);background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--success)}.status.error{background:#ef444426;border-color:#ef44444d;color:var(--danger)}.status.floating{margin:1rem auto;max-width:900px}.inline{display:flex;align-items:center;gap:1rem}.checkbox{flex-direction:row;align-items:center;gap:.5rem}.link-button{background:none;border:none;color:var(--accent);padding:0;min-height:auto;font-weight:600}.link-button:hover{color:var(--accent-hover);box-shadow:none;transform:none}.tag{display:inline-block;padding:.45rem .9rem;background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;color:var(--text-secondary)}.lede{color:var(--text-secondary);font-size:1.05rem;max-width:56ch}.pill-toggle{display:inline-flex;background:var(--bg-dark);border:2px solid var(--accent);border-radius:var(--radius-full);padding:4px;gap:4px}.pill-toggle button{padding:.6rem 1.2rem;min-height:40px;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-weight:600;border:none}.pill-toggle button:hover{transform:none;box-shadow:none;color:var(--text-primary)}.pill-toggle button.active{background:var(--accent);color:var(--text-on-accent)}.page{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.25rem;background:#1a1a1af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.topbar-header{display:contents}.menu-container{display:flex;align-items:center;gap:1.5rem;flex:1;justify-content:space-between;margin-left:1rem}.brand{display:flex;align-items:center;gap:.7rem}.dot{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px #f7c72b99}.logo-text{font-weight:700;color:var(--text-primary);font-size:1.1rem}.menu{display:flex;gap:.4rem;flex-wrap:wrap}.menu-item{background:transparent;color:var(--text-secondary);border:2px solid var(--border);padding:.6rem 1rem;min-height:var(--touch-target-sm);border-radius:var(--radius-full);font-weight:600}.menu-item:hover{background:var(--bg-card);border-color:var(--accent);color:var(--text-primary);transform:none;box-shadow:none}.menu-item.active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.user-area{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.user-info{text-align:right;line-height:1.3;color:var(--text-secondary)}.user-info strong{color:var(--text-primary);display:block}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:transparent;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.hamburger:hover{border-color:var(--accent)}.hamburger-line{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.menu-open .hamburger .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-open .hamburger .hamburger-line:nth-child(2){opacity:0}.menu-open .hamburger .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.panel.hero{grid-column:span 2;min-height:320px;background:linear-gradient(145deg,var(--bg-card) 0%,var(--bg-elevated) 100%)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.panel-header h2{margin:0}.program-list{display:grid;gap:.6rem;margin-top:.75rem}.program-card{width:100%;text-align:left;background:var(--bg-elevated);border:2px solid var(--border);padding:1rem 1.1rem;border-radius:var(--radius-md);min-height:var(--touch-target)}.program-card:hover{background:var(--bg-card-hover);border-color:#f7c72b66;transform:none;box-shadow:none}.program-card.active{border-color:var(--accent);background:#f7c72b1a}.program-title{font-weight:700;color:var(--text-primary)}.program-meta{color:var(--text-secondary);font-size:.9rem}.program-meta.subtle{color:var(--text-muted)}.program-desc{margin:.3rem 0 0;color:var(--text-secondary)}.card-actions{margin-top:.6rem;display:flex;justify-content:flex-end;gap:.5rem}.timer-shell{display:flex;flex-direction:column;gap:.75rem}.create-type-picker{display:flex;gap:.6rem;flex-wrap:wrap;margin:.75rem 0 .25rem}.create-type-picker button{flex:1;min-width:160px}.panel-divider{border:none;border-top:1px solid var(--border);margin:1rem 0 .75rem;opacity:.7}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-top:.75rem}.helper-text{margin-top:.4rem;color:var(--text-muted);font-size:.9rem}.days-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.days-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.days-buttons{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.day-btn{min-width:64px;background:transparent;border:2px solid var(--border);color:var(--text-secondary)}.day-btn.active{background:#f7c72b1f;border-color:var(--accent);color:var(--text-primary)}.actions-row{display:flex;gap:.75rem;margin-top:1rem}.today-thing-panel{margin-bottom:1rem}.today-thing-panel.today-thing-compact{padding:.9rem 1.05rem}.today-thing-panel.today-thing-compact .panel-header{margin-bottom:.25rem}.progressive-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .75rem}.badge.ok{background:#22c55e26;border-color:#22c55e4d;color:var(--success)}.badge.warn{background:#f59e0b26;border-color:#f59e0b4d;color:var(--accent-orange)}.week-table{display:flex;flex-direction:column;gap:.4rem}.week-row{display:grid;grid-template-columns:1.2fr .8fr auto;align-items:center;gap:.6rem;padding:.75rem .9rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.week-row.active{border-color:var(--accent);background:#f7c72b1a}.week-date{color:var(--text-primary);font-weight:600}.week-type{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.timer-shell.full-timer{position:fixed;inset:0;z-index:999999;width:100vw;width:100dvw;height:100vh;height:100dvh;margin:0;border-radius:0;border:none;padding:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:radial-gradient(circle at 20% 10%,rgba(247,199,43,.15),transparent 40%),radial-gradient(circle at 80% 90%,rgba(245,158,11,.1),transparent 40%),linear-gradient(180deg,#1a1a1a,#252525,#1a1a1a);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:manipulation}html.timer-fullscreen-lock,body.timer-fullscreen-lock{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important;touch-action:none!important}.timer-shell.full-timer .time-row{display:none}.timer-shell.full-timer .immersive{flex:1;display:flex;flex-direction:column;gap:1rem;padding:1rem;background:transparent;border:none;min-height:auto}.timer-shell.full-timer .ring-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem}.timer-shell.full-timer .ring-wrap{width:min(300px,70vw);max-width:320px}.timer-shell.full-timer .ring-time{font-size:clamp(2.8rem,14vw,4rem);color:var(--text-primary)}.timer-shell.full-timer .ring-sub{color:var(--text-secondary)}.timer-shell.full-timer .timer-actions{width:100%;display:flex;gap:.6rem;padding:0 .5rem}.timer-shell.full-timer .timer-actions button{flex:1;min-height:54px;font-size:1.05rem;border-radius:var(--radius-md)}.timer-shell.full-timer .up-next{flex-shrink:0;max-height:35vh;overflow-y:auto;margin:0 .5rem;background:#252525f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg)}.timer-shell.full-timer .next-list{max-height:140px;overflow-y:auto}.timer-shell.full-timer .next-item{background:var(--bg-elevated);border-color:var(--border)}.timer-shell.full-timer .secondary-actions{padding-bottom:.5rem}.timer-shell.full-timer .secondary-actions button{min-height:var(--touch-target-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary)}.timer-shell.full-timer .secondary-actions button:hover{border-color:var(--accent);color:var(--text-primary)}.timer-shell.full-timer .progress{margin:0 .5rem;flex-shrink:0;background:var(--bg-elevated)}.timer-shell.full-timer .progress-bar{background:var(--accent-gradient)}.timer-shell.full-timer .timer-config,.timer-shell.full-timer .mini-steps{display:none}@media(min-width:700px)and (min-height:500px){.timer-shell.full-timer .immersive{flex-direction:row;align-items:stretch;padding:1.5rem}.timer-shell.full-timer .ring-card{flex:1.3}.timer-shell.full-timer .up-next{flex:.7;max-width:350px;max-height:none;margin:0}.timer-shell.full-timer .ring-wrap{width:min(360px,40vw)}}.time-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.time-display{font-size:clamp(3.5rem,10vw,5rem);font-weight:800;margin:.4rem 0 .1rem;color:var(--text-primary)}.step-title{font-size:1.5rem;color:var(--text-primary)}.step-meta{color:var(--text-secondary)}.next-block{padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);min-width:200px}.next-title{font-weight:700;color:var(--text-primary)}.next-meta{color:var(--text-secondary)}.progress{position:relative;height:10px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--accent-gradient);transition:width .2s ease}.progress-label{font-size:.85rem;margin-top:.35rem;color:var(--text-secondary)}.progress.secondary{height:6px}.controls{display:flex;gap:.6rem;flex-wrap:wrap}.immersive{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.immersive.active{background:radial-gradient(circle at 15% 15%,rgba(247,199,43,.08),transparent 35%),radial-gradient(circle at 85% 85%,rgba(245,158,11,.06),transparent 35%),var(--bg-card);border-color:#f7c72b4d}.ring-card{display:flex;flex-direction:column;gap:1rem;align-items:center}.ring-wrap{position:relative;width:min(380px,80vw);aspect-ratio:1 / 1;display:grid;place-items:center}.ring{position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--bg-elevated);stroke-width:14;opacity:.8}.ring-track.inner{stroke-width:10;stroke:var(--border)}.ring-progress{fill:none;stroke-linecap:round;stroke-width:14;stroke:var(--accent);transition:stroke-dashoffset .2s ease}.ring-progress.inner{stroke-width:8;stroke:var(--accent-orange);opacity:.9}.ring-progress.outer{stroke:url(#outerRingGrad)}.ring-center{position:relative;z-index:1;text-align:center;display:grid;gap:.25rem}.ring-time{font-size:clamp(3rem,12vw,4.2rem);font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.ring-sub{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.ring-sub.muted{color:var(--text-secondary);font-weight:500}.timer-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.timer-actions button{min-height:var(--touch-target)}.up-next{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.7rem}.up-next-header{display:flex;align-items:center;justify-content:space-between}.small-chip{display:inline-flex;align-items:center;padding:.4rem .75rem;background:#f7c72b26;border-radius:var(--radius-full);font-weight:700;color:var(--accent);border:1px solid rgba(247,199,43,.3)}.next-list{display:grid;gap:.5rem}.next-item{padding:.75rem .85rem;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border)}.next-item.empty{color:var(--text-muted);font-style:italic}.next-name{font-weight:700;color:var(--text-primary)}.secondary-actions{display:flex;gap:.5rem;flex-wrap:wrap}.secondary-actions button{min-height:var(--touch-target-sm)}.mini-steps{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mini-step{padding:.75rem .85rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.mini-step.active{border-color:var(--accent);box-shadow:0 8px 20px #f7c72b26}.mini-step.done{opacity:.5}.mini-label{font-weight:600;color:var(--text-primary)}.mini-meta{color:var(--text-secondary);font-size:.9rem}.program-editor{display:flex;flex-direction:column;gap:1.5rem}.editor-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.editor-form{display:flex;flex-direction:column;gap:1.5rem}.editor-section{background:var(--bg-card);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--border)}.editor-row{margin-bottom:1rem}.editor-row:last-child{margin-bottom:0}.editor-field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.editor-field input,.editor-field textarea{width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;color:var(--text-primary);font-size:1rem}.editor-field input:focus,.editor-field textarea:focus{border-color:var(--accent);outline:none}.checkbox-row{margin-top:.5rem}.editor-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer}.editor-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h3{margin:0;font-size:1.1rem}.exercise-count{background:var(--bg-elevated);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary)}.exercise-list-editor{display:flex;flex-direction:column;gap:.75rem}.exercise-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:grab;transition:all .15s ease}.exercise-card:hover{border-color:#f7c72b4d}.exercise-card.dragging{border-color:var(--accent);box-shadow:0 8px 24px #f7c72b33}.exercise-card-header{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.exercise-number{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#000;font-weight:700;font-size:.85rem;flex-shrink:0}.exercise-title-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-weight:600;padding:.5rem}.exercise-title-input:focus{outline:none;background:var(--bg-elevated);border-radius:var(--radius-sm)}.remove-btn{width:32px;height:32px;padding:0;background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;border-radius:var(--radius-sm);display:grid;place-items:center}.remove-btn:hover{background:#ff646426;color:#ff6b6b}.exercise-card-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.exercise-settings{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.setting-field{display:flex;align-items:center;gap:.5rem}.setting-field span{font-size:.85rem;color:var(--text-secondary)}.setting-field select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--text-primary);min-width:80px}.order-btns{display:flex;gap:.25rem;margin-left:auto}.order-btns button{width:32px;height:32px;padding:0;font-size:1rem}.notes-input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .85rem;color:var(--text-primary);font-size:.9rem}.notes-input::placeholder{color:var(--text-muted)}.audio-details{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.audio-details summary{padding:.65rem .85rem;background:var(--bg-card);cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.audio-details summary:hover{background:var(--bg-secondary)}.audio-details[open] summary{border-bottom:1px solid var(--border)}.audio-controls-inner{padding:.85rem;display:flex;flex-direction:column;gap:.75rem}.audio-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.audio-label{font-size:.85rem;color:var(--text-secondary);min-width:120px}.audio-btns{display:flex;gap:.5rem}.audio-btns .recording{color:#ff6b6b}.audio-preview{width:100%;height:36px;border-radius:var(--radius-sm)}.add-exercise-btn{width:100%;padding:1rem;background:transparent;border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:1rem;cursor:pointer;margin-top:.5rem;transition:all .15s ease}.add-exercise-btn:hover{border-color:var(--accent);color:var(--accent)}.editor-actions{display:flex;justify-content:flex-end}.save-btn{padding:1rem 2rem;font-size:1rem;font-weight:600}.editor-status{padding:.75rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:center}button.tiny{padding:.5rem .75rem;border-radius:var(--radius-sm);font-weight:600;min-height:36px}.icon-only{width:var(--touch-target-sm);min-width:var(--touch-target-sm);height:var(--touch-target-sm);padding:0;display:grid;place-items:center}.equipment .chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:var(--bg-elevated);border:2px solid var(--border);color:var(--text-primary);padding:.6rem 1rem;border-radius:var(--radius-full);min-height:var(--touch-target-sm);font-weight:500}.chip:hover{border-color:#f7c72b80;transform:none;box-shadow:none}.chip.active{border-color:var(--accent);background:#f7c72b26;box-shadow:0 4px 16px #f7c72b33}.session-list{display:flex;flex-direction:column;gap:.6rem}.session{padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border)}.session-title{font-weight:700;color:var(--text-primary)}.session-meta{color:var(--text-secondary);font-size:.9rem}.session-notes{margin:.3rem 0 0;color:var(--text-secondary)}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.auth-toggle{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}@media(max-width:900px){.immersive{grid-template-columns:1fr}.panel.hero{grid-column:span 1}}@media(max-width:720px){.timer-shell.full-timer{margin:0}.immersive{padding:1rem}.ring-time{font-size:clamp(2.8rem,14vw,3.5rem)}.timer-actions{width:100%}.timer-actions button{flex:1}}.feature-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.feature-grid div{padding:.85rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.auth-hero{min-height:100vh;min-height:100dvh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(247,199,43,.15),transparent 40%),radial-gradient(circle at 80% 80%,rgba(245,158,11,.1),transparent 40%),var(--bg-dark)}.auth-title{position:absolute;top:8vh;text-align:center;font-size:clamp(2.2rem,4vw,3.3rem);font-weight:800;letter-spacing:.05em;color:var(--text-primary);text-shadow:0 8px 30px rgba(0,0,0,.4)}.auth-card.minimal{position:relative;z-index:1;width:min(420px,92vw);background:var(--bg-card);color:var(--text-primary);padding:2rem 1.75rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border)}.auth-card.minimal h1{color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.01em}.auth-card.minimal .tag{background:#f7c72b26;border:1px solid rgba(247,199,43,.3);color:var(--accent)}.auth-card.minimal input{background:var(--bg-elevated);border-color:var(--border);color:var(--text-primary)}.auth-card.minimal input:focus{border-color:var(--accent)}.auth-card.minimal input::placeholder{color:var(--text-muted)}.auth-card.minimal button{background:var(--accent-gradient);border:none;color:var(--text-on-accent);box-shadow:var(--shadow-accent);border-radius:var(--radius-md)}.auth-card.minimal button.ghost{background:var(--bg-elevated);border:2px solid var(--border);color:var(--text-primary);box-shadow:none}.auth-card.minimal .lede.tiny{display:none}.auth-toggle .link-button{color:var(--accent);padding:.25rem .5rem}.auth-card.minimal label{color:var(--text-secondary);font-weight:600}.timer-config input{max-width:120px}.weekbars{display:flex;align-items:flex-end;gap:.5rem;min-height:160px;padding:.5rem 0}.weekbar-day{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:28px}.weekbar-day .bar{width:16px;border-radius:8px;background:var(--accent-gradient);min-height:8px}.weekbar-day .bar.cap{background:linear-gradient(160deg,var(--danger),var(--accent-orange));box-shadow:0 4px 12px #ef44444d}.weekbar-day .bar-date{font-size:.75rem;color:var(--text-muted)}.weekbar-legend{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.weekbar-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.weekbar-legend .dot.blue{background:var(--accent)}.weekbar-legend .dot.cap{background:var(--danger)}.legend-icon{display:inline-flex;align-items:center;gap:.3rem}.progress-grid{display:flex;flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto}.progress-grid .panel{width:100%}.week-progress{display:flex;flex-direction:column;gap:1.5rem}.week-summary{display:flex;flex-direction:column;gap:.6rem}.week-summary .week-total{display:flex;align-items:baseline;gap:.5rem}.week-summary .points{font-size:2.5rem;font-weight:800;color:var(--accent)}.week-summary .label{font-size:1.1rem;color:var(--text-secondary)}.week-bar-outer{height:12px;background:var(--bg-elevated);border-radius:6px;overflow:hidden}.week-bar-inner{height:100%;background:var(--accent-gradient);border-radius:6px;transition:width .5s ease}.week-days{display:flex;gap:.5rem;justify-content:space-between}.week-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;background:var(--bg-elevated);border:2px solid transparent;border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer;font-family:inherit;color:inherit}.week-day:hover{background:var(--bg-secondary);transform:translateY(-2px)}.week-day.today{border-color:var(--accent);background:#f7c72b1a}.week-day.selected{border-color:var(--accent);background:#f7c72b33;transform:scale(1.05)}.week-day.selected .day-label{color:var(--accent)}.week-day.filled .day-bar{background:linear-gradient(160deg,var(--accent),var(--accent-orange));box-shadow:0 2px 8px #f7c72b66}.day-bar-container{width:24px;height:80px;background:var(--bg-secondary);border-radius:12px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.day-bar{width:100%;background:var(--accent);border-radius:12px;min-height:4px;transition:height .4s ease}.day-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.week-day.today .day-label{color:var(--accent)}.day-points{font-size:.8rem;color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem;font-size:1.1rem}@media(min-width:700px){.week-progress .week-summary .points{font-size:3.5rem}.week-progress .week-summary .label{font-size:1.3rem}.day-bar-container{width:32px;height:100px}.week-day{padding:1rem .75rem;gap:.75rem}.day-label{font-size:1rem}.day-points{font-size:.9rem}}.calendar-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:.8rem 0}.calendar-day{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem;position:relative;min-height:var(--touch-target)}.calendar-day:hover{border-color:#f7c72b66;transform:none;box-shadow:none}.calendar-day.active{border-color:var(--accent);box-shadow:0 6px 16px #f7c72b33;background:#f7c72b1a}.calendar-date{display:flex;justify-content:space-between;align-items:baseline}.calendar-date .day-number{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.calendar-date .weekday{color:var(--text-muted);font-size:.85rem}.calendar-icons{margin:.4rem 0;display:flex;gap:.35rem;flex-wrap:wrap}.calendar-icons .icon{font-size:1.1rem}.calendar-meta{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.9rem}.cap-flag{position:absolute;top:6px;right:8px;background:#f7c72b33;color:var(--accent);padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid rgba(247,199,43,.3)}.day-session-list{display:flex;flex-direction:column;gap:.6rem}.day-session{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border)}.ghost.danger{border-color:#ef444466;color:var(--danger);background:#ef44441a}.ghost.danger:hover{background:#ef444433;border-color:var(--danger)}@media(max-width:720px){.page{padding:0 .75rem 1.5rem}.hamburger{display:flex}.topbar{padding:.75rem 1rem;border-radius:var(--radius-md)}.topbar-header{width:100%;display:flex;align-items:center;justify-content:space-between}.menu-container{display:none;flex-direction:column;gap:.75rem;margin-left:0;margin-top:.75rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.menu-open .menu-container{display:flex}.menu{width:100%;display:flex;flex-direction:column;gap:.5rem}.menu-item{width:100%;text-align:center;padding:.85rem 1rem;font-size:1rem}.user-area{width:100%;flex-direction:column;align-items:stretch;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.user-info{text-align:center}.user-area button{width:100%}.panel{padding:1rem;border-radius:var(--radius-md)}.grid{grid-template-columns:1fr}.time-row{flex-direction:column;gap:.75rem}.time-display{font-size:clamp(3rem,12vw,4rem)}.next-block,.controls{width:100%}.controls button{flex:1;width:100%;min-height:var(--touch-target)}.exercise-row{grid-template-columns:1fr;align-items:flex-start;gap:.6rem}.exercise-row .index{width:40px;height:40px}.exercise-row .inline{flex-wrap:wrap}.exercise-row .inline input{width:100%;min-width:0}}.start-view{display:flex;flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto}.start-panel,.circuit-panel{padding:1.5rem;transition:all .2s ease}.start-panel.collapsed,.circuit-panel.collapsed{min-height:auto;padding:.75rem 1.25rem}.start-panel.collapsed .panel-header,.circuit-panel.collapsed .panel-header{margin-bottom:0}.start-panel .panel-header.clickable,.circuit-panel .panel-header.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.start-panel .panel-header.clickable:hover h2,.circuit-panel .panel-header.clickable:hover h2{color:var(--accent)}.no-program-selected{text-align:center;padding:3rem 1rem}.no-program-selected p{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem}.no-program-selected button{padding:1rem 2rem;font-size:1.1rem}.recent-session-panel{padding:1.25rem}.recent-session-panel h3{margin:0}.session-time{color:var(--text-secondary);margin:.5rem 0 0;text-transform:capitalize}.today-sessions-panel{padding:1.25rem}.today-sessions-panel h3{margin:0}.today-sessions-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.today-session-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.session-info{display:flex;align-items:center;gap:.75rem}.session-title{font-weight:600;color:var(--text-primary)}.session-duration{color:var(--accent);font-size:.9rem}.session-time-small{color:var(--text-muted);font-size:.85rem}.program-picker-modal{max-width:400px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.program-picker-list{flex:1;overflow-y:auto;padding:.5rem 0}.picker-section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:1rem 1.25rem .5rem;font-weight:600}.picker-item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:1rem;text-align:left;transition:background .15s ease}.picker-item:hover{background:var(--bg-secondary)}.picker-item.active{background:var(--accent-dim);color:var(--accent)}.picker-item .picker-title{flex:1;font-weight:500}.picker-item .picker-meta{font-size:.85rem;color:var(--text-muted);margin-left:.75rem}.programs-grid{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}@media(min-width:900px){.programs-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1100px}}.program-card{position:relative;display:flex;flex-direction:column}.program-card .fav-btn{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;padding:0;background:transparent;border:none;font-size:1.4rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease;z-index:1}.program-card .fav-btn:hover{color:var(--accent);transform:scale(1.2)}.program-card .fav-btn.is-fav{color:var(--accent)}.program-card .fav-btn.others-fav{color:var(--text-muted)}.fav-users{color:var(--accent);font-weight:500}.program-content{cursor:pointer;flex:1;padding-right:2rem}.daily-challenges-container{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.daily-challenge-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);padding:.75rem;min-width:140px;flex:1 1 140px;max-width:200px}.daily-challenge-card.ready{border-color:var(--accent);background:linear-gradient(135deg,rgba(247,199,43,.08) 0%,var(--bg-card) 100%)}.daily-challenge-card.setup{flex:1 1 100%;max-width:100%}.challenge-card-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.challenge-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.challenge-card-name{font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.challenge-card-title{display:flex;flex-direction:column;min-width:0}.challenge-card-title strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-card-meta{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.challenge-edit-btn{background:none;border:none;padding:.2rem;font-size:.8rem;cursor:pointer;opacity:.5;transition:opacity .15s;flex-shrink:0}.challenge-edit-btn:hover{opacity:1}.challenge-card-body{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.challenge-card-timer{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.challenge-card-ready{display:flex;align-items:center;gap:.5rem}.ready-badge{background:var(--accent);color:#000;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:4px;animation:pulse 1.5s ease-in-out infinite}.log-quick{background:var(--accent);color:#000;border:none;padding:.3rem .6rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer}.log-quick:hover{filter:brightness(1.1)}.challenge-card-stats{display:flex;flex-direction:column;font-size:.7rem;color:var(--text-secondary)}.challenge-card-actions{display:flex;gap:.5rem}.challenge-card-actions button{font-size:.7rem;padding:.25rem .5rem}.challenge-setup-compact{display:flex;flex-direction:column;gap:.5rem}.challenge-setup-compact input,.challenge-setup-compact select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem;color:var(--text-primary);font-size:.9rem}.challenge-setup-compact .setup-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.challenge-setup-compact .reps-input{width:60px}.challenge-setup-compact .setup-actions{display:flex;gap:.5rem}.challenge-setup-compact .setup-actions button{flex:1}.add-challenge-btn{background:transparent;border:1px dashed var(--border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s;width:100%}.add-challenge-btn:hover{border-color:var(--accent);color:var(--accent)}.challenge-empty{text-align:center;padding:1rem 0}.challenge-empty p{color:var(--text-secondary);margin-bottom:1rem}.challenge-setup{display:flex;flex-direction:column;gap:1rem}.setup-field{display:flex;flex-direction:column;gap:.4rem}.setup-field span{font-size:.85rem;color:var(--text-secondary)}.setup-field input,.setup-field select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-primary);font-size:1rem}.setup-actions{display:flex;gap:.75rem;margin-top:.5rem}.challenge-timer{background:var(--bg-elevated);border-radius:var(--radius-md);padding:1.5rem;text-align:center;margin-bottom:1rem}.timer-ready{display:flex;flex-direction:column;gap:.5rem}.ready-text{color:var(--accent);font-weight:600;font-size:1.1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.target-reps{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.timer-countdown{display:flex;flex-direction:column;gap:.25rem}.countdown-label{color:var(--text-secondary);font-size:.9rem}.countdown-time{font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.challenge-stats{display:flex;gap:1rem;margin-bottom:1rem}.challenge-stats .stat{flex:1;text-align:center;background:var(--bg-elevated);border-radius:var(--radius-sm);padding:.75rem}.challenge-stats .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent)}.challenge-stats .stat-label{font-size:.8rem;color:var(--text-secondary)}.challenge-actions{display:flex;flex-direction:column;gap:.5rem}.challenge-actions .log-full{padding:1rem;font-size:1.1rem;font-weight:600}.challenge-end-section{margin-top:1.5rem;text-align:center;padding-top:1rem;border-top:1px solid var(--border)}.challenge-end-section .danger{color:#ff6b6b}.challenge-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.challenge-modal{background:var(--bg-card);border-radius:var(--radius-md);padding:1.5rem;width:100%;max-width:320px}.challenge-modal h4{margin:0 0 .5rem}.modal-hint{color:var(--text-secondary);font-size:.85rem;margin:0 0 .75rem}.modal-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}.sets-log{max-height:200px;overflow-y:auto}.sets-list{display:flex;flex-direction:column;gap:.25rem}.set-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--bg-elevated);border-radius:var(--radius-sm);font-size:.85rem}.set-num{color:var(--text-secondary);min-width:2rem}.set-time{color:var(--text-secondary);min-width:3.5rem}.set-reps{flex:1;font-weight:500}.set-delete{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;padding:0 .25rem;cursor:pointer;opacity:.6;transition:opacity .15s,color .15s}.set-delete:hover{opacity:1;color:var(--danger)}.modal-actions{display:flex;gap:.75rem;margin-top:1rem}.challenge-end-section{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.daily-challenges-wrapper{display:flex;flex-direction:column;gap:.75rem}.challenge-activity{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;background:linear-gradient(135deg,rgba(76,175,80,.1) 0%,transparent 100%);border-radius:var(--radius-sm);border-left:3px solid #4caf50}.activity-item{font-size:.75rem;color:var(--text-secondary)}.activity-item strong{color:var(--text-primary)}.challenge-leaderboard-section{margin-top:.5rem}.leaderboard-toggle{width:100%;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:.5rem;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.leaderboard-toggle:hover{border-color:var(--accent);color:var(--accent)}.challenge-leaderboard{margin-top:.5rem;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.leaderboard-entry{display:grid;grid-template-columns:1.5rem 1fr auto auto;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;border-bottom:1px solid var(--border);align-items:center}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-entry.me{background:#f7c72b1a}.lb-rank{font-weight:700;color:var(--accent);text-align:center}.lb-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-reps{font-weight:600;color:var(--text-primary)}.lb-exercises{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.session.challenge-session{border-left:3px solid #4caf50;background:linear-gradient(135deg,rgba(76,175,80,.05) 0%,transparent 100%)}.session.challenge-session .session-title{color:var(--text-primary)}.challenge-history{margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}.history-day{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.history-day-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.history-day-header .day-name{font-weight:600;color:var(--text-primary);text-transform:capitalize}.history-day-header .day-date{font-size:.8rem;color:var(--text-secondary)}.history-day-users{display:flex;flex-direction:column}.history-user{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.history-user:last-child{border-bottom:none}.history-user.me{background:#f7c72b14}.history-user-name{font-weight:600;font-size:.85rem;color:var(--text-primary);display:block;margin-bottom:.25rem}.history-user-items{display:flex;flex-direction:column;gap:.2rem}.history-item{font-size:.8rem;color:var(--text-secondary);padding-left:.5rem;display:flex;gap:.35rem;align-items:baseline}.history-item .item-name{color:var(--text-secondary)}.history-item .item-value{color:var(--text-muted, #888);font-size:.75rem}.history-item.challenge .item-name{color:var(--text-secondary)}.history-item.workout,.history-item.workout .item-name{color:var(--accent)}.history-item.workout .item-value{color:var(--accent);opacity:.8}.export-buttons{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.export-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .75rem;font-size:.75rem;text-decoration:none;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);transition:all .15s}.export-btn:hover{border-color:var(--accent);color:var(--accent);background:#f7c72b1a}.daily-challenge-card.full-width{flex:1 1 100%;max-width:100%;min-width:100%}.daily-challenge-card.expanded{padding:1rem 1.25rem}.daily-challenge-card.expanded .challenge-card-header{margin-bottom:.75rem;gap:.35rem}.daily-challenge-card.expanded .challenge-card-name{font-size:1.15rem}.daily-challenge-card.expanded .challenge-card-meta{font-size:.8rem}.challenge-card-stats-inline{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:#ffc107;background:linear-gradient(135deg,#ffc10733,#ff980026);border:1.5px solid rgba(255,193,7,.4);border-radius:var(--radius-md);padding:.35rem .65rem;text-shadow:0 0 8px rgba(255,193,7,.4);flex-shrink:0}.challenge-card-stats-inline .stats-separator{opacity:.6;color:#ffc107b3}.challenge-card-main{margin-bottom:1rem}.log-button-large{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1.5rem;background:var(--accent);color:#000;border:none;border-radius:var(--radius-md);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .15s}.log-button-large:hover{filter:brightness(1.1);transform:scale(1.02)}.log-button-large:active{transform:scale(.98)}.log-button-large .log-button-icon{font-size:1.5rem}.log-button-large.timed{background:#4caf50;color:#fff}.challenge-countdown-display{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.challenge-countdown-display .countdown-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.challenge-countdown-display .countdown-time{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.challenge-card-footer{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.challenge-card-footer button{font-size:.8rem}.challenge-card-footer button.muted{opacity:.5}.challenge-card-footer button.muted:hover{opacity:1}.daily-challenge-card.timed{border-color:#4caf50;background:linear-gradient(135deg,rgba(76,175,80,.08) 0%,var(--bg-card) 100%)}.daily-challenge-card.timed.ready{border-color:#4caf50;background:linear-gradient(135deg,rgba(76,175,80,.15) 0%,var(--bg-card) 100%)}.log-quick.timed{background:#4caf50}.setup-type-toggle{display:flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}.setup-type-toggle .type-btn{flex:1;padding:.5rem 1rem;background:var(--bg-elevated);border:none;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.setup-type-toggle .type-btn.active{background:var(--accent);color:#000}.setup-type-toggle .type-btn:not(.active):hover{background:var(--bg-card)}.challenge-setup-compact .time-select{min-width:80px}.timed-challenge-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.timed-challenge-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.timed-challenge-exercise{font-size:1.5rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.timed-challenge-label{font-size:1.2rem;color:var(--text-secondary);animation:pulse 1s ease-in-out infinite}.timed-challenge-countdown{font-size:8rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1;animation:pulse 1s ease-in-out infinite}.timed-challenge-time{font-size:6rem;font-weight:700;color:#4caf50;font-variant-numeric:tabular-nums;line-height:1}.timed-challenge-target{font-size:1.2rem;color:var(--text-secondary)}.timed-challenge-stop{padding:1rem 3rem;font-size:1.5rem;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s;background:#ff6b6b;color:#fff}.timed-challenge-stop:hover{filter:brightness(1.1)}.timed-challenge-stop.cancel{background:var(--bg-elevated);color:var(--text-secondary)}.challenge-modal.confirm-modal{max-width:340px}.challenge-modal .confirm-text{color:var(--text-primary);margin:.5rem 0 1rem;font-size:.95rem;line-height:1.5}.challenge-modal .confirm-hint{color:var(--text-secondary);font-size:.85rem;margin:0 0 1rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-sm);line-height:1.4}.modal-actions button.danger{background:#ff6b6b;color:#fff;border:none}.admin-panel h2{margin-bottom:1.5rem}.admin-user-table{width:100%;border-collapse:collapse}.admin-user-table th,.admin-user-table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border)}.admin-user-table th{color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.admin-user-table td button.small{padding:.35rem .75rem;font-size:.8rem;margin-right:.5rem}.admin-edit-form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.admin-edit-form h3{margin-bottom:.5rem}.admin-edit-form label{display:flex;flex-direction:column;gap:.4rem}.admin-edit-form input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-primary);font-size:1rem}.admin-edit-form .form-actions{display:flex;gap:.75rem;margin-top:.5rem}.status.error{background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.status.success{background:#00c85326;border:1px solid rgba(0,200,83,.3);color:#00c853;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.circuit-editor{padding:1rem}.circuit-editor .editor-header{margin-bottom:1.5rem}.circuit-editor .editor-header h2{margin:0 0 .25rem}.circuit-editor .editor-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.circuit-editor .form-row label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.circuit-editor .form-row input,.circuit-editor .form-row textarea,.circuit-editor .form-row select{width:100%}.circuit-editor .form-row-inline{display:flex;gap:1rem}.circuit-editor .form-row-inline .form-row{flex:1}.circuit-editor .input-with-unit{display:flex;align-items:center;gap:.5rem}.circuit-editor .input-with-unit input{width:80px}.circuit-editor .exercise-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.circuit-editor .exercise-list-header h3{margin:0}.circuit-editor .exercise-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.circuit-editor .exercise-card{display:flex;gap:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;position:relative}.circuit-editor .exercise-card.dragging{opacity:.5}.circuit-editor .exercise-drag-handle{cursor:grab;color:var(--text-muted);padding:.25rem;-webkit-user-select:none;user-select:none}.circuit-editor .exercise-main{flex:1;display:flex;flex-direction:column;gap:.5rem}.circuit-editor .exercise-title-input{font-weight:600;font-size:1rem}.circuit-editor .exercise-row{display:flex;gap:.75rem;align-items:center}.circuit-editor .reps-input{display:flex;align-items:center;gap:.25rem}.circuit-editor .reps-input input{width:60px;text-align:center}.circuit-editor .exercise-notes{flex:1;font-size:.9rem}.circuit-editor .audio-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.circuit-editor .audio-control{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.circuit-editor .audio-label{color:var(--text-muted)}.circuit-editor .audio-preview{height:28px;max-width:150px}.circuit-editor .remove-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;font-size:1rem}.circuit-editor .remove-btn:hover{color:#ff6b6b}.circuit-editor .add-exercise-btn{width:100%;margin-bottom:1.5rem}.circuit-editor .editor-actions{display:flex;justify-content:flex-end;gap:.75rem}.circuit-editor button.recording{color:#ff6b6b;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.circuit-timer{padding:1.5rem;text-align:center}.circuit-timer.ready-phase h2{margin:0 0 .5rem}.circuit-timer .circuit-description{color:var(--text-muted);margin-bottom:1.5rem}.circuit-timer .circuit-preview{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.circuit-timer .preview-exercise{background:var(--bg-secondary);padding:.5rem 1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.5rem}.circuit-timer .preview-reps{font-weight:700;color:var(--accent)}.circuit-timer .rest-info{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.circuit-timer .start-btn{font-size:1.25rem;padding:1rem 2rem}.circuit-timer .circuit-stats-bar{display:flex;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#ffc10726,#ff98001a);border:2px solid rgba(255,193,7,.4);border-radius:var(--radius-lg);margin-bottom:2rem}.circuit-timer .stat-item{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;background:#0000004d;border-radius:var(--radius-md);min-width:70px}.circuit-timer .stat-item .stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.15rem}.circuit-timer .stat-item .stat-value{font-size:1.5rem;font-weight:800;color:#ffc107;text-shadow:0 0 10px rgba(255,193,7,.5)}.circuit-timer .stat-item.reps-stat{background:#ffc10733;border:1px solid rgba(255,193,7,.4)}.circuit-timer .stat-item.reps-stat .stat-value{font-size:1.75rem;color:#ffc107}.circuit-timer .exercise-display,.circuit-timer .rest-display{margin-bottom:2rem}.circuit-timer .phase-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.5rem}.circuit-timer .exercise-reps{font-size:5rem;font-weight:800;color:var(--accent);line-height:1}.circuit-timer .exercise-name{font-size:1.75rem;font-weight:600;margin:.5rem 0}.circuit-timer .exercise-notes{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.circuit-timer .exercise-timer{font-size:1.5rem;color:var(--text-muted);margin-bottom:1.5rem}.circuit-timer .done-btn{font-size:1.5rem;padding:1.25rem 3rem}.circuit-timer .rest-countdown{font-size:6rem;font-weight:800;color:var(--accent);line-height:1}.circuit-timer .next-up{font-size:1.1rem;color:var(--text-muted);margin-top:1rem}.circuit-timer .exercise-progress{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.circuit-timer .progress-dot{width:12px;height:12px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border)}.circuit-timer .progress-dot.current{background:var(--accent);border-color:var(--accent);transform:scale(1.2)}.circuit-timer .progress-dot.done{background:var(--accent);border-color:var(--accent);opacity:.5}.circuit-timer .circuit-controls{display:flex;justify-content:center;gap:1rem}.circuit-timer.paused .exercise-reps,.circuit-timer.paused .rest-countdown{opacity:.5}.circuit-timer.done-phase h2{margin-bottom:1.5rem}.circuit-timer .final-stats{display:flex;justify-content:center;gap:2rem}.circuit-timer .final-stats .stat{display:flex;flex-direction:column;align-items:center}.circuit-timer .final-stats .stat-value{font-size:2.5rem;font-weight:800;color:var(--accent)}.circuit-timer .final-stats .stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase}.profile-settings{padding:.5rem 0}.settings-info{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:1rem;max-width:320px}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field span{font-size:.85rem;color:var(--text-muted);font-weight:500}.settings-field input,.settings-field select{padding:.65rem .85rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--accent)}.settings-actions{margin-top:.5rem}.settings-actions button{padding:.75rem 2rem}.settings-error{color:#ff6b6b;font-size:.9rem;padding:.5rem .75rem;background:#ff6b6b1a;border-radius:var(--radius-sm)}.settings-success{color:#51cf66;font-size:.9rem;padding:.5rem .75rem;background:#51cf661a;border-radius:var(--radius-sm)}.settings-note{margin-top:2rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.85rem;color:var(--text-muted);line-height:1.6}.settings-note strong{color:var(--text);display:block;margin-bottom:.35rem}.run-logger-panel .time-inputs{display:flex;gap:1rem}.run-logger-panel .time-inputs .setup-field{flex:1}.run-logger-panel .pace-display{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-sm);margin:.5rem 0}.run-logger-panel .pace-label{color:var(--text-secondary);font-size:.9rem}.run-logger-panel .pace-value{font-weight:600;font-size:1.1rem;color:var(--accent)}.run-logger-form{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.run-logger-panel .field-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.run-logger-panel .toggle-buttons{display:flex;gap:.5rem}.run-logger-panel .toggle-buttons.wrap{flex-wrap:wrap}.run-logger-panel .toggle-btn{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.run-logger-panel .toggle-btn:hover{border-color:var(--accent);color:var(--text-primary)}.run-logger-panel .toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.run-type-selector,.workout-type-selector{margin:.25rem 0}
