:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--work-color:#4ade80;--rest-color:#60a5fa;--leg-color:#fbbf24;--viz-1:#d95926;--viz-2:#199e70;--viz-3:#c98500;--viz-4:#d55181;--viz-5:#008300;--viz-6:#9085e9;--viz-other:#6b7280;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#social .button-icon{filter:invert()brightness(2)}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{text-align:left;flex-direction:column;min-height:100svh;display:flex}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:16px 24px;display:flex;position:relative}.app-header h1{margin:0;font-size:22px}.nav-group{display:contents}.tabs{flex:1;gap:8px;display:flex}.hamburger{border:1px solid var(--border);box-sizing:border-box;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;margin-left:auto;padding:0 10px;display:none}.hamburger span{background:var(--text-h);border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-backdrop{display:none}@media (width<=640px){.app-header{gap:12px}.hamburger{display:flex}.nav-backdrop{z-index:55;display:block;position:fixed;inset:0}.nav-group{z-index:60;background:var(--bg);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px;display:none;position:absolute;top:calc(100% + 6px);right:12px}.nav-group.open{display:flex}.nav-group .tabs{flex-direction:column;flex:none;gap:6px}.nav-group .tabs button,.nav-group .logout-button{text-align:left;width:100%}}.tabs button,.logout-button{border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:8px;padding:7px 16px;transition:border-color .15s,color .15s,background .15s}.tabs button:hover,.logout-button:hover{color:var(--text-h);border-color:var(--text)}.tabs button.active,.tabs button.active:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}main{flex:1;justify-content:center;padding:24px;display:flex}.panel{flex-direction:column;gap:16px;width:100%;max-width:640px;display:flex}.panel textarea,.panel input,.panel select,.form-card textarea,.form-card input,.form-card select{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:8px 10px}.panel label{flex-direction:column;gap:4px;font-size:14px;display:flex}.panel textarea:focus,.panel input:focus,.panel select:focus,.form-card textarea:focus,.form-card input:focus,.form-card select:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.panel input::placeholder,.panel textarea::placeholder,.form-card input::placeholder,.form-card textarea::placeholder{color:var(--text);opacity:.55}button{cursor:pointer}.builder{gap:20px}.panel-intro,.builder-intro,.builder-section-head{flex-direction:column;gap:4px;display:flex}.section-sub{color:var(--text);font-size:14px;line-height:1.4}.section-title{color:var(--text-h);margin:0;font-size:18px}.form-card,.segment-card{border:1px solid var(--border);background:var(--social-bg);border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-h);letter-spacing:.01em;font-size:13px;font-weight:600}.field-hint{color:var(--text);min-height:1em;font-size:12px;line-height:1.35}.required{color:var(--accent);font-weight:700}.optional{color:var(--text);font-weight:400}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field input[type=checkbox]{width:auto;accent-color:var(--accent-border);flex:none;margin:0;padding:0}.duration-input{align-items:center;gap:8px;display:flex}.duration-input input{text-align:center;flex:1;min-width:0}.duration-input input::-webkit-outer-spin-button{appearance:none;margin:0}.duration-input input::-webkit-inner-spin-button{appearance:none;margin:0}.duration-input input[type=number]{appearance:textfield}.duration-sep{color:var(--text);font-weight:700;font-family:var(--mono)}.field-grid{gap:12px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=520px){.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}.segment-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.segment-card-head .rest-toggle{margin-right:auto}.segment-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-bg);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.movement-list{flex-direction:column;gap:12px;display:flex}.movement-item{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.movement-item-head{justify-content:space-between;align-items:center;display:flex}.movement-item-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:600}.text-remove{color:var(--text);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:13px}.text-remove:hover{color:#e5484d;background:#e5484d1a}.icon-remove{color:var(--text);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:flex}.icon-remove:hover{color:#e5484d;background:#e5484d1a}.add-button{border:1px dashed var(--border);color:var(--text-h);font:inherit;background:0 0;border-radius:10px;padding:12px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s,background .15s}.add-button:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.add-segment{border-style:solid;padding:14px}.builder-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff;font:inherit;border-radius:8px;padding:11px 28px;font-weight:600}.primary-button:hover:not(:disabled){filter:brightness(1.08)}.primary-button:disabled{background:var(--border);border-color:var(--border);color:var(--text);cursor:not-allowed}.secondary-button{border:1px solid var(--border);color:var(--text-h);font:inherit;background:0 0;border-radius:8px;padding:11px 20px;font-weight:500}.secondary-button:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.secondary-button:disabled{color:var(--text);cursor:not-allowed}.library-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.library-search{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;padding:10px 14px}.library-filter{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;padding:10px 12px}.library-filters .library-search{flex:240px;width:auto}.library-filters .library-filter{flex:0 auto;width:auto;min-width:140px}.library-search:focus,.library-filter:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.wod-panel{max-width:760px}.wod-card{gap:14px}.wod-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wod-date{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 2px;font-size:13px;font-weight:600}.wod-card .section-title{margin:0}.wod-featured{border-color:var(--accent-border);box-shadow:var(--shadow)}.wod-featured .wod-text{font-size:17px}.wod-text{white-space:pre-wrap;word-break:break-word;font-family:var(--sans);color:var(--text-h);margin:0;font-size:15px;line-height:1.5}.wod-link{color:var(--text);align-self:center;font-size:13px;text-decoration:none}.wod-link:hover{color:var(--accent)}.wod-earlier-heading{margin:8px 0 0}.wod-list{flex-direction:column;gap:12px;display:flex}.feed-section{flex-direction:column;gap:14px;display:flex}.feed-section+.feed-section{border-top:1px solid var(--border);margin-top:34px;padding-top:28px}.feed-section .panel-intro{margin:0}.feed-earlier>summary{cursor:pointer;color:var(--text);padding:6px 0;font-size:14px;font-weight:600;list-style:none}.feed-earlier>summary::-webkit-details-marker{display:none}.feed-earlier>summary:before{content:"▸";margin-right:8px;transition:transform .15s;display:inline-block}.feed-earlier[open]>summary:before{transform:rotate(90deg)}.feed-earlier>summary:hover{color:var(--accent)}.feed-earlier .wod-list{margin-top:12px}.home-welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.feed-pref-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.feed-pref-row{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.feed-pref-toggle{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:flex}.feed-pref-toggle input{cursor:pointer;width:auto;margin:0}.feed-pref-order{gap:6px;display:flex}.feed-pref-order button{padding:4px 10px;line-height:1.2}.platform-group{flex-direction:column;gap:12px;display:flex}.platform-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0;font-size:13px;font-weight:600}.connection-status{background:var(--social-bg);border-radius:8px;margin:0 0 4px;padding:8px 10px;font-size:14px}.error{color:#e5484d}.mode-badge,.category-badge{letter-spacing:.02em;background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.category-badge{background:var(--social-bg);color:var(--text)}.badge-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-card{gap:12px}.preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-head .section-title{margin:0}.library-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.library-row{align-items:stretch;gap:8px;display:flex}.library-item{text-align:left;background:var(--social-bg);border:1px solid var(--border);color:var(--text-h);border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.library-item:hover{border-color:var(--accent-border);background:var(--accent-bg)}.library-item-name{color:var(--text-h);font-size:16px;font-weight:600}.row-action{color:var(--text);font:inherit;background:0 0;border:none;border-radius:8px;padding:0 12px;font-size:14px}.row-action:hover{color:var(--accent);background:var(--accent-bg)}.builder-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.builder-heading h2{margin:0}.builder-new{flex:none;padding:8px 20px}.delete-button{color:var(--text);background:0 0;border:none;border-radius:8px;padding:0 12px;font-size:14px}.delete-button:hover{color:#e5484d;background:#e5484d1a}.empty-state{border:1px dashed var(--border);text-align:center;color:var(--text);border-radius:12px;padding:32px 20px;font-size:15px}.library-empty{flex-direction:column;align-items:center;gap:14px;display:flex}.library-footer{justify-content:center;margin-top:4px;display:flex}.library-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.library-pager .secondary-button{padding:8px 14px}.library-pager-status{color:var(--text);text-align:center;flex:1;font-size:14px}.timer-view{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:1100px;display:flex;position:relative}.timer-toolbar{justify-content:flex-end;gap:8px;width:100%;display:flex}.tv-toggle{border:1px solid var(--border);color:var(--text);font:inherit;background:0 0;border-radius:8px;padding:6px 12px;font-size:14px;transition:border-color .15s,color .15s}.tv-toggle:hover{color:var(--text-h);border-color:var(--text)}.timer-header h2{margin:0;font-size:clamp(20px,3vw,32px)}.phase-label{letter-spacing:.12em;text-transform:uppercase;color:var(--work-color);margin:0;font-size:clamp(20px,4vw,40px);font-weight:700}.phase-label.phase-rest{color:var(--rest-color)}.phase-label.phase-countdown,.clock.countdown{color:var(--leg-color)}.clock{font-size:clamp(96px,24vw,340px);font-family:var(--mono);color:var(--work-color);font-variant-numeric:tabular-nums;margin:8px 0;font-weight:700;line-height:1}.clock.rest{color:var(--rest-color)}.clock.over-cap{color:#e5484d}.current-movement{color:var(--text-h);margin:0;font-size:clamp(28px,6vw,64px);font-weight:600}.clock-subtitle{font-size:clamp(16px,2.4vw,28px);font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;margin:0 0 10px}.time-bar,.leg-bar,.round-bar{align-items:center;gap:16px;width:min(100%,700px);margin:12px 0;display:flex}.leg-bar{margin-bottom:0}.time-track{background:var(--border);border-radius:999px;flex:1;height:clamp(10px,1.6vw,20px);overflow:hidden}.time-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s linear}.time-fill.over-cap{background:#e5484d}.time-cap-label{font-family:var(--mono);color:var(--text);min-width:1.4em;font-size:clamp(20px,3vw,36px);font-weight:700}.leg-number{font-family:var(--mono);color:var(--text-h);min-width:1.4em;font-size:clamp(16px,2.2vw,26px);font-weight:700}.leg-total{color:var(--text)}.leg-track{background:var(--border);border-radius:999px;flex:1;height:clamp(6px,1vw,12px);overflow:hidden}.leg-fill{background:var(--leg-color);border-radius:999px;height:100%;transition:width .2s linear}.round-number{font-family:var(--mono);color:var(--text-h);min-width:1.4em;font-size:clamp(20px,3vw,36px);font-weight:700}.round-total{color:var(--text)}.round-track{background:var(--border);border-radius:999px;flex:1;height:clamp(10px,1.6vw,20px);overflow:hidden}.round-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s linear}.timer-controls{gap:12px;margin:8px 0 16px;display:flex}.timer-controls button{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:8px;padding:10px 24px;font-size:clamp(16px,1.6vw,22px)}.workout-timeline{text-align:left;flex-direction:column;gap:10px;width:100%;max-width:640px;font-size:15px;display:flex}.timeline-summary{flex-wrap:wrap;gap:6px;display:flex}.timeline-chip{font-family:var(--mono);background:var(--social-bg);color:var(--text);border-radius:999px;padding:2px 10px;font-size:13px}.timeline-track{gap:2px;width:100%;height:16px;display:flex}.timeline-block{border-radius:3px;flex-basis:0;min-width:3px}.timeline-block.rest{background-image:repeating-linear-gradient(135deg,#00000059 0 3px,#0000 3px 7px)}.timeline-block.active{box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--text-h)}.timeline-legs{counter-reset:leg;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.timeline-leg{border-radius:6px;align-items:baseline;gap:10px;padding:3px 6px;display:flex}.timeline-leg:before{counter-increment:leg;content:counter(leg);font-family:var(--mono);color:var(--text);min-width:1.2em;font-size:13px}.timeline-leg.active{background:var(--social-bg)}.timeline-swatch{border-radius:2px;flex-shrink:0;align-self:center;width:10px;height:10px}.timeline-leg-time{font-family:var(--mono);color:var(--text);min-width:3.4em;font-size:14px}.timeline-leg-label{color:var(--text-h)}.timeline-leg-label.rest{color:var(--text);font-style:italic}.timeline-bars{flex-direction:column;gap:12px;display:flex}.timeline-bar-head{justify-content:space-between;gap:12px;margin-bottom:4px;font-size:14px;display:flex}.timeline-bar-label{color:var(--text-h)}.timeline-bar-meta{font-family:var(--mono);color:var(--text)}.panel .rest-toggle{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:6px;font-size:13px}.rest-toggle input[type=checkbox]{width:auto;accent-color:var(--rest-color);flex:none;margin:0;padding:0}.untimed-view{gap:20px}.untimed-progress{color:var(--text);margin:0;font-size:15px}.untimed-empty{max-width:480px}.untimed-list{flex-direction:column;gap:10px;width:100%;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.untimed-item{text-align:left;border:1px solid var(--border);background:var(--social-bg);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.untimed-item input{accent-color:var(--accent-border);flex-shrink:0;margin-top:3px}.untimed-item-text{flex-direction:column;gap:2px;display:flex}.untimed-item-text strong{color:var(--text-h);font-size:17px}.untimed-detail{color:var(--text);font-size:14px;font-style:normal}.untimed-item.done .untimed-item-text strong{color:var(--text);text-decoration:line-through}.untimed-item.done{border-color:var(--accent-border);background:var(--accent-bg)}.timer-view.tv{z-index:50;box-sizing:border-box;background:var(--bg);justify-content:center;gap:2vmin;width:100vw;max-width:none;height:100svh;padding:3vmin;position:fixed;inset:0}.timer-view.tv .timer-toolbar{z-index:2;width:auto;position:absolute;top:2vmin;right:2vmin}.timer-view.tv .tv-toggle{padding:.5em 1em;font-size:clamp(14px,1.6vw,24px)}.timer-view.tv .timer-header h2{font-size:min(6vw,8vh)}.timer-view.tv .mode-badge{padding:.3em 1em;font-size:min(2.6vw,3.4vh)}.timer-view.tv .phase-label{font-size:min(6vw,7vh)}.timer-view.tv .clock{margin:1vmin 0;font-size:min(27vw,54vh)}.timer-view.tv .current-movement{font-size:min(9vw,11vh)}.timer-view.tv .clock-subtitle{font-size:min(3.4vw,4.2vh)}.timer-view.tv .time-bar,.timer-view.tv .leg-bar,.timer-view.tv .round-bar{gap:3vmin;width:min(92vw,1600px);margin:1.5vmin 0}.timer-view.tv .time-track,.timer-view.tv .round-track{height:min(3.2vh,34px)}.timer-view.tv .leg-track{height:min(2.2vh,22px)}.timer-view.tv .round-number,.timer-view.tv .time-cap-label{font-size:min(5vw,6vh)}.timer-view.tv .leg-number{font-size:min(3.6vw,4.4vh)}.timer-view.tv .timer-controls{gap:2vmin;margin:1vmin 0}.timer-view.tv .timer-controls button{padding:.6em 1.6em;font-size:min(2.6vw,3.2vh)}.timer-view.tv .workout-timeline{display:none}.passcode-gate{box-sizing:border-box;justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.auth-card{gap:18px;width:min(360px,100%)}.auth-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.auth-head h1{letter-spacing:-1px;margin:0;font-size:34px}.auth-card .primary-button{width:100%}.link-button{color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;margin-top:12px;padding:0;font-size:13px;text-decoration:underline;display:inline-block}.link-button:hover{color:var(--text-h)}.settings-section{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:32px;padding-top:24px;display:flex}.settings-section h3{margin:12px 0 0;font-size:14px}.session-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.session-list li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.token-value{background:var(--surface-2,#ffffff0a);border:1px solid var(--border);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:6px;margin:8px 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:block}.field-inline{align-items:center;gap:8px;font-size:13px;display:flex}.auth-card .primary-button,.auth-card .secondary-button{width:100%;margin-top:10px;display:block}
