@font-face{font-family:Roboto;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Roboto-variable.woff2) format("woff2")}@font-face{font-family:Kaushan Script;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/KaushanScript-400.woff2) format("woff2")}:root{--raider-red: #bc273a;--crimson: #a60f20;--black: #0a0a0a;--white: #ffffff;--silver: #c0c0c0;--gray: #6b7280;--blue: #1d4ed8;--green: #15803d;--yellow: #eab308;--bg: #ffffff;--fg: #0a0a0a;--muted: #4b5563;--line: rgba(10, 10, 10, .14);--hover: rgba(10, 10, 10, .06);--surface: #f5f5f6;--field: #ffffff;--stripe-a: #ececee;--stripe-b: #dcdce0;--bg-glass: rgba(255, 255, 255, .95);--track: rgba(10, 10, 10, .1);--box-edge: rgba(10, 10, 10, .3);--go: #1fa84f;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--fg);background:var(--bg);font-variant-numeric:tabular-nums}:root[data-theme=dark]{--bg: #0a0a0a;--fg: #ffffff;--muted: #c0c0c0;--line: rgba(192, 192, 192, .25);--hover: rgba(192, 192, 192, .12);--surface: #121212;--field: #1a1a1a;--stripe-a: #1f1f1f;--stripe-b: #2b2b2b;--bg-glass: rgba(10, 10, 10, .95);--track: rgba(255, 255, 255, .12);--box-edge: #c0c0c0;--go: #22b457}body{background:var(--bg);color:var(--fg)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}button{font:inherit;cursor:pointer}.script{font-family:Kaushan Script,cursive}.topbar-dim{color:var(--muted);opacity:.75;font-weight:400}.start{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2vh;text-align:center}.start-logo{height:42vh;width:auto}.start-school{font-size:7vh;font-weight:700;letter-spacing:.12em;margin:0}.start-script,.finished .start-script,.countdown .start-script{font-family:Kaushan Script,cursive;color:var(--raider-red);font-size:7vh;line-height:1}.start-workout{font-size:3.2vh;font-weight:700;letter-spacing:.06em;margin:2vh 0 0}.start-button{margin-top:2vh;font-size:5vh;font-weight:700;letter-spacing:.12em;padding:1.6vh 8vw;border:.4vh solid var(--raider-red);border-radius:1vh;background:var(--raider-red);color:var(--white)}.start-button:hover{background:var(--crimson)}.start-hint{color:var(--muted);font-size:2vh;margin:.5vh 0 0}.start-layout{font-size:1.9vh;color:var(--muted);margin:2vh 0 0}.start-layout button{margin:0 .4vw;padding:.5vh 1vw;background:transparent;color:var(--muted);border:1px solid var(--gray);border-radius:.6vh}.start-layout button.is-active{color:var(--fg);border-color:var(--raider-red);background:#bc273a40}.start-sounds{font-size:1.9vh;color:var(--muted);margin:2vh 0 0;letter-spacing:.1em}.start-sounds button{margin:0 .3vw;padding:.5vh 1vw;background:transparent;color:var(--muted);border:1px solid var(--gray);border-radius:.6vh;letter-spacing:normal}.start-sounds button:hover{color:var(--fg);border-color:var(--fg)}.start-sounds button.is-active{color:var(--fg);border-color:var(--raider-red);background:#bc273a4d}.start-sounds button.is-playing{background:var(--raider-red);border-color:var(--raider-red);color:var(--white)}.start-silent{opacity:.6;font-size:1.7vh}.start-total{opacity:.6}.board{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:2vw;padding:0 1.5vw;height:6vh;font-size:2.6vh;font-weight:700;letter-spacing:.06em;border-bottom:1px solid var(--line);flex:none}.topbar-brand{color:var(--raider-red);letter-spacing:.15em}.topbar-segment{flex:1}.topbar-sets{display:flex;gap:.6vw;list-style:none;margin:0;padding:0}.topbar-sets li{padding:0 .5vw;border-radius:.4vh;opacity:.5}.topbar-sets li.is-current{opacity:1;outline:.25vh solid var(--fg)}.topbar-clock{color:var(--muted)}.topbar-controls{display:flex;gap:.4vw}.topbar-controls button{height:4vh;min-width:4vh;padding:0 .6vw;font-size:2vh;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:.6vh}.topbar-controls button:hover{color:var(--fg);border-color:var(--fg)}.topbar-controls button.is-active{background:var(--raider-red);border-color:var(--raider-red);color:var(--white)}.progress{height:1vh;background:var(--track);flex:none}.progress-fill{height:100%;background:var(--raider-red);transition:width .3s linear}.phase-work .progress-fill{background:var(--go)}.phase-rest .progress-fill{background:var(--raider-red)}.dial{position:relative;flex:none}.dial-svg{width:100%;height:100%;display:block}.dial-ring{transition:stroke-dashoffset .15s linear}.dial-center{position:absolute;top:12%;right:12%;bottom:12%;left:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.phase-word{font-size:6vh;font-weight:700;letter-spacing:.18em;line-height:1}.big-time{font-size:18vh;font-weight:700;line-height:1;letter-spacing:-.02em}.phase-rest .phase-word,.phase-rest .big-time,.phase-countdown .phase-word{color:var(--raider-red)}.phase-work .phase-word,.phase-work .mini-phase{color:var(--go)}.rotate-hint{font-size:4vh;font-weight:700;letter-spacing:.2em;color:var(--raider-red);animation:pulse 1.2s ease-in-out infinite}.paused-hint{font-size:4vh;font-weight:700;letter-spacing:.2em;color:var(--muted);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.is-paused .big-time{opacity:.55}.countdown{flex:1;display:flex;align-items:center;justify-content:center;gap:5vw;padding:2vh 4vw;position:relative}.countdown-logo{width:100%;height:100%;object-fit:contain}.countdown-text{display:flex;flex-direction:column;align-items:center;gap:2vh}.countdown .big-time{font-size:26vh}.countdown .phase-word{font-size:8vh}.up-next{position:absolute;left:2vw;right:2vw;bottom:2vh;display:flex;align-items:center;gap:1.5vw}.up-next-label{font-size:2.6vh;font-weight:700;letter-spacing:.15em;color:var(--muted);flex:none}.up-next-list{display:flex;flex:1;gap:1vw;list-style:none;margin:0;padding:0}.up-next-item{flex:1;display:flex;flex-direction:column;padding:1vh 1vw;border-radius:.8vh;border:.3vh solid var(--muted)}.up-next-color{font-size:2vh;font-weight:700;letter-spacing:.15em;opacity:.85}.up-next-title{font-size:3.2vh;font-weight:700}@property --dial{syntax: "<length>"; inherits: true; initial-value: 0px;}@property --box-h{syntax: "<length>"; inherits: true; initial-value: 0px;}.session{flex:1;display:flex;min-height:0;position:relative;--dial: min(46vh, 30vw)}.session>.box-grid.fill{flex:1;width:auto;--gap: 1vh;grid-template-columns:repeat(var(--units),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));justify-content:stretch;align-content:stretch}.box-grid.fill>.box{width:auto;height:auto;--size: calc((100cqh - var(--gap) * (var(--rows) + 1)) / var(--rows));--box-h: var(--size);--clear: max(calc(var(--size) * .05), calc(var(--dial) / 2 + 1.5vh - var(--edge, 0) * 100vw));border-width:calc(var(--size) * .015)}.box-grid.fill>.box.color-White{border-width:calc(var(--size) * .03)}.box-grid.fill>.box.side-left{padding-right:var(--clear)}.box-grid.fill>.box.side-right{padding-left:var(--clear)}.box-grid.fill.rows-2>.box.side-center.row-top{padding-bottom:calc(var(--dial) / 2 + 1.5vh);justify-content:flex-start}.box-grid.fill.rows-2>.box.side-center.row-bottom{padding-top:calc(var(--dial) / 2 + 1.5vh);justify-content:flex-end}.box-grid.fill.rows-2>.box.side-center.is-wide{padding-top:calc(var(--size) * .03);padding-bottom:calc(var(--size) * .03);padding-right:calc(50% + var(--dial) / 2 + 1.5vh);justify-content:center}.session.is-solo>.box-grid.fill{padding-left:calc(var(--dial) + 4vw)}.box-grid.fill>.box .box-color{font-size:min(calc(var(--box-h) * .06),9cqh)}.box-grid.fill>.box .box-title{font-size:min(calc(var(--box-h) * .17),22cqh,14cqw)}.box-grid.fill>.box .box-note{font-size:min(calc(var(--box-h) * .05),7cqh)}.box-grid.fill>.box .box-reps{font-size:min(calc(var(--box-h) * .32),36cqh)}.box-grid.fill>.box .box-reps-label{font-size:min(calc(var(--box-h) * .07),9cqh)}.box-grid.fill>.box .box-pct{font-size:min(calc(var(--box-h) * .06),8cqh)}.box-grid.fill>.box .box-detail-text{font-size:min(calc(var(--box-h) * .09),12cqh)}.box-grid.fill>.box .box-sets{font-size:min(calc(var(--box-h) * .07),9cqh)}.center-dial{position:absolute;left:50%;top:50%;width:var(--dial);height:var(--dial);transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);box-shadow:0 0 0 1vh var(--bg);pointer-events:none}.session.is-solo .center-dial{left:calc(var(--dial) / 2 + 2vw)}.center-dial .dial-center{top:10%;right:10%;bottom:10%;left:10%;gap:.4vh}.center-dial .phase-word{font-size:calc(var(--dial) * .1);letter-spacing:.1em;white-space:nowrap}.center-dial .phase-word.is-long{font-size:calc(var(--dial) * .075)}.dial-logo{height:calc(var(--dial) * .3);width:auto}.center-dial .big-time{font-size:calc(var(--dial) * .24)}.phase-rest .center-dial .phase-word{animation:pulse 1.2s ease-in-out infinite}.is-paused .center-dial .phase-word{color:var(--muted);animation:pulse 1.4s ease-in-out infinite}.box-grid{--gap: 1.2vh;flex:none;width:56vw;container-type:size;display:grid;grid-template-columns:repeat(var(--cols),max-content);grid-template-rows:repeat(var(--rows),max-content);justify-content:center;align-content:center;gap:var(--gap);padding:var(--gap);min-height:0}.box-grid.cols-3,.box-grid.cols-4{width:70vw}.box{--size: min( calc((100cqh - var(--gap) * (var(--rows) + 1)) / var(--rows)), calc((100cqw - var(--gap) * (var(--cols) + 1)) / var(--cols)) );width:var(--size);height:var(--size);flex:none;container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--size) * .02);border-radius:calc(var(--size) * .025);border:calc(var(--size) * .01) solid var(--box-edge);padding:calc(var(--size) * .03) calc(var(--size) * .05);text-align:center;transition:background-color .25s,color .25s,border-color .25s;overflow:hidden}.box-color{font-size:6.5cqh;font-weight:700;letter-spacing:.25em;opacity:.85}.box-title{font-size:14cqh;font-weight:700;letter-spacing:.04em;line-height:1.05;margin:0;overflow-wrap:anywhere}.box-detail{margin:0;display:flex;align-items:baseline;gap:3cqw}.box-reps{font-size:26cqh;font-weight:700;line-height:1}.box-reps-label{font-size:7cqh;font-weight:700;letter-spacing:.2em;opacity:.85}.box-detail-text{font-size:9cqh;font-weight:700;letter-spacing:.2em;opacity:.9}.box-sets{display:flex;gap:3cqw;list-style:none;margin:1cqh 0 0;padding:0;font-size:7cqh;font-weight:700}.box-sets li{min-width:10cqh;padding:.5cqh 2cqw;border-radius:1.5cqh;opacity:.45}.box-sets li.is-done{opacity:.7;text-decoration:line-through}.box-sets li.is-current{opacity:1;outline:.8cqh solid currentColor}.box-rest{opacity:.55}.color-Red{background:var(--raider-red);color:var(--white)}.color-Gray{background:var(--gray);color:var(--white)}.color-Black{background:var(--black);color:var(--white);border-color:var(--muted)}.color-White{background:var(--white);color:var(--black);border-color:var(--black);border-width:calc(var(--size) * .03)}.color-Blue{background:var(--blue);color:var(--white)}.color-Green{background:var(--green);color:var(--white)}.color-Yellow{background:var(--yellow);color:var(--black)}.finished{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;text-align:center}.finished-logo{height:45vh}.finished h1{font-size:8vh;letter-spacing:.15em;margin:0}.topbar-coach{color:var(--muted);font-weight:400;letter-spacing:.1em;margin-left:1vw;font-size:.8em}.start-coach{font-size:2.6vh;font-weight:700;letter-spacing:.25em;color:var(--muted);margin-top:1vh}.page-coach{font-size:.75rem;font-weight:700;letter-spacing:.25em;color:var(--muted)}.start-nav{position:absolute;top:2vh;left:2vw;display:flex;gap:.6vw}.start{position:relative}.page{height:100%;overflow-y:auto;padding:1.5rem clamp(1rem,4vw,3rem) 4rem;font-size:1rem;font-variant-numeric:tabular-nums}.page-header{display:flex;align-items:center;gap:1.25rem;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.page-logo{height:120px;width:auto}.page-brand{display:flex;flex-direction:column;line-height:1.1}.page-school{font-weight:700;letter-spacing:.15em;font-size:1.1rem}.page-script{font-family:Kaushan Script,cursive;color:var(--raider-red);font-size:1.6rem}.page-title{flex:1;margin:0;font-size:2rem;letter-spacing:.05em;text-align:right}.page-actions{display:flex;gap:.5rem}.btn{font:inherit;font-weight:700;padding:.55rem 1rem;background:transparent;color:var(--fg);border:1px solid var(--gray);border-radius:.5rem;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--fg)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background:var(--raider-red);border-color:var(--raider-red);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--crimson);border-color:var(--crimson)}.btn-danger{color:var(--muted)}.btn-danger:hover:not(:disabled){color:var(--fg);border-color:var(--raider-red)}.btn-small{padding:.3rem .6rem;font-size:.85rem}.hint{color:var(--muted);font-size:.9rem;margin:.5rem 0 0}.empty{color:var(--muted);padding:2rem 0}.row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}.workout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.workout-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--line);border-left:.35rem solid var(--raider-red);border-radius:.6rem;background:var(--surface)}.workout-info{flex:1;min-width:0}.workout-name{font-size:1.35rem;font-weight:700}.workout-meta{color:var(--muted);font-size:.9rem;margin-top:.2rem}.workout-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.backup{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.backup h2{margin:0;font-size:1.1rem;letter-spacing:.1em}.card{padding:1rem 1.25rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);margin-bottom:1rem}.problems{border:1px solid var(--raider-red);background:#bc273a26;border-radius:.6rem;padding:.75rem 1.25rem;margin-bottom:1rem}.problems ul{margin:.5rem 0 0;padding-left:1.25rem}.fields{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--muted)}.field.grow{flex:1;min-width:12rem}.field input,.field select,.duration input{font:inherit;font-size:1.05rem;font-weight:400;letter-spacing:normal;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-radius:.4rem;padding:.5rem .65rem;min-width:0}.field input:focus,.field select:focus,.duration input:focus{outline:2px solid var(--raider-red);outline-offset:1px}.field input[type=number]{width:6rem}.duration{display:inline-flex;align-items:center;gap:.25rem}.duration input{width:4rem;text-align:center}.duration-sep{font-weight:700}.total output{font-size:1.4rem;font-weight:700;color:var(--fg);letter-spacing:normal}.total.is-over output{color:var(--raider-red)}.segments{list-style:none;margin:0;padding:0;counter-reset:segment}.segment{border-left:.35rem solid var(--gray)}.segment-session{border-left-color:var(--raider-red)}.segment-head{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.segment-kind{font-weight:700;letter-spacing:.15em;font-size:.85rem;white-space:nowrap;flex:none}.segment-kind:before{counter-increment:segment;content:counter(segment) " · ";color:var(--muted)}.segment-length{color:var(--muted);font-weight:700;white-space:nowrap;flex:none}.segment-tools{margin-left:auto;display:flex;gap:.4rem}.session-body{display:flex;gap:1.5rem;margin-top:1rem;align-items:flex-start}.boxes{flex:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;min-width:0}.box-editor{padding:.75rem 1rem;border:1px solid var(--line);border-radius:.5rem}.box-editor-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.box-editor-head .hint{margin:0}.swatch{display:inline-block;width:1rem;height:1rem;border-radius:.25rem;border:1px solid var(--muted)}.preview{width:22rem;flex:none}.preview .hint{margin:0 0 .4rem}.preview-grid{height:14rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg)}.preview-grid .box-grid{width:100%;height:100%}.add-row,.save-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.save-row{justify-content:flex-end;margin-top:2rem}@media(max-width:900px){.session-body{flex-direction:column}.preview{width:100%}.page-title{text-align:left;font-size:1.4rem}}.code-input{font:inherit;font-size:1.05rem;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-radius:.4rem;padding:.5rem .65rem;min-width:16rem;flex:1;max-width:28rem}.error{color:var(--raider-red)}@media(max-width:700px){.page{padding:.75rem .9rem 6rem}.page-header{flex-wrap:wrap;gap:.75rem}.page-title{flex-basis:100%;text-align:left;font-size:1.5rem;order:3}.page-actions{margin-left:auto;order:2}.btn,.field input,.field select,.duration input,.code-input{min-height:44px;font-size:16px}.btn-small{min-height:36px;font-size:14px}.workout-row{flex-direction:column;align-items:stretch;gap:.75rem}.workout-buttons{justify-content:flex-start}.workout-buttons .btn{flex:1}.fields{gap:.75rem}.field.grow{flex-basis:100%}.segment-head{flex-wrap:wrap}.segment-tools{flex-basis:100%;margin-left:0}.session-body{flex-direction:column}.preview{width:100%}.preview-grid{height:12rem}.save-row{position:fixed;left:0;right:0;bottom:0;margin:0;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));background:var(--bg-glass);border-top:1px solid var(--line)}.save-row .btn{flex:1}.start{justify-content:flex-start;padding-top:9vh;overflow-y:auto}.start-logo{height:22vh}}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--muted);font-weight:700;letter-spacing:-.15em;padding:.35rem .6rem .35rem .3rem;border-radius:.4rem;font-size:1.1rem;line-height:1;touch-action:none}.drag-handle:hover{color:var(--fg);background:var(--hover)}.segment.is-dragging{transform:scale(1.015);box-shadow:0 1rem 2rem #0009;border-color:var(--fg);z-index:2;position:relative}.segment-head{cursor:grab}.segment.is-dragging .segment-head{cursor:grabbing}.box-editor-moves{margin-left:auto;display:flex;gap:.3rem}.reps-hint{margin-top:.4rem}@media(max-width:700px){.drag-handle{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem}}.phone-only{display:none}.help-toggle{margin-top:.75rem}@media(max-width:700px){.phone-hide{display:none!important}.phone-only{display:inline}button.phone-only{display:inline-flex}.builder .page-brand{display:none}.builder .page-logo{height:64px}.builder .field{font-size:.75rem}.builder .card{padding:.75rem .85rem}.box-editor{padding:.6rem .7rem}}.box-grid{position:relative}.rotate-arrow{display:inline-block;font-size:9vh;line-height:1;color:var(--raider-red);margin-right:1vw;vertical-align:middle;animation:spin-pulse 2s ease-in-out infinite}@keyframes spin-pulse{0%{transform:rotate(0) scale(1);opacity:.95}50%{transform:rotate(180deg) scale(1.12);opacity:.6}to{transform:rotate(360deg) scale(1);opacity:.95}}.box-next{color:inherit;opacity:1}.rotate-sub{font-size:2.6vh;letter-spacing:.12em;color:var(--muted);margin-top:.6vh;animation:none}.rotate-hint{text-align:center;display:flex;flex-direction:column;align-items:center}.help:not(.is-open){display:none}.help-toggle{margin-top:.5rem}.boxes-wrap{flex:1;min-width:0}.box-line{display:grid;grid-template-columns:2rem 7.5rem 8rem minmax(7rem,1fr) 9.5rem minmax(7rem,.8fr);gap:.5rem;align-items:center}.box-line-head{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:0 .7rem .35rem}.box-editor{padding:.45rem .7rem}.box-who{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;cursor:help}.box-who-color{color:var(--muted);font-size:.85rem}.box-type,.box-name,.box-reps-input,.box-note-input{font:inherit;font-size:1rem;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-radius:.4rem;padding:.45rem .6rem;min-width:0;width:100%}.box-type:focus,.box-name:focus,.box-reps-input:focus,.box-note-input:focus{outline:2px solid var(--raider-red);outline-offset:1px}.box-name-rest{color:var(--muted);background:transparent;border-color:transparent;font-style:italic}.box-reps-none{background:transparent;border-color:transparent}.box-editor .reps-hint{margin:.2rem 0 0 10rem}@media(max-width:700px){.box-line{grid-template-columns:2.4rem 1fr 1fr;grid-template-areas:"handle who type" "name name name" "reps reps reps" "note note note";row-gap:.4rem}.box-line>.drag-handle{grid-area:handle}.box-line>.box-who{grid-area:who}.box-line>.box-type{grid-area:type}.box-line>.box-name{grid-area:name}.box-line>.box-reps-input{grid-area:reps}.box-line>.box-note-input{grid-area:note}.box-reps-none{display:none}.box-editor .reps-hint{margin-left:0}.box-type,.box-name,.box-reps-input,.box-note-input{min-height:44px;font-size:16px}}.segment-head{margin-bottom:0}.segment.is-open .segment-head{margin-bottom:.75rem}.segment-summary{flex:1;min-width:0;display:flex;align-items:baseline;gap:.6rem;background:transparent;border:0;color:var(--fg);text-align:left;padding:.25rem 0;cursor:pointer;font:inherit;-webkit-user-select:none;user-select:none}.segment-chevron{color:var(--muted);width:1rem;flex:none}.segment-title{font-weight:700;font-size:1.05rem;white-space:nowrap}.segment-outline{color:var(--muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.segment-menu{position:relative;margin-left:auto;flex:none}.menu{position:absolute;right:0;top:2.2rem;z-index:5;display:flex;flex-direction:column;min-width:9rem;background:var(--field);border:1px solid var(--gray);border-radius:.5rem;padding:.3rem;box-shadow:0 .5rem 1.5rem #0009}.menu button{font:inherit;text-align:left;background:transparent;color:var(--fg);border:0;border-radius:.35rem;padding:.55rem .8rem}.menu button:hover{background:var(--hover)}.menu button.danger{color:var(--raider-red)}.timeline{margin:0 0 1.25rem}.timeline-bar{position:relative;display:flex;gap:2px;height:3.2rem;border-radius:.5rem;overflow:hidden;background:var(--surface);border:1px solid var(--line)}.timeline-block{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 .5rem;border:0;color:var(--white);font:inherit;cursor:pointer;overflow:hidden;text-align:left}.timeline-countdown{background:#3a3f47}.timeline-session{background:var(--raider-red)}.timeline-block.is-active{outline:2px solid var(--fg);outline-offset:-2px}.timeline-name{font-weight:700;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-len{font-size:.75rem;opacity:.85;white-space:nowrap}.timeline-slack{background:repeating-linear-gradient(45deg,transparent 0 6px,var(--hover) 6px 12px)}.timeline-target{position:absolute;top:0;bottom:0;width:2px;background:var(--fg)}.timeline-target.is-over{background:var(--yellow)}.timeline-totals{margin-top:.4rem;font-size:.9rem;color:var(--muted)}.timeline-totals strong{color:var(--fg)}@media(max-width:700px){.segment-outline{display:none}.timeline-bar{height:2.6rem}.timeline-len{display:none}}@media(max-width:700px){.segment-summary{display:grid;grid-template-columns:1rem 1fr;grid-template-rows:auto auto;column-gap:.5rem;row-gap:.1rem;align-items:center}.segment-chevron{grid-row:1 / 3}.segment-kind{font-size:.7rem;letter-spacing:.12em}.segment-kind:before{content:counter(segment) " · "}.segment-title{white-space:normal;font-size:1rem}.segment-length{font-size:.9rem}.segment-title,.segment-length{grid-column:2}.segment-title{display:inline}.segment-length:before{content:""}.segment-head{gap:.5rem}}.box-pct{display:block;font-size:6cqh;letter-spacing:.08em;opacity:.95}.box-note{margin:0;font-size:4.2cqh;font-weight:400;line-height:1.2;opacity:.9;max-width:92%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.box-note-input.box-reps-none{display:none}.toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{width:1.1rem;height:1.1rem;accent-color:var(--raider-red)}.start-toggle{font-size:1.9vh;margin-top:1.5vh;letter-spacing:.05em}.start-toggle input{width:2.2vh;height:2.2vh}.help-toggle{margin-top:0}.builder .row{margin-top:.75rem}.plan{margin-bottom:2rem}.today{border:1px solid var(--line);border-left:.5rem solid var(--gray);border-radius:.6rem;background:var(--surface);padding:1rem 1.25rem;margin-bottom:1rem}.today.kind-upper,.today.kind-lower{border-left-color:var(--raider-red)}.today-label{font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--raider-red)}.today-name{font-size:1.6rem;font-weight:700;margin-top:.2rem}.today-off{color:var(--muted);font-size:1.2rem}.today-meta{color:var(--muted);font-size:.9rem;margin-top:.2rem}.today-note{color:var(--muted);font-style:italic;margin-top:.4rem}.today .workout-buttons{justify-content:flex-start;margin-top:.8rem}.week-head{display:flex;align-items:center;gap:.75rem;margin:.5rem 0}.week-title{font-weight:700;letter-spacing:.08em;font-size:.85rem;color:var(--muted);display:inline-flex;gap:.75rem;align-items:center}.week{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.week-day{border:1px solid var(--line);border-top:.3rem solid var(--gray);border-radius:.5rem;padding:.6rem .7rem;background:var(--surface);min-height:7rem;display:flex;flex-direction:column;gap:.25rem}.week-day.kind-upper,.week-day.kind-lower{border-top-color:var(--raider-red)}.week-day.is-today{outline:2px solid var(--fg);outline-offset:-2px}.week-date{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--muted)}.week-name{font-weight:700;line-height:1.2}.week-meta,.week-off{color:var(--muted);font-size:.85rem}.week-buttons{margin-top:auto;display:flex;gap:.4rem}.section-title{font-size:.85rem;letter-spacing:.2em;color:var(--muted);margin:0 0 .75rem}.tag{display:inline-block;margin-left:.6rem;font-size:.7rem;letter-spacing:.1em;padding:.1rem .45rem;border:1px solid var(--gray);border-radius:.3rem;color:var(--muted);vertical-align:middle}.start-plan{font-size:2vh;letter-spacing:.2em;color:var(--muted);margin:.4vh 0 0}@media(max-width:700px){.week{grid-template-columns:1fr}.week-day{min-height:0}}.topbar-dots{display:inline-flex;gap:.35vw;margin-left:.8vw;align-items:center}.topbar-dots i{width:1.1vh;height:1.1vh;border-radius:50%;border:1px solid var(--muted);opacity:.6}.topbar-dots i.is-done{background:var(--fg);border-color:var(--fg);opacity:1}.countdown-text{max-width:48vw}.routine{list-style:none;margin:1vh 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6vh 3vw;text-align:left;font-size:3.4vh;font-weight:700;letter-spacing:.02em;color:var(--muted)}.routine.is-long{font-size:2.8vh}.routine li{padding:.4vh 1vw;border-radius:.8vh;border-left:.5vh solid transparent}.routine li.is-done{opacity:.4;text-decoration:line-through}.routine li.is-current{color:var(--fg);background:#bc273a40;border-left-color:var(--raider-red)}.routine-hold{color:var(--raider-red);font-weight:400}.countdown:has(.routine) .big-time{font-size:18vh}.countdown:has(.routine) .phase-word{font-size:6vh}.items-field textarea{font:inherit;font-size:1rem;font-weight:400;letter-spacing:normal;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-radius:.4rem;padding:.5rem .65rem;resize:vertical}@media(max-width:700px){.items-field textarea{font-size:16px}}.timeline-buffer{min-width:0;display:flex;align-items:center;padding:0 .4rem;background:repeating-linear-gradient(45deg,var(--stripe-a) 0 6px,var(--stripe-b) 6px 12px);color:var(--muted);overflow:hidden}.buffers{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:-.5rem 0 1rem;font-size:.85rem;color:var(--muted)}.buffers label{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;letter-spacing:.05em}.buffers input{font:inherit;width:3.5rem;text-align:center;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-radius:.4rem;padding:.3rem .4rem}.buffers .hint{margin:0;font-weight:400}.fit{border:1px solid var(--raider-red);background:#bc273a1a;border-radius:.6rem;padding:.75rem 1rem .9rem;margin-bottom:1rem}.fit-title{font-weight:700;letter-spacing:.15em;font-size:.8rem;color:var(--raider-red);margin-bottom:.5rem}.fit-list{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.4rem}.fit-option{width:100%;text-align:left;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:.55rem .8rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer}.fit-option:hover{border-color:var(--fg)}.fit-option-title{font-weight:700;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.fit-saves{font-weight:700;color:var(--muted);white-space:nowrap}.fit-saves.is-fit{color:var(--green);filter:brightness(1.6)}.fit-option-detail{color:var(--muted);font-size:.85rem}.guide{max-width:64rem;margin:0 auto;font-size:1.05rem;line-height:1.55}.guide-lead{font-size:1.25rem;color:var(--muted);margin:0 0 1.5rem}.guide-section{padding:1rem 1.25rem;border:1px solid var(--line);border-left:.35rem solid var(--raider-red);border-radius:.6rem;background:var(--surface);margin-bottom:1rem}.guide-section h2{margin:0 0 .6rem;font-size:1.2rem;letter-spacing:.04em}.guide-section p{margin:0 0 .6rem}.guide-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}.guide-split{display:grid;grid-template-columns:1fr 28rem;gap:1.5rem;align-items:start}.guide-preview{height:20rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg)}.guide-preview .box-grid{width:100%;height:100%}.guide-demo{border-left-color:var(--fg)}@media(max-width:900px){.guide-split{grid-template-columns:1fr}.guide-preview{height:18rem}}@media(max-height:500px)and (orientation:landscape){.guide .page-header{padding-bottom:.5rem;margin-bottom:.75rem}.guide .page-logo{height:48px}.guide .page-brand{display:none}.guide{font-size:.95rem}}.board-editor{margin-top:1rem;display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.board-editor.has-panel{grid-template-columns:minmax(0,1fr) 22rem}.editor-stage{min-width:0}.editor-grid{width:100%;height:min(60vh,calc(var(--rows) * (100% / var(--cols)) + 2rem));--gap: .8rem;position:relative}.editor-grid.cols-2{height:min(60vh,56vw)}.board-editor.has-panel .editor-grid.cols-2{height:min(60vh,44vw)}.editor-hint{text-align:center}.box.ebox{cursor:grab;-webkit-user-select:none;user-select:none}.box.ebox.is-selected{outline:.6cqh solid var(--fg);outline-offset:.6cqh}.box.ebox.is-lifted{opacity:.25;border-style:dashed;cursor:grabbing}.rotation-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:2.2rem;line-height:1;color:var(--raider-red);background:var(--bg);border:1px solid var(--line);border-radius:50%;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.drag-ghost{position:fixed;width:11rem;height:11rem;--rows: 1;--cols: 1;--gap: 0px;transform:translate(-50%,-50%) scale(1.06) rotate(-2deg);pointer-events:none;z-index:50;filter:drop-shadow(0 1rem 1.5rem rgba(0,0,0,.7));container-type:size}.drag-ghost>.box{width:100%;height:100%}.box-panel-editor{border:1px solid var(--line);border-radius:.6rem;background:var(--surface);padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.8rem;position:sticky;top:.5rem}.box-panel-head{display:flex;align-items:center;gap:.6rem}.box-panel-head strong{flex:1}.type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.type-buttons .btn.is-active{background:var(--raider-red);border-color:var(--raider-red);color:var(--white)}.box-panel-editor .field input{width:100%}@media(max-width:900px){.board-editor.has-panel{grid-template-columns:1fr}.board-editor.has-panel .editor-grid.cols-2{height:min(60vh,56vw)}.box-panel-editor{position:static}}@media(max-width:700px){.editor-grid{height:calc(var(--rows) * (100vw / var(--cols)) - 1rem)}.editor-grid.cols-2,.board-editor.has-panel .editor-grid.cols-2{height:calc(var(--rows) * 46vw + 1rem)}.drag-ghost{width:8rem;height:8rem}}.guide-caption{margin:.75rem 0 0;color:var(--muted)}.guide-caption code{color:var(--fg);background:var(--hover);padding:0 .3rem;border-radius:.25rem}.mini-board{display:grid;grid-template-columns:12rem 1fr;gap:1rem;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:.6rem;padding:.75rem}.mini-timer{display:flex;flex-direction:column;align-items:center;gap:.4rem}.mini-phase{font-size:.9rem;font-weight:700;letter-spacing:.18em}.mini-time{font-size:2rem;font-weight:700;line-height:1}.phase-rest .mini-phase,.phase-rest .mini-time{color:var(--raider-red)}.mini-rotate{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--raider-red);display:flex;align-items:center;gap:.3rem}.mini-arrow{font-size:1.4rem;margin:0}.mini-grid{height:20rem}.mini-grid .box-grid{width:100%;height:100%;--gap: .5rem}.mini-caption{margin-top:.5rem;font-weight:700;color:var(--fg);min-height:1.5rem}.keycaps{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.keycap{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted);letter-spacing:.05em}.keycap kbd{font:inherit;font-weight:700;font-size:1.1rem;color:var(--fg);background:var(--field);border:1px solid var(--gray);border-bottom-width:3px;border-radius:.5rem;padding:.5rem .9rem;min-width:3.4rem;text-align:center}.guide-sounds{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}.guide-sounds .hint{margin:0;flex-basis:100%}.guide-icons{display:flex;gap:1.5rem;flex-wrap:wrap}.guide-icons>div{display:flex;align-items:center;gap:.6rem;color:var(--muted)}.guide-icon{font-size:1.8rem}.guide .plan{margin-bottom:0}.guide .editor-grid.cols-2{height:min(50vh,50vw)}@media(max-width:700px){.mini-board{grid-template-columns:1fr}.mini-grid{height:16rem}}.box-notes{display:flex;flex-direction:column;align-items:center;gap:.15em;max-width:100%}.box-notes .box-note{-webkit-line-clamp:1}.box-grid.fill>.box .box-note{font-size:min(calc(var(--box-h) * .075),9cqh);font-weight:700;opacity:.95}.box-grid.fill>.box.notes-1 .box-reps{font-size:min(calc(var(--box-h) * .27),30cqh)}.box-grid.fill>.box.notes-2 .box-reps{font-size:min(calc(var(--box-h) * .22),25cqh)}.box-grid.fill>.box.notes-3 .box-reps{font-size:min(calc(var(--box-h) * .18),21cqh)}.board-editor{margin-top:1rem}.ecards-hint{margin:0 0 .5rem}.ecards{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:.75rem}.ecard{grid-row:var(--row);grid-column:var(--col);min-width:0;display:flex;flex-direction:column;gap:.5rem;padding:.55rem .75rem .8rem;border-radius:.6rem;border:2px solid transparent}.ecard.color-White{border:4px solid var(--black)}:root[data-theme=dark] .ecard.color-Black{border-color:var(--silver)}.ecard.is-lifted{opacity:.3;border-style:dashed;border-color:currentColor}.ecard-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;cursor:grab;-webkit-user-select:none;user-select:none}.ecard-head .drag-handle{color:inherit;opacity:.85}.ecard-color{font-weight:700;font-size:.8rem;letter-spacing:.15em}.ecard-types{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.ecard-type,.ecard-mini{font:inherit;font-weight:700;color:inherit;background:transparent;border:1px solid currentColor;opacity:.75;cursor:pointer}.ecard-type{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.ecard-mini{width:2.1rem;height:2.1rem;border-radius:50%;flex:none}.ecard-type.is-active,.ecard-mini.is-active{opacity:1;background:var(--white);color:var(--black);border-color:var(--white)}.ecard.color-White .ecard-type.is-active,.ecard.color-White .ecard-mini.is-active,.ecard.color-Yellow .ecard-type.is-active,.ecard.color-Yellow .ecard-mini.is-active{background:var(--black);color:var(--white);border-color:var(--black)}.ecard input{font:inherit;color:var(--black);background:var(--white);border:1px solid rgba(10,10,10,.35);border-radius:.4rem;padding:.4rem .55rem;min-width:0}.ecard.color-White input{background:#f3f4f6}.ecard input:focus{outline:2px solid var(--black);box-shadow:0 0 0 4px var(--white)}.ecard-name{width:100%;font-size:1.1rem;font-weight:700}.ecard-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ecard-label{width:2.6rem;flex:none;font-size:.75rem;font-weight:700;letter-spacing:.1em}.ecard-cells{display:flex;flex-wrap:wrap;gap:.3rem}.ecard .ecard-cell{width:2.9rem;text-align:center;font-weight:700;padding-inline:.2rem}.ecard-note{width:100%;font-size:.95rem}.ecard-rest{margin:0;font-style:italic;opacity:.85}@media(max-width:700px){.ecards{grid-template-columns:1fr}.ecard{grid-row:auto;grid-column:auto}.ecard input{min-height:44px;font-size:16px}.ecard .ecard-cell{width:3.1rem}.ecard-type{min-height:34px;font-size:.8rem}.ecard-mini{width:2.75rem;height:2.75rem}.ecard-types{margin-left:0;flex-basis:100%}}.box.notes-1 .box-notes .box-note{-webkit-line-clamp:2}.box-grid.fill>.box.title-long .box-title{font-size:min(calc(var(--box-h) * .12),16cqh,10cqw);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.box-grid.fill>.box.notes-1 .box-note{font-size:min(calc(var(--box-h) * .065),8cqh)}.box-grid.fill>.box.notes-1 .box-reps{font-size:min(calc(var(--box-h) * .24),27cqh)}.box-grid.fill>.box-tile{--size: calc((100cqh - var(--gap) * (var(--rows) + 1)) / var(--rows));position:relative;z-index:0;border-radius:calc(var(--size) * .025);transform-origin:0 0}.box-grid.fill>.box{position:relative;z-index:1;background:transparent;border-color:transparent}.box-tile.tile-Red{background:var(--raider-red)}.box-tile.tile-Gray{background:var(--gray)}.box-tile.tile-Black{background:var(--black)}:root[data-theme=dark] .box-tile.tile-Black{box-shadow:inset 0 0 0 calc(var(--size) * .012) var(--silver)}.box-tile.tile-White{background:var(--white);box-shadow:inset 0 0 0 calc(var(--size) * .03) var(--black)}.box-tile.tile-Blue{background:var(--blue)}.box-tile.tile-Green{background:var(--green)}.box-tile.tile-Yellow{background:var(--yellow)}.box-grid.fill.is-sliding>.box{animation:color-swap .9s ease-in-out}@keyframes color-swap{0%,55%{opacity:.06}to{opacity:1}}@media(prefers-reduced-motion:reduce){.box-grid.fill.is-sliding>.box{animation:none}}.mini-board{display:block;padding:0;overflow:hidden;container-type:inline-size;background:var(--bg)}.mini-board>.mini-session{width:100%;aspect-ratio:16 / 9;--dial: 20cqw}@media(max-width:700px){.mini-board{display:block}}.mini-board .box-grid.fill>.box{--box-h: calc(var(--size) * .86)}.demo-note{margin:0 0 16px;padding:10px 14px;border-left:4px solid #0f4c3a;background:#eef3f0;color:#1b1b1f;font-size:14px;line-height:1.4;border-radius:4px}
