
.workout-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto 24px;max-width:760px}.workout-actions button{flex:1 1 140px}
.workspace{display:block;max-width:760px;margin:auto}.editor{display:contents}aside{position:static!important}.preview{padding:30px}.preview-time{font-size:clamp(72px,12vw,108px)}
.edit-panel{width:min(800px,94vw);max-height:90dvh;padding:0;overflow:auto}.edit-panel[open]{display:block}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:2;padding:18px 22px;background:white;border-bottom:1px solid var(--line)}.panel-heading button{flex:0 0 auto;background:var(--work);color:var(--ink);border-radius:9px;padding:12px 20px;font-weight:700}.edit-panel .card{border:0;margin:0;border-radius:0}.break-settings{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.edit-panel .step,.edit-panel .tiny{display:none}.edit-panel .sound-card{margin-top:0}.edit-panel .section-title{margin-bottom:14px}
.quick-launch{display:none!important}footer{padding-bottom:25px}.offline-note{margin-top:16px}.runtrak-promo{max-width:760px;margin-left:auto;margin-right:auto}.app-version .runtrak-promo{display:none}
.up-next{font-size:clamp(24px,3.5vw,48px);font-weight:700;line-height:1.2;color:#edf2fc;max-width:100%;margin-top:12px}.run-center{gap:2px}.countdown{font-size:clamp(80px,min(21vw,26vh),260px)}
@media(max-width:550px){main{padding-top:20px}.workout-actions{gap:8px;margin-bottom:18px}.workout-actions button{flex-basis:40%;font-size:14px}.preview{padding:24px}.up-next{font-size:clamp(24px,6vw,32px)}.countdown{font-size:23vw}.run-center h1{font-size:29px}.edit-panel .card{padding:18px}.panel-heading{padding:14px 18px}}
@media(max-height:550px) and (orientation:landscape){.up-next{font-size:22px;margin-top:4px}.countdown{font-size:19vh}.run-center h1{font-size:22px;margin-top:6px}}

.editor-buttons{display:flex;gap:8px}.editor-buttons #save-editor{background:var(--ink);color:white}.edit-panel .card+.card{border-top:1px solid var(--line)}
@media(max-width:550px){.panel-heading h2{font-size:17px}.editor-buttons button{padding:10px;font-size:12px}}

/* Dialog children inherit flex layout from the original confirmation dialogs. */
.edit-panel>.card{display:block}.edit-panel .section-title{display:flex}.edit-panel .name-label{display:block;width:100%}
#save-status{display:block;margin:0;padding:0 24px;color:#345709;font-size:14px;font-weight:700}#save-status:not(:empty){padding-top:16px;padding-bottom:4px}
.saved-exercises{display:block;font-size:14px;line-height:1.6;color:#414b5a;margin-top:10px;overflow-wrap:anywhere}.saved-item .load{min-width:0}.saved-card .section-title{display:none}
.saved-item .delete{flex:0 0 auto;align-self:flex-start;min-width:64px;padding:10px}.saved-item{align-items:flex-start}.saved-item .load{flex:1 1 0}.saved-exercises{font-size:13px}.saved-item small{line-height:1.5}
header{min-height:62px;padding-top:8px;padding-bottom:8px}.brand{font-size:26px;min-height:40px;letter-spacing:-1.3px}.mark{width:30px;height:30px;font-size:25px;border-radius:9px;margin-right:6px}.preview-top{gap:16px;letter-spacing:normal}.preview-top #preview-name{font-size:24px;font-weight:700;color:#f5f7fb;margin:0;line-height:1.25}.preview-label{display:block;margin-bottom:24px}@media(max-width:550px){header{min-height:58px}.brand{font-size:25px}.mark{width:28px;height:28px;font-size:24px}.preview-top #preview-name{font-size:24px}}

.session-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch;margin-top:27px}.session-actions .start{margin:0}.menu-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:60px;padding:14px 20px;background:#242a34;color:#f5f7fb;border:1px solid #485365;border-radius:11px;font-weight:700;font-size:15px}
.workout-menu{width:min(480px,94vw)}.workout-menu .workout-actions{display:grid;grid-template-columns:1fr;margin:0;padding:20px;gap:10px}.workout-menu .workout-actions button{text-align:left;padding:16px 18px;min-height:56px}
@media(max-width:550px){.session-actions{grid-template-columns:1fr;gap:10px}.menu-button{min-height:50px}.session-actions .start{min-height:60px}}

/* A single app surface, with secondary information inside the menu. */
body{background:#101216}main#builder{max-width:none;padding:0}.workspace{max-width:none;margin:0}.preview{min-height:100dvh;border-radius:0;border-top-width:4px;padding:clamp(18px,4vw,46px);display:flex;flex-direction:column;overflow:visible}
.card-brand{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:clamp(20px,4vh,40px)}.card-brand .brand{color:#f5f7fb;font-size:24px;min-height:32px}.card-brand .mark{width:27px;height:27px;font-size:24px;color:#101216}.card-brand .brand-dot{color:var(--work)}.card-brand .local{color:#9ca9bb;font-size:11px}.card-brand .local i{background:var(--work);width:5px;height:5px}
.preview-top .pulse-icon{display:none}.preview-top #preview-name{font-size:24px}.preview-time{font-size:clamp(80px,min(17vw,23vh),180px);line-height:1.1;margin-top:auto;padding-top:22px}.preview-label{margin-top:8px;margin-bottom:clamp(20px,4vh,40px)}.metrics{max-width:100%;gap:18px}.metrics strong{font-size:clamp(24px,4vw,34px)}.timeline{flex-shrink:0;margin-top:clamp(24px,5vh,48px)}.legend{margin-bottom:26px}.session-actions{margin-top:auto;padding-top:20px}.menu-info{display:block;padding:0 20px 20px}.menu-info .offline-note{padding:0;margin:0;font-size:11px}.menu-info footer{display:block;margin-top:16px;padding:14px 0 0;font-size:9px}.menu-info footer span{display:block;margin-top:8px}.runtrak-promo{margin:24px}
@media(max-width:550px){.preview{padding:18px 20px max(20px,env(safe-area-inset-bottom));min-height:100dvh}.card-brand{margin-bottom:22px}.card-brand .local{font-size:10px}.preview-time{font-size:clamp(80px,22vw,125px)}.session-actions{grid-template-columns:1fr}.legend{margin-bottom:16px}}
@media(max-height:550px) and (min-width:551px){.preview{padding:14px 28px}.card-brand{margin-bottom:12px}.preview-time{font-size:76px;padding-top:10px}.preview-label{margin-bottom:14px}.timeline{margin-top:18px}.legend{margin-bottom:8px}.session-actions{padding-top:12px}}
@media(max-height:650px) and (max-width:550px){.preview{padding:12px 18px 14px}.card-brand{margin-bottom:14px}.card-brand .brand{font-size:21px;min-height:28px}.card-brand .mark{width:24px;height:24px;font-size:22px}.preview-top #preview-name{font-size:22px}.preview-time{font-size:76px;padding-top:14px}.preview-label{margin-top:4px;margin-bottom:18px;font-size:9px}.metrics strong{font-size:24px}.metrics span{margin-top:4px;font-size:10px}.timeline{height:18px;margin-top:20px;margin-bottom:10px}.legend{font-size:10px;margin-bottom:10px}.session-actions{padding-top:12px;gap:8px}.session-actions .start{min-height:50px;padding:12px 16px;font-size:16px}.menu-button{min-height:44px;padding:10px 16px;font-size:14px}}

.native-options{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.native-options h3{margin-top:18px}.transport{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.transport button{border-radius:9px;background:#eff2f6;color:var(--ink)}

/* Compact IntervalTrak branding on narrow phone screens. */
.card-brand .brand{font-size:22px;letter-spacing:-.8px}.run-brand{font-size:18px}.run-brand small{font-size:10px}@media(max-width:420px){.card-brand .brand{font-size:19px}.run-brand small{display:none}.run-top{gap:8px}.run-top #run-position{font-size:11px}}
@media(max-width:550px){.run-top{display:grid;grid-template-columns:1fr auto;flex-shrink:0}.run-top #run-position{grid-column:1/-1;grid-row:2;width:auto;order:initial}.run-top>div{grid-column:2;grid-row:1}}
@media(max-width:550px) and (max-height:600px){#runner{min-height:440px;padding-top:12px;padding-bottom:12px}.run-center{padding:8px 0}.phase{font-size:12px;padding:6px 18px}.run-center h1{font-size:24px;margin-top:8px}.countdown{font-size:clamp(64px,20vw,100px)}.up-next{font-size:22px;margin-top:6px}.paused-label{font-size:10px;min-height:14px;margin-top:4px}.run-controls{gap:7px}.run-controls button{min-height:48px;padding:10px 7px}.run-controls #end{min-height:42px}.run-progress{margin-bottom:10px}}

/* App screens occupy the viewport; confirmation dialogs remain compact. */
dialog.edit-panel{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;box-sizing:border-box;overscroll-behavior:contain;background:#fff}
body:has(dialog.edit-panel[open]){overflow:hidden}
.edit-panel .panel-heading{padding:calc(14px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left))}
.edit-panel>.card,.workout-menu>.workout-actions,.workout-menu>.menu-info{width:100%;max-width:900px;margin-inline:auto;box-sizing:border-box}
.edit-panel>.card:last-child{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.edit-panel .exercise{scroll-margin-top:110px}
.edit-saved-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;width:100%;margin:0 0 12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc;color:var(--ink)}
.edit-saved-item small,.edit-saved-item span{color:var(--muted);font-size:13px;line-height:1.5}
.edit-saved-item:focus-visible{outline:3px solid var(--work);outline-offset:2px}

.workout-browser{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 18px;touch-action:pan-y}
.workout-browser[hidden]{display:none}.workout-browser button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #404957;border-radius:50%;background:transparent;color:var(--work);font-size:30px;line-height:1}
.workout-browser span{min-width:130px;text-align:center;font-size:12px;color:#c6cfdd}.preview{touch-action:pan-y}
