:root{--z-fab:50;--z-modal:80;--z-tooltip:100}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0b1321;--fg:#e6eefc;--muted:#a8b3c7;--brand:#22b8ff;--brand-rgb:34,184,255;--success:#10b981;--panel:hsla(0,0%,100%,.06);--border:hsla(0,0%,100%,.12);--nav-bg:#0d1526}:root[data-theme=light-warm]{color-scheme:light;--bg:#fafaf9;--fg:#0c0a09;--muted:#78716c;--brand:#ea580c;--brand-rgb:234,88,12;--success:#10b981;--panel:#f5f5f4;--border:#e7e5e4;--nav-bg:#fff}:root[data-theme=light-cool]{color-scheme:light;--bg:#f8fafc;--fg:#0f172a;--muted:#64748b;--brand:#0284c7;--brand-rgb:2,132,199;--success:#10b981;--panel:#f1f5f9;--border:#e2e8f0;--nav-bg:#fff}:root[data-theme=light-contrast]{color-scheme:light;--bg:#fff;--fg:#111827;--muted:#6b7280;--brand:#7c3aed;--brand-rgb:124,58,237;--success:#10b981;--panel:#f9fafb;--border:#d1d5db;--nav-bg:#f9fafb}*{box-sizing:border-box}html{scroll-behavior:smooth}#app,body,html{height:100%}body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0}.indeterminate-progress{background:var(--panel);border-radius:999px;height:4px;overflow:hidden;position:relative;width:min(280px,85vw)}.indeterminate-progress:after{animation:indeterminate-slide .95s ease-in-out infinite;background:var(--brand);border-radius:999px;bottom:0;content:"";left:0;opacity:.9;position:absolute;top:0;width:42%}@keyframes indeterminate-slide{0%{transform:translateX(-130%)}to{transform:translateX(320%)}}.staged-progress{background:var(--panel);border-radius:999px;height:4px;overflow:hidden;position:relative;width:min(280px,85vw)}.staged-progress__fill{background:var(--brand);border-radius:999px;height:100%;min-width:0;opacity:.9;transform-origin:left center;transition:transform .55s cubic-bezier(.25,.78,.35,1);width:100%;will-change:transform}.training-inline-loader{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100px;padding:28px 16px 40px}.training-inline-loader p{color:var(--muted);font-size:.9rem;margin:0;max-width:22rem;text-align:center}input,select,textarea{font-size:16px;-webkit-user-select:text;-moz-user-select:text;user-select:text}.nav{background:var(--nav-bg);border-top:1px solid var(--border);bottom:0;justify-content:space-around;padding:12px 8px 16px;position:sticky;z-index:10000000}.nav,.nav a{align-items:center;display:flex;gap:4px}.nav a{border-radius:12px;color:var(--fg);flex:1;flex-direction:column;max-width:120px;opacity:.75;padding:8px 16px;text-decoration:none;transition:all .2s ease}@media (hover:hover){.nav a:hover{opacity:1;transform:translateY(-2px)}}.nav a:active:not([aria-current=page]){background:rgba(34,184,255,.1)}.nav a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nav a[aria-current=page]{background:rgba(34,184,255,.15);opacity:1}.nav a[aria-current=page] .nav-icon{transform:scale(1.1)}.nav-icon{font-size:28px;line-height:1;transition:transform .2s ease}.nav-label{font-size:11px;font-weight:500;letter-spacing:.3px;opacity:.9;text-transform:uppercase}.sync-indicator{align-items:center;background:color-mix(in srgb,var(--panel) 85%,#111 15%);border:1px solid color-mix(in srgb,var(--border) 70%,#000 30%);border-radius:999px;bottom:72px;box-shadow:0 6px 18px rgba(0,0,0,.35);color:var(--fg);display:inline-flex;font-size:11px;gap:8px;padding:6px 10px;pointer-events:none;position:fixed;right:16px;z-index:10000001}.sync-indicator__icon{align-items:center;display:flex;height:14px;justify-content:center;width:14px}.sync-indicator__label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-indicator__dot{border-radius:999px;height:8px;width:8px}.sync-indicator__dot--ok{background:#22c55e}.sync-indicator__dot--dirty{background:#eab308}.sync-indicator__dot--error{background:#ef4444}.sync-indicator__spinner{animation:sync-indicator-spin .8s linear infinite;border:2px solid rgba(148,163,184,.4);border-radius:999px;border-top-color:#38bdf8;height:14px;width:14px}@keyframes sync-indicator-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 6px rgba(0,0,0,.15);box-sizing:border-box;max-width:100%;padding:8px}.card[draggable=true]{cursor:move;transition:all .2s ease}.card[draggable=true]:hover{box-shadow:0 2px 12px rgba(0,0,0,.2)}.side-sheet .card{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);border-radius:14px;color:var(--fg);cursor:pointer;padding:10px 14px;transition:all .2s ease}.btn:hover{border-color:var(--brand);box-shadow:inset 0 0 0 3px rgba(34,184,255,.15)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-primary{background:color-mix(in srgb,var(--brand) 55%,transparent);border-color:color-mix(in srgb,var(--brand) 80%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent) inset;color:#0b1321}.btn-primary:hover{background:color-mix(in srgb,var(--brand) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 30%,transparent) inset}.btn-success{background:color-mix(in srgb,#10b981 65%,transparent);border-color:color-mix(in srgb,#10b981 80%,var(--border));box-shadow:inset 0 0 0 2px color-mix(in srgb,#10b981 25%,transparent);color:#062b24}.btn-success:hover{background:color-mix(in srgb,#10b981 75%,transparent);box-shadow:inset 0 0 0 3px color-mix(in srgb,#10b981 30%,transparent)}.btn-secondary{background:var(--panel);border-color:var(--border);color:var(--muted)}.btn-secondary:hover{background:var(--border);box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.05);color:var(--fg)}.btn-danger{background:color-mix(in srgb,#ef4444 55%,transparent);border-color:color-mix(in srgb,#ef4444 80%,var(--border));box-shadow:inset 0 0 0 2px color-mix(in srgb,#ef4444 25%,transparent);color:#fef2f2}.btn-danger:hover{background:color-mix(in srgb,#ef4444 65%,transparent);border-color:#ef4444;box-shadow:inset 0 0 0 3px color-mix(in srgb,#ef4444 30%,transparent)}.input{background:hsla(0,0%,100%,.06);border:1px solid var(--border);border-radius:12px;color:var(--fg);outline:none;padding:10px 12px;transition:all .2s ease;width:100%}select{background:var(--panel)!important;border:1px solid var(--border);border-radius:8px;color:var(--fg)!important}select option{background:var(--bg);color:var(--fg)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,184,255,.15)}.input:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.container{max-width:100vw;overflow-x:hidden;padding:16px}.stack{display:grid;gap:8px;max-width:100%;overflow-x:hidden}.stack>*{min-width:0}.stack.cm-stack{max-width:none;overflow-x:visible;width:100%}.row{align-items:center;display:flex;gap:8px;max-width:100%;overflow-x:hidden}.row,.row>*{min-width:0}.muted{color:var(--muted)}.title{font-size:20px;font-weight:700}.modal-backdrop{align-items:flex-start;background:rgba(0,0,0,.8)!important;bottom:80px!important;display:flex!important;justify-content:center;left:0!important;overflow:hidden!important;overflow-y:hidden!important;padding:16px;pointer-events:auto;position:fixed!important;right:0!important;top:0!important;touch-action:none!important;transform:translateZ(0);will-change:transform;z-index:10000001!important}.modal-full{background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;height:auto;margin:auto 0;max-height:100%;max-width:90vw;overflow:hidden;pointer-events:auto;width:auto}.modal-backdrop.modal-allow-overflow{overflow:visible!important;overflow-y:visible!important}.modal-full.modal-allow-overflow{overflow:visible}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.modal-title{font-weight:700}.modal-body{display:flex;flex:1;flex-direction:column;min-height:0}.modal-backdrop-fullscreen{bottom:80px;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal-backdrop-fullscreen,.modal-fullscreen{background:var(--bg);display:flex;flex-direction:column}.modal-fullscreen{height:100%;overflow:hidden;width:100%}.tabs{display:flex;gap:8px;padding:8px}.tab{border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;padding:8px 12px}.tab.active{background:var(--panel)}.tabpanel{border-top:1px solid var(--border);flex:1;min-height:0;overflow:hidden;padding:0}.cm-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto}.cm-editor,.cm-wrap{height:100%;max-width:100%;min-width:0;width:100%}.cm-scroller{min-width:0;overflow:auto!important}.cm-content{caret-color:var(--brand)!important;min-width:0!important}.cm-line{white-space:pre!important}.cm-cursor{border-left-color:var(--brand)!important}.cm-theme{background:hsla(0,0%,100%,.03)}.cm-tooltip-autocomplete{z-index:var(--z-tooltip)!important}.dnd-list{isolation:isolate;position:relative}.dnd-list>div:first-child{-webkit-overflow-scrolling:touch}body.dnd-dragging{overflow:hidden!important;touch-action:none!important}.dnd-tile{position:relative;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,0,0,1),opacity .2s ease;will-change:transform}.dnd-tile.dragging{opacity:0;pointer-events:none;touch-action:none!important}.dnd-tile.long-pressing{opacity:.7;touch-action:none!important;transform:scale(.98)}.dnd-drag-handle{align-items:center;cursor:grab;display:inline-flex!important;flex-shrink:0;justify-content:center;margin:0!important;padding:6px 8px!important;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.dnd-drag-handle:hover{background:rgba(34,184,255,.12)!important;border-color:rgba(34,184,255,.24)!important;color:var(--brand)!important;transform:scale(1.05)}.dnd-drag-handle.long-pressing,.dnd-drag-handle:active{background:rgba(34,184,255,.18)!important;border-color:rgba(34,184,255,.32)!important;cursor:grabbing!important;transform:scale(.98)}@media (hover:none) and (pointer:coarse){.dnd-drag-handle{font-size:24px!important;min-height:48px!important;min-width:48px!important;padding:12px!important}}@keyframes expandDropZone{0%{margin:0;max-height:0;opacity:0}to{margin:8px 0;max-height:200px;opacity:1}}@keyframes lift{0%{box-shadow:0 0 0 transparent;transform:scale(1) rotate(0deg)}50%{transform:scale(1.08) rotate(1deg)}to{box-shadow:0 12px 32px rgba(0,0,0,.4),0 4px 12px rgba(34,184,255,.3),0 0 0 2px var(--brand);transform:scale(1.05) rotate(2deg)}}.editor-toolbar{background:hsla(0,0%,100%,.04);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;gap:6px;padding:8px 12px}.editor-toolbar,.toolbar-btn{align-items:center;display:flex}.toolbar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsla(0,0%,100%,.06);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--fg);cursor:pointer;font-size:14px;height:36px;justify-content:center;min-width:36px;padding:6px 10px;transition:all .2s ease;width:36px}.toolbar-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:var(--brand)}.toolbar-btn:disabled{cursor:not-allowed;opacity:.3}.toolbar-btn.active{background:rgba(34,184,255,.2);border-color:var(--brand);color:var(--brand);font-weight:600}.toolbar-btn[data-expert-toggle=true]{min-width:36px;width:36px}.toolbar-btn[data-expert-toggle=true]:not(.active):hover{border-color:var(--border)}.toolbar-separator{background:var(--border);height:20px;margin:0 4px;width:1px}.exercise-card{background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease}.exercise-card:hover{border-color:rgba(34,184,255,.3);box-shadow:0 2px 8px rgba(34,184,255,.1)}.exercise-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .2s ease}.exercise-header:hover{background:hsla(0,0%,100%,.06)}.exercise-name-input{background:transparent;border:none;border-radius:4px;color:var(--fg);flex:1;font-size:15px;font-weight:600;outline:none;padding:4px 12px 4px 8px;transition:background .2s ease}select.exercise-name-input{line-height:1.5;min-height:32px;overflow:visible;padding-bottom:6px;padding-top:6px;white-space:normal}.program-meta-row{align-items:flex-start;flex-wrap:wrap;gap:8px;row-gap:10px}.program-meta-field{flex:1 1 160px;min-width:160px}@media (max-width:480px){.program-meta-field{flex:1 1 calc(33.33333% - 5.33333px);min-width:0}}.exercise-name-input:focus{background:hsla(0,0%,100%,.06)}.exercise-body{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;padding:12px}.form-label{align-items:center;display:flex;min-width:80px}.form-input{background:hsla(0,0%,100%,.06);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:14px;outline:none;padding:6px 10px;transition:all .2s ease}.form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,184,255,.15)}.form-select{background:hsla(0,0%,100%,.06);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:14px;outline:none;padding:6px 10px;transition:all .2s ease}.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,184,255,.15)}.btn-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:4px;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:4px 8px;transition:all .2s ease}.btn-icon:hover{background:hsla(0,100%,71%,.1);color:#ff6b6b}.form-row{align-items:center;display:flex;gap:12px;margin-bottom:8px}.form-label{color:var(--muted);font-size:14px;font-weight:500;min-width:120px}.form-input,.form-select{background:hsla(0,0%,100%,.06);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-family:inherit;font-size:14px;padding:8px 12px;transition:all .2s ease}.form-input:focus,.form-select:focus{background:hsla(0,0%,100%,.08);border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,184,255,.1);outline:none}.form-select{cursor:pointer}@media (max-width:768px){.editor-toolbar{flex-wrap:wrap;gap:6px}.toolbar-btn{min-width:40px}}@media (max-width:640px){.form-row{align-items:stretch;flex-direction:column;gap:8px}.form-label{min-width:unset}.exercise-header{flex-wrap:wrap}.card{padding:12px}}.program-card{background:var(--panel);border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.program-card:hover{border-color:var(--brand);box-shadow:0 4px 12px rgba(34,184,255,.1);transform:translateY(-2px)}.program-stats-compact{color:var(--muted);display:grid;font-size:12px;gap:8px;grid-template-columns:repeat(2,1fr)}.difficulty-badge,.focus-badge{border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.program-detail{display:flex;flex-direction:column;gap:12px;max-height:80vh;max-width:400px;overflow-y:auto}.program-detail h2{color:var(--fg);font-size:18px;margin:0 0 8px}.program-detail h3{color:var(--brand);font-size:16px;margin:16px 0 8px}.program-actions{align-items:stretch;border-top:none;display:flex;flex-wrap:nowrap;gap:12px;margin-bottom:0;margin-top:0;padding-bottom:24px;padding-top:0}.program-actions button{flex:1 1 0;font-size:14px;font-weight:600;margin-bottom:0;min-width:0;padding:12px 16px;white-space:nowrap}.program-actions button:last-child{margin-bottom:0}@media (max-width:640px){.program-stats-compact{gap:4px;grid-template-columns:1fr}}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}*{transition-duration:.2s;transition-property:opacity,box-shadow;transition-timing-function:ease-in-out}.btn,.card,a,button,input[type=checkbox],input[type=radio]{transition-property:background-color,border-color,color,opacity,box-shadow,transform;will-change:transform,opacity}input,select,textarea{transition:none}
/*# sourceMappingURL=main.120b1fe180dfbe7ff805.css.map*/