*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-12{height:3rem}.w-full{width:100%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease forwards}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #141620;--surface: #232738;--surface2: #2c3150;--border: #3d4266;--accent: #7b73ff;--accent-dk: #6359e8;--text: #f0f2ff;--muted: #9599b8;--success: #4caf7d;--warn: #f5a623;--danger: #e05c5c;--radius: 8px;--shadow: 0 2px 12px rgba(0,0,0,.4)}html:not(.dark){--bg: #f0f2f8;--surface: #ffffff;--surface2: #e8eaf2;--border: #d0d4e8;--text: #1a1d27;--muted: #6b7280;--shadow: 0 2px 12px rgba(0,0,0,.1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}button{cursor:pointer;font-family:inherit;font-size:13px;border:none;border-radius:var(--radius);padding:7px 14px;transition:opacity .15s,background .15s}button:hover{opacity:.85}button:disabled{opacity:.4;cursor:default}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select,input{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-family:inherit;font-size:13px}select:focus,input:focus{border-color:var(--accent);outline:none}h2{font-size:16px;font-weight:600;color:var(--text)}h3{font-size:14px;font-weight:600;color:var(--text)}.app{display:grid;grid-template-rows:52px 1fr;min-height:100vh}.topbar{display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-logo{font-size:16px;font-weight:700;color:var(--accent);letter-spacing:.5px;white-space:nowrap}.topbar-nav{display:flex;gap:4px;flex:1}.nav-btn{background:transparent;color:var(--muted);padding:6px 12px;border-radius:var(--radius);font-size:13px}.nav-btn:hover{background:var(--surface2);color:var(--text)}.nav-btn.active{background:var(--surface2);color:var(--accent)}.topbar-client{margin-left:auto}.main-content{padding:24px;max-width:1200px;margin:0 auto;width:100%}.client-selector{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.client-selector select{min-width:180px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h2{display:flex;align-items:center;gap:8px}.badge{font-size:11px;font-weight:600;background:var(--surface2);color:var(--muted);border-radius:20px;padding:2px 8px}.ctx-menu{position:fixed;z-index:1000;min-width:200px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ctx-menu-header{padding:9px 14px 7px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ctx-menu-divider{height:1px;background:var(--border);margin:0}.ctx-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 14px;font-size:13px;color:var(--text);background:transparent;border:none;text-align:left;cursor:pointer;transition:background .1s}.ctx-menu-item:hover{background:var(--surface)}.ctx-menu-arrow{margin-left:auto;font-size:10px;color:var(--muted)}.ctx-menu-badge{font-size:10px;font-weight:600;color:var(--warn);background:#f5a62326;border-radius:4px;padding:1px 5px}.ctx-menu-sub{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.ctx-menu-subitem{padding-left:24px;font-size:12px;color:var(--muted)}.ctx-menu-subitem:hover{color:var(--text)}.ctx-menu-subitem.is-current{color:var(--accent)}.ctx-menu-danger{color:var(--danger)}.ctx-menu-danger:hover{background:#e05c5c1a}.filter-sticky{position:sticky;top:52px;z-index:9;background:var(--bg);margin:0 -24px;padding:12px 24px;box-shadow:0 6px 16px #00000059}.add-exercise-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px;transition:border-color .15s}.add-exercise-bar:focus-within{border-color:var(--accent)}.add-exercise-input-row{display:flex;gap:8px}.add-exercise-input{flex:1}.add-exercise-btn{background:var(--accent);color:#fff;padding:6px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;white-space:nowrap;border:none}.add-exercise-btn:hover:not(:disabled){background:var(--accent-dk)}.add-exercise-btn:disabled{opacity:.4}.add-exercise-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.add-exercise-preview-label{font-size:11px;color:var(--muted)}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-bar input{flex:1;min-width:180px}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.exercise-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.exercise-card:hover{border-color:var(--accent)}.exercise-card.is-favorite{border-color:var(--success)}.exercise-card-name{font-weight:600;font-size:14px}.exercise-card-meta{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;border-radius:4px;padding:2px 7px;background:var(--surface2);color:var(--muted)}.tag.category{color:#8ab4f8;background:#8ab4f81f}.tag.equipment{color:#a8d5a2;background:#a8d5a21f}.tag.difficulty{color:var(--warn);background:#f5a6231f}.tag.favorite{color:var(--warn)}.difficulty-dots{display:flex;gap:3px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.dot.filled{background:var(--warn)}.stat-card--link{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card--link:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.prog-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.prog-pill{background:var(--surface2);color:var(--muted);padding:6px 14px;border-radius:20px;font-size:13px;border:1px solid var(--border);display:flex;align-items:center;gap:6px;transition:border-color .15s,color .15s}.prog-pill:hover{border-color:var(--accent);color:var(--text)}.prog-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.prog-status-badge{font-size:10px;background:#fff3;padding:1px 5px;border-radius:10px}.prog-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;align-items:center}.prog-status-chip{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:10px;margin-left:auto}.prog-status--active{color:var(--success);background:#4caf7d26}.prog-status--paused{color:var(--warn);background:#f5a62326}.prog-status--completed{color:var(--muted);background:var(--surface2)}.workout-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;align-items:center}.workout-tab-btn{background:var(--surface2);color:var(--muted);padding:6px 14px;border-radius:var(--radius);font-size:13px;border:1px solid var(--border);transition:border-color .15s,color .15s}.workout-tab-btn:hover{border-color:var(--accent);color:var(--text)}.workout-tab-btn.active{background:var(--surface);border-color:var(--accent);color:var(--accent)}.add-workout-btn{border-style:dashed}.new-workout-inline{display:flex;gap:6px;align-items:center}.new-workout-inline input{width:180px}.btn-sm-accent{background:var(--accent);color:#fff;padding:5px 12px;border-radius:var(--radius);font-size:12px;font-weight:600;border:none}.btn-sm-accent:hover:not(:disabled){background:var(--accent-dk)}.btn-sm-ghost{background:transparent;color:var(--muted);padding:5px 8px;border-radius:var(--radius);font-size:13px;border:none}.btn-sm-ghost:hover{color:var(--text)}.btn-ghost{background:var(--surface2);color:var(--muted);padding:7px 16px;border-radius:var(--radius);font-size:13px;border:1px solid var(--border)}.btn-ghost:hover{color:var(--text)}.link-btn{background:none;color:var(--accent);text-decoration:underline;padding:0;border:none;font-size:inherit;cursor:pointer}.workout-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.workout-table-wrap{overflow-x:auto;margin-bottom:12px}.workout-table{width:100%;border-collapse:collapse;font-size:13px}.workout-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.workout-table td{padding:10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.workout-table tr:last-child td{border-bottom:none}.workout-table tr:hover td{background:var(--surface2)}.td-num{color:var(--muted);width:28px}.td-name{min-width:160px}.td-notes{color:var(--muted);font-size:12px;max-width:200px}.remove-ex-btn{background:none;color:var(--muted);font-size:12px;padding:3px 7px;border-radius:4px;border:none;line-height:1}.remove-ex-btn:hover{color:var(--danger);background:#e05c5c1a}.add-ex-trigger{display:block;width:100%;margin-top:10px;padding:8px;background:none;color:var(--accent);font-size:13px;border:1px dashed var(--accent);border-radius:var(--radius);opacity:.7;transition:opacity .15s}.add-ex-trigger:hover{opacity:1}.add-ex-form{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:12px}.add-ex-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.add-ex-form-grid .add-ex-full{grid-column:1 / -1}.dash-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px}.dash-tab-btn{background:transparent;color:var(--muted);padding:8px 18px;font-size:13px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius) var(--radius) 0 0;transition:color .15s,border-color .15s}.dash-tab-btn:hover{color:var(--text)}.dash-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.stat-card-label{font-size:12px;color:var(--muted);margin-bottom:6px}.stat-card-value{font-size:28px;font-weight:700;color:var(--accent)}.stat-card-sub{font-size:12px;color:var(--muted);margin-top:2px}.month-slider::-webkit-scrollbar{display:none}.empty-state{text-align:center;padding:60px 20px;color:var(--muted);grid-column:1 / -1}.empty-state p{margin-top:8px;font-size:13px}.spinner{display:flex;justify-content:center;align-items:center;padding:60px;color:var(--muted);font-size:13px;gap:10px}.spin{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:#e05c5c1f;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px}.success-banner{background:#4caf7d1f;border:1px solid var(--success);color:var(--success);border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:16px}.intake-form{max-width:860px;margin:0 auto}.intake-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:16px}.intake-section h3{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1 / -1}.form-group label{font-size:12px;color:var(--muted);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%}.intake-section input,.intake-section select,.intake-section textarea{background:var(--surface2);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:var(--radius);padding:6px 8px;font-size:13px;color:var(--text)}.intake-section input::-moz-placeholder,.intake-section textarea::-moz-placeholder{color:var(--muted)}.intake-section input::placeholder,.intake-section textarea::placeholder{color:var(--muted)}.intake-section input:focus,.intake-section select:focus,.intake-section textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:72px}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:4px}.checkbox-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text);cursor:pointer}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.intake-actions{display:flex;justify-content:flex-end;padding:4px 0 16px}.btn-primary{background:var(--accent);color:#fff;padding:9px 24px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none}.btn-primary:hover:not(:disabled){background:var(--accent-dk)}.btn-primary:disabled{opacity:.5}.programs-page{height:100%;display:flex;flex-direction:column;gap:10px}.top-slot-card:hover{border-color:var(--accent)!important}.top-slot-card:active{cursor:grabbing!important;transform:scale(.995)}.panel-drag-header{flex-shrink:0;padding:8px 14px;background:var(--surface2);border-bottom:1px solid var(--border);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.panel-drag-header:hover{background:var(--surface);color:var(--text)}.panel-drag-header:active{cursor:grabbing}.wo-builder-layout{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:16px;align-items:stretch;min-height:0}.main-slot{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;width:100%;overflow:visible}.main-slot>.ex-lib-panel,.main-slot>.wo-builder-panel,.main-slot>.periodization-panel,.main-slot>.hms-panel{flex:1;min-width:0;min-height:0}.periodization-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden}.periodization-panel-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.hms-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-height:0;width:100%;overflow-y:auto;overflow-x:clip;overflow-clip-margin:60px}.ex-lib-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.ex-lib-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);flex-shrink:0}.tl-drop-panel{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.tl-drop-panel::-webkit-scrollbar{display:none}.ex-lib-search{width:100%;font-size:12px;padding:4px 8px;min-width:0;box-sizing:border-box}.ex-add-form{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.ex-add-name{flex:1;font-size:12px;padding:4px 8px;min-width:0}.ex-add-btn{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--accent);color:#fff;border:none;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.ex-add-btn:disabled{opacity:.4;cursor:default}.ex-add-btn:not(:disabled):hover{opacity:.85}.ex-lib-count{font-size:11px;background:var(--surface2);color:var(--muted);padding:2px 7px;border-radius:10px;font-weight:500}.ex-lib-controls{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.ex-lib-controls input,.ex-lib-controls select{font-size:12px;padding:5px 8px;width:100%}.ex-lib-filter-row{display:flex;gap:5px}.ex-lib-filter-row select{flex:1;width:auto;min-width:0}.ex-lib-filter-row .lib-fav-toggle{flex:0 0 auto;width:auto;white-space:nowrap}.lib-fav-toggle{width:100%;background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;padding:5px 8px;text-align:left;transition:background .15s,color .15s,border-color .15s}.lib-fav-toggle:hover{color:var(--text);border-color:var(--success)}.lib-fav-toggle.active{background:#4caf7d26;color:var(--success);border-color:var(--success)}.ex-lib-list{overflow-y:auto;flex:1;padding:8px}.ex-lib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media (min-width: 1500px){.ex-lib-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 2100px){.ex-lib-grid{grid-template-columns:repeat(8,1fr)}}.ex-lib-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:6px 6px 5px;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:88px;overflow:hidden;transition:border-color .12s,background .12s,box-shadow .12s}.ex-lib-card:hover{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 1px #3b82f6}.ex-lib-card:active{cursor:grabbing}.ex-lib-card.is-dragging{border-color:#9333ea;background:#9333ea24;box-shadow:0 0 0 1px #9333ea;opacity:.8}@keyframes ex-drop-flash{0%{border-color:var(--success);background:#4caf7d59;box-shadow:0 0 0 2px var(--success)}60%{border-color:var(--success);background:#4caf7d26;box-shadow:0 0 0 1px var(--success)}to{border-color:var(--border);background:var(--surface2);box-shadow:none}}.ex-lib-card.drop-success{animation:ex-drop-flash .9s ease-out forwards}.ex-lib-card.assistant-highlight{border-color:var(--accent)!important;box-shadow:0 0 12px #6366f166,inset 0 0 8px #6366f114;animation:assistantPulse 1.2s ease-in-out infinite}@keyframes assistantPulse{0%,to{box-shadow:0 0 8px #6366f14d}50%{box-shadow:0 0 16px #6366f180,inset 0 0 6px #6366f11a}}.ex-lib-card-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.25;text-align:center;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.ex-lib-card-meta{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.wo-builder-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:100%;overflow:hidden}.wo-builder-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border)}.wo-builder-list{padding:6px;flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px}.wo-builder-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:13px;border:2px dashed var(--border);border-radius:var(--radius);margin:8px 0}.drop-indicator{height:3px;background:var(--accent);border-radius:3px;margin:3px 4px;box-shadow:0 0 6px #6c63ff99}.wo-builder-panel.drop-ready{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@keyframes wo-drop-flash{0%{border-color:var(--success);background:#4caf7d4d;box-shadow:0 0 0 2px var(--success)}60%{border-color:var(--success);background:#4caf7d1f;box-shadow:0 0 0 1px var(--success)}to{border-color:var(--border);background:var(--surface2);box-shadow:none}}.wo-ex-row.just-dropped{animation:wo-drop-flash 1.5s ease-out forwards}.wo-ex-block{display:flex;flex-direction:column}.wo-ex-block.dragging .wo-ex-row{opacity:.3}.wo-ex-row{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:5px 8px;min-height:46px;cursor:default;transition:border-color .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wo-ex-row input{-webkit-user-select:text;-moz-user-select:text;user-select:text}.wo-ex-row:hover{border-color:var(--accent)}.wo-ex-handle{cursor:grab;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:6px;display:flex;align-items:center;justify-content:center;opacity:.2;transition:opacity .15s}.wo-ex-row:hover .wo-ex-handle{opacity:.45}.wo-ex-handle:hover{opacity:.75}.wo-ex-num{width:16px;font-size:11px;color:var(--muted);text-align:center;flex-shrink:0}.wo-ex-name{flex:0 0 150px;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wo-ex-fields{display:flex;gap:4px;flex:1;align-items:center}.wo-ex-field{display:flex;min-width:60px;flex:1}.wo-ex-field:has(>label){flex-direction:column;align-items:center;gap:1px}.wo-ex-field>label{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.wo-ex-field>input{font-size:11px;font-weight:600;height:22px;padding:0 5px;width:100%;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:inherit;outline:none;box-sizing:border-box;text-align:center}.wo-ex-field>input::-moz-placeholder{color:var(--muted);font-weight:400}.wo-ex-field>input::placeholder{color:var(--muted);font-weight:400}.wo-ex-field>input:focus{border-color:var(--accent)}@keyframes startSessionFade{0%{color:#ffffffe6}25%{color:#e53935}50%{color:#ffffffe6}75%{color:#1e88e5}to{color:#ffffffe6}}@keyframes wrapItUpFade{0%{color:#ffeb3b;opacity:1}25%{color:#ff9800;opacity:.3}50%{color:#e53935;opacity:1}75%{color:#ff9800;opacity:.3}to{color:#ffeb3b;opacity:1}}@keyframes trackerActivePulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes trackerCountdownPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.wo-ex-row.tracker-active{animation:trackerRowGlow 2s ease-in-out infinite}.wo-ex-row.tracker-next{border-left:2px solid rgba(138,180,248,.5)}@keyframes trackerRowGlow{0%{box-shadow:0 0 8px #4caf7d26}50%{box-shadow:0 0 16px #4caf7d4d}to{box-shadow:0 0 8px #4caf7d26}}@keyframes timerUrgentPulse{0%{opacity:1}50%{opacity:.3}to{opacity:1}}@keyframes fadeInQuote{0%{opacity:0}to{opacity:1}}@keyframes fadeOutQuote{0%{opacity:1}to{opacity:0}}@keyframes fwChar{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}30%{opacity:1;transform:translate(calc(var(--fw-x) * .4),calc(var(--fw-y) * .4)) rotate(calc(var(--fw-rot) * .3)) scale(1.4)}to{opacity:0;transform:translate(var(--fw-x),var(--fw-y)) rotate(var(--fw-rot)) scale(.3)}}@keyframes fwSpark{0%{opacity:1;transform:translate(0) scale(1)}20%{opacity:1;transform:translate(calc(var(--fw-x) * .3),calc(var(--fw-y) * .3)) scale(1.5)}60%{opacity:.8;transform:translate(calc(var(--fw-x) * .7),calc(var(--fw-y) * .7)) scale(1)}to{opacity:0;transform:translate(var(--fw-x),calc(var(--fw-y) + 20px)) scale(0)}}@keyframes godModeRainbow{0%{background-position:0% 50%}to{background-position:300% 50%}}@keyframes godModeGlow{0%,to{box-shadow:0 0 8px #ffffff73,0 0 18px #ff00aa8c,inset 0 0 10px #ffffff2e}50%{box-shadow:0 0 16px #ffffffa6,0 0 28px #00c8ffbf,inset 0 0 14px #ffffff4d}}.god-mode-btn{position:relative;background:linear-gradient(90deg,#ff0080,#ff8c00,gold,#00ff7f,#00bfff,#f0f,#ff0080);background-size:300% 100%;border:2px solid #000!important;color:#fff!important;font-family:"Press Start 2P",Courier New,monospace!important;font-size:10px!important;letter-spacing:.14em;text-shadow:2px 2px 0 #000,0 0 6px rgba(0,0,0,.7);text-transform:uppercase;animation:godModeRainbow 6s linear infinite,godModeGlow 1.8s ease-in-out infinite;overflow:hidden;isolation:isolate}.god-mode-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0003 2px,#0003 3px);pointer-events:none;z-index:1;mix-blend-mode:multiply}.god-mode-btn>*{position:relative;z-index:2}.god-mode-btn:hover{animation-duration:2.2s,1s;transform:scale(1.025)}@keyframes searchAddFlash{0%{border-color:#8ab4f8;box-shadow:0 0 0 2px #8ab4f8;background:#8ab4f833}50%{border-color:#8ab4f8;box-shadow:0 0 0 1px #8ab4f8;background:#8ab4f81a}to{border-color:var(--border);box-shadow:none;background:var(--surface)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes homeHaloPulse{0%{box-shadow:0 0 #e5393599,inset 0 0 20px #e539354d}50%{box-shadow:0 0 24px 16px #e5393500,inset 0 0 #e5393500}to{box-shadow:0 0 #e5393599,inset 0 0 20px #e539354d}}@keyframes homeHaloGreenPop{0%{box-shadow:0 0 #4caf7de6,inset 0 0 24px #4caf7d80;transform:translate(-50%,-50%) scale(1)}40%{box-shadow:0 0 32px 20px #4caf7d80,inset 0 0 12px #4caf7d4d;transform:translate(-50%,-50%) scale(1.15)}to{box-shadow:0 0 18px 10px #4caf7d4d,inset 0 0 16px #4caf7d66;transform:translate(-50%,-50%) scale(1.05)}}@keyframes homeHaloRedPulse{0%{box-shadow:0 0 #e5393599,inset 0 0 20px #e539354d}50%{box-shadow:0 0 24px 16px #e5393500,inset 0 0 #e5393500}to{box-shadow:0 0 #e5393599,inset 0 0 20px #e539354d}}@keyframes homeHaloRedPop{0%{box-shadow:0 0 #e53935e6,inset 0 0 24px #e5393580;transform:translate(-50%,-50%) scale(1)}40%{box-shadow:0 0 32px 20px #e5393580,inset 0 0 12px #e539354d;transform:translate(-50%,-50%) scale(1.15)}to{box-shadow:0 0 18px 10px #e539354d,inset 0 0 16px #e5393566;transform:translate(-50%,-50%) scale(1.05)}}@keyframes homeHaloBluePulse{0%{box-shadow:0 0 #3b82f699,inset 0 0 20px #3b82f64d}50%{box-shadow:0 0 24px 16px #3b82f600,inset 0 0 #3b82f600}to{box-shadow:0 0 #3b82f699,inset 0 0 20px #3b82f64d}}@keyframes homeHaloBluePop{0%{box-shadow:0 0 #3b82f6e6,inset 0 0 24px #3b82f680;transform:translate(-50%,-50%) scale(1)}40%{box-shadow:0 0 32px 20px #3b82f680,inset 0 0 12px #3b82f64d;transform:translate(-50%,-50%) scale(1.15)}to{box-shadow:0 0 18px 10px #3b82f64d,inset 0 0 16px #3b82f666;transform:translate(-50%,-50%) scale(1.05)}}@keyframes homeOvalGreenPulse{0%,to{border-color:#4caf7d80;box-shadow:0 0 8px 2px #4caf7d59,0 0 18px 4px #4caf7d26,inset 0 0 6px #4caf7d26}50%{border-color:#4caf7df2;box-shadow:0 0 18px 6px #4caf7dbf,0 0 34px 14px #4caf7d59,inset 0 0 10px #4caf7d59}}@keyframes homeRailsGreenPulse{0%,to{background:#4caf7d73;box-shadow:0 0 8px 2px #4caf7d59,0 0 18px 4px #4caf7d26}50%{background:#4caf7dd9;box-shadow:0 0 18px 6px #4caf7dbf,0 0 32px 14px #4caf7d59}}@keyframes expiringPulse{0%,to{box-shadow:0 4px 20px #e05c5c59,0 0 12px #e05c5c33}50%{box-shadow:0 4px 20px #e05c5c8c,0 0 20px #e05c5c66}}
