@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;justify-content:space-between;flex-wrap:wrap;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)}.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}.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}.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-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)}.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}.topbar{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem;border-radius:var(--radius-md)}.menu{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.menu-item{width:100%;text-align:center;padding:.7rem .5rem}.user-area{width:100%;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.user-area button{flex:1}.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{padding:1.5rem}.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}.quick-select-container{position:relative}.quick-select-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;padding:.5rem 0}.dropdown-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.5rem 1rem .25rem}.dropdown-item{width:100%;text-align:left;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:1rem;display:block}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-item.all-programs{color:var(--accent);font-weight:600}.dropdown-divider{height:1px;background:var(--border);margin:.5rem 0}.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-content{cursor:pointer;flex:1;padding-right:2rem}
