@font-face{font-family:Archivo;src:url('/static/assets/archivo.woff2') format('woff2');font-display:swap;font-weight:400 900}
@font-face{font-family:Barlow;src:url('/static/assets/barlow-semibold.woff2') format('woff2');font-display:swap;font-weight:400 600}
@font-face{font-family:Barlow;src:url('/static/assets/barlow-bold.woff2') format('woff2');font-display:swap;font-weight:700 900}
:root{color-scheme:dark;--bg:#0B2E26;--panel:#103A30;--line:#245648;--muted:#A9C2BB;--yellow:#E3B505;--blue:#7FB0F5;--mint:#7EE0A8}
*{box-sizing:border-box}body{margin:0;background:#071f19;color:white;font-family:Barlow,'Arial Narrow',sans-serif;font-size:18px}button,input{font:600 16px system-ui,sans-serif}button{border:1px solid #3b6256;background:#163b30;color:white;padding:11px 15px;border-radius:5px;cursor:pointer;white-space:nowrap}button:hover{background:#235343}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button.primary{color:#09251d;background:var(--yellow);border-color:var(--yellow)}button.primary:hover{background:#f3c725}.toolbar{padding:15px 28px;display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-right:auto;font-family:Archivo;font-size:18px;letter-spacing:.5px}.brand img{width:55px;height:49px;object-fit:contain;background:#fff;border-radius:3px}.brand-sub{display:block;font:600 12px system-ui;letter-spacing:2.5px;margin-top:4px;color:var(--muted)}.date-controls,.tools{display:flex;align-items:center;gap:7px}.date-controls input{padding:10px;border:1px solid #3b6256;border-radius:5px;background:transparent;color:white;max-width:170px}.date-controls>button:first-child,.date-controls>button:nth-child(4){font-size:24px;padding:4px 14px}.tools{gap:10px}.session-bar,.view-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;gap:16px}.session-bar{background:#0c2a22;border-bottom:1px solid var(--line)}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tabs button{border-color:transparent;color:var(--muted);background:transparent}.tabs button.active{color:#102c23;background:var(--mint)}.view-bar .tabs button{padding:7px 13px;font-size:14px}.view-bar .tabs button.active{background:#254a3e;color:#fff;border-color:#4b7464}.quiet{border:0;background:transparent;color:var(--muted);font-size:14px}#source-status{font:500 13px system-ui;color:var(--muted);text-align:right}.warning{color:#f6cb68!important}
#board{margin:0 28px;background:var(--bg);min-height:660px;border:1px solid var(--line);display:flex;flex-direction:column;outline:0}.board-heading{padding:27px 38px 24px;border-bottom:2px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.eyebrow{font-size:18px;letter-spacing:5px;color:var(--mint);text-transform:uppercase;font-weight:600}h1{font:48px/.98 Archivo,sans-serif;letter-spacing:-1px;margin:10px 0 0;overflow-wrap:anywhere}h2{font-family:Archivo;font-size:24px}h3{font-size:24px}.badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.badge{background:var(--yellow);color:var(--bg);font:22px Archivo;padding:12px 18px;white-space:nowrap}.badge.light{background:white}.board-content{padding:26px 38px;display:grid;grid-template-columns:repeat(var(--columns,1),minmax(0,1fr));gap:22px;align-items:start;flex:1}.workout-card{border-top:7px solid var(--accent,var(--yellow));padding:23px 27px;background:var(--panel);min-width:0;overflow:visible}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px;color:var(--accent,var(--yellow));font:30px/1.15 Archivo}.card-heading small{font:600 15px Barlow;color:var(--muted)}.prescription{font-size:32px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.prescription p{margin:0 0 8px;white-space:pre-wrap}.prescription .break{height:12px;border-top:1px solid var(--line);margin:10px 0 4px}.prescription .format-line{color:var(--yellow)}.missing-level{font-size:23px;line-height:1.4;color:var(--muted)}.board-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 38px;border-top:2px solid var(--line);color:var(--muted);font-size:20px}.board-footer>img{width:69px;height:59px;object-fit:contain;background:white;border-radius:5px}.board-footer>div:first-child{display:flex;gap:20px;flex-wrap:wrap}#page-label{color:var(--yellow)}.bottom-bar{display:flex;gap:20px;justify-content:space-between;margin:15px 28px 22px;color:var(--muted);font:500 13px system-ui}.dot-separator{margin:0 10px}.screen-nav{display:none}.empty{grid-column:1/-1;text-align:center;padding:65px 20px}.empty h2{font-size:32px}.empty p{font-size:22px;color:var(--muted)}.empty button{margin-top:16px}dialog{max-width:710px;width:calc(100% - 36px);max-height:88vh;border:1px solid #4a7662;background:#10372c;color:white;border-radius:10px;padding:28px;box-shadow:0 25px 100px #0009;font-size:19px;line-height:1.5}dialog::backdrop{background:#00120ecc}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading h2{margin:0}.dialog-heading button{font-size:22px;padding:4px 12px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}dialog h3{color:var(--mint);margin-bottom:6px}dialog p{margin-top:8px}dialog li{margin-bottom:9px}summary{cursor:pointer;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 25px;background:var(--yellow);color:#07241b;border-radius:7px;box-shadow:0 8px 30px #0006;font:600 16px system-ui;z-index:20;max-width:90%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{max-width:450px}.login-card>img{width:110px;border-radius:5px}.login-card h1{font-size:37px}.login-card p{line-height:1.5;color:var(--muted)}.login-card form{display:grid;gap:12px}.login-card input{padding:14px;background:var(--panel);color:#fff;border:1px solid var(--line);border-radius:4px}
body.presenting{background:var(--bg);overflow:hidden}body.presenting .toolbar,body.presenting .session-bar,body.presenting .view-bar,body.presenting .bottom-bar{display:none}body.presenting #board{border:0;margin:0;height:100dvh;min-height:0}body.presenting .board-heading{padding:3vh 3.33vw 2vh}body.presenting .eyebrow{font-size:clamp(18px,1.46vw,32px)}body.presenting h1{font-size:clamp(34px,4.17vw,88px)}body.presenting .badge{font-size:clamp(18px,2.1vw,46px)}body.presenting .board-content{padding:2vh 3.33vw;gap:1.35vw;min-height:0;overflow:auto;align-content:start}body.presenting .workout-card{padding:2vh 1.45vw}body.presenting .card-heading{font-size:clamp(24px,2.1vw,46px)}body.presenting .prescription{font-size:clamp(24px,2.05vw,44px);line-height:1.2}body.presenting .board-footer{padding:1vh 3.33vw;font-size:clamp(18px,1.55vw,32px)}body.presenting .board-footer>img{width:5.4vw;min-width:55px;height:7vh;min-height:45px}body.presenting .screen-nav{display:flex;gap:6px;opacity:0;transition:opacity .2s}body.presenting.show-controls .screen-nav,body.presenting .screen-nav:focus-within{opacity:1}body.presenting:not(.show-controls){cursor:none}body.presenting .empty{padding:7vh 20px}.pagination-info{grid-column:1/-1;color:var(--muted);font-size:18px}.pagination-info button{margin-left:10px;padding:7px 14px}
@media(min-width:1600px){#board{min-height:760px}.prescription{font-size:36px}.board-heading h1{font-size:60px}}
@media(max-width:1000px){.toolbar{flex-wrap:wrap;padding:14px 18px;gap:12px}.brand{flex:1}.date-controls{order:3;flex-basis:100%;justify-content:center}.tools span{display:none}.session-bar,.view-bar{padding:12px 18px}.view-bar{flex-wrap:wrap}#board{margin:0 18px;min-height:600px}.board-heading{padding:24px;align-items:flex-start;flex-direction:column;gap:20px}.board-content{padding:22px;gap:14px}.workout-card{padding:20px}.prescription{font-size:27px}.card-heading{font-size:24px}.board-footer{padding:14px 24px}.bottom-bar{margin:15px 18px}.bottom-bar>span:last-child{display:none}body.presenting .board-heading{flex-direction:row;align-items:flex-end}body.presenting .prescription{font-size:24px}body.presenting .card-heading{font-size:24px}}
@media(max-width:650px){h1{font-size:35px}.brand{font-size:15px}.brand img{width:44px;height:40px}.brand-sub{font-size:12px;letter-spacing:1px}.toolbar{gap:8px}.tools{gap:5px}.tools button{padding:10px}.date-controls input{max-width:152px}.date-controls button{font-size:14px}.session-bar{align-items:flex-start;flex-direction:column;gap:2px}.session-bar .quiet{align-self:flex-end;padding:5px}.tabs button{padding:9px 10px;font-size:14px}#board{margin:0 10px}.board-content{grid-template-columns:1fr;padding:18px}.board-heading{padding:22px}.board-footer{padding:12px 18px;font-size:17px}.card-heading{font-size:25px}.prescription{font-size:28px}.badge{font-size:18px;padding:10px 14px}.help-grid{grid-template-columns:1fr;gap:0}.bottom-bar{margin-left:18px}body.presenting .board-content{grid-template-columns:1fr}body.presenting .board-heading{gap:12px;flex-wrap:wrap}body.presenting .screen-nav button{padding:7px;font-size:14px}.board-footer>div:first-child{gap:4px;flex-direction:column}}
.fullscreen-symbol{display:inline-block;width:15px;height:15px;border:2px solid currentColor;vertical-align:-2px;position:relative}.fullscreen-symbol:before{content:'';position:absolute;inset:3px -3px;background:var(--yellow)}.fullscreen-symbol:after{content:'';position:absolute;inset:-3px 3px;background:var(--yellow)}
@media(max-width:650px){.date-controls{gap:5px}.date-controls input{width:142px;max-width:142px;min-width:0;padding:10px 7px}.date-controls #today{padding:10px 8px;font-size:14px}.date-controls>button:first-child,.date-controls>button:nth-child(4){padding:4px 11px}.date-controls{flex-wrap:wrap}.brand{min-width:0}.pagination-info{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.pagination-info button{margin:0}}
.tv-context{display:none}.board-footer #scaling-status{font-size:16px;color:var(--muted)}.board-footer>div:first-child{flex-direction:column;gap:4px}.binding-row{display:grid;grid-template-columns:1fr 140px 105px;gap:12px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.binding-row small,.muted{color:var(--muted)}#key-capture-status{color:var(--yellow);min-height:28px}.remote-menu{width:min(900px,90vw);max-width:900px}#remote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#remote-options button{text-align:left;display:flex;flex-direction:column;gap:7px;padding:18px;white-space:normal}#remote-options button small{font-size:14px;color:var(--muted)}#remote-options button span{font:24px Archivo}#remote-options button.active{background:var(--yellow);color:var(--bg);border-color:var(--yellow)}#remote-options button.active small{color:var(--bg)}
body.presenting .tv-context{display:flex;flex-direction:column;text-align:right;gap:5px;margin-left:auto}body.presenting .tv-context small{font:14px system-ui;color:var(--muted)}body.presenting .screen-nav{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);padding:12px;background:#09271f;border:1px solid var(--line);border-radius:7px;z-index:5}body.presenting .board-footer{position:relative}body.presenting .board-footer #scaling-status{font-size:clamp(14px,1vw,20px)}body.presenting .remote-menu{cursor:default}.card-heading small{max-width:135px;text-align:right;line-height:1.2}
@media(max-width:650px){.binding-row{grid-template-columns:1fr 90px 85px;gap:6px}.binding-row button{font-size:14px;padding:9px 6px}.binding-row small{font-size:14px}#remote-options{grid-template-columns:1fr}#remote-options button span{font-size:20px}.board-footer{flex-wrap:wrap}body.presenting .tv-context{display:none}body.presenting .screen-nav{bottom:90px;max-width:95vw;flex-wrap:wrap;width:max-content}body.presenting .board-footer #scaling-status{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Recap: each part has its own heading and three-column level table. */
.board-content.overview-content{display:flex;flex-direction:column;gap:26px;align-items:stretch}
.overview-part{flex:none;min-width:0}.overview-part-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;font:30px/1.15 Archivo;margin:0 0 12px;color:white}.overview-part-heading small{font:18px Barlow;color:var(--muted)}
.overview-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.overview-table .workout-card{padding:15px 20px;border-top-width:5px}.overview-table .card-heading{font-size:23px;margin-bottom:12px}.overview-table .prescription{font-size:25px;line-height:1.18}.overview-table .prescription p{margin-bottom:5px}.overview-table .prescription p:last-child{margin-bottom:0}
.overview-board .board-heading{padding-top:22px;padding-bottom:20px}.overview-board .board-heading h1{font-size:40px}
body.presenting .overview-board .board-heading{padding:2vh 3.33vw 1.6vh}body.presenting .overview-board h1{font-size:clamp(30px,2.3vw,48px)}
body.presenting .overview-content{gap:2.2vh}body.presenting .overview-part-heading{font-size:clamp(24px,1.8vw,38px);margin-bottom:1vh}
body.presenting .overview-table{gap:1.35vw}body.presenting .overview-table .workout-card{padding:1.2vh 1.2vw}body.presenting .overview-table .card-heading{font-size:clamp(20px,1.35vw,30px);margin-bottom:1vh}body.presenting .overview-table .prescription{font-size:clamp(20px,1.42vw,32px);line-height:1.18}
@media(max-width:650px){.overview-table{grid-template-columns:1fr}.overview-board .board-heading h1{font-size:30px}.overview-part-heading{font-size:26px}.overview-table .prescription{font-size:24px}.overview-table .workout-card{padding:18px}}
.view-actions{display:flex;align-items:center;gap:16px}.view-actions #edit-display{padding:7px 16px;font-size:14px}
.board-footer #manual-status{font:600 14px system-ui;color:var(--mint)}#manual-status:empty{display:none}
.edit-dialog{width:min(1180px,94vw);max-width:1180px;cursor:default}.edit-dialog .editor-guidance{font-size:16px;color:var(--muted)}.edit-dialog #editor-context{margin-bottom:6px}.edit-dialog #editor-notice{font-size:17px;margin-top:0}
.editor-titles{display:grid;grid-template-columns:1fr 1fr;gap:20px}.editor-section{padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.editor-section>h3{margin-top:0}.editor-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px}
.editor-field-heading{display:flex;align-items:center;gap:10px;margin-bottom:7px}.editor-field-heading label{font-weight:700}.editor-field-heading small{color:var(--mint);font-size:14px}.editor-field-heading button{margin-left:auto;font-size:12px;padding:4px 8px}
.editor-field input,.editor-field textarea{width:100%;background:#092a22;border:1px solid #4b7464;border-radius:5px;padding:12px;color:white;font:18px/1.4 Barlow;resize:vertical}.editor-field textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.editor-field input::placeholder{color:var(--muted)}
.editor-actions{position:sticky;bottom:-28px;background:#10372c;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:18px 0;border-top:1px solid var(--line)}#reset-editor{margin-right:auto}#editor-error{color:#f6cb68;background:#263b26;border:1px solid #776433;padding:12px;border-radius:5px}#editor-discard{border:1px solid #776433;padding:12px;margin-bottom:12px}#editor-discard button{margin:8px 5px 0 0}
body.presenting .screen-nav{max-width:95vw;flex-wrap:wrap;width:max-content}body.presenting:has(.edit-dialog[open]){cursor:default}
@media(max-width:800px){.editor-levels,.editor-titles{grid-template-columns:1fr}.editor-levels{gap:20px}.editor-actions button{font-size:14px;padding:10px}.view-actions{flex-wrap:wrap}.edit-dialog{padding:18px}.editor-actions{bottom:-18px}}
