/* One phone layout at every viewport width. */
html{min-width:320px;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:100px;scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{min-height:100dvh}
#app{width:100%;max-width:430px;min-height:100dvh;margin-inline:auto;background:var(--bg)}
main{width:100%;min-width:0;margin:0;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
.content{width:100%;max-width:none;padding:24px max(18px,env(safe-area-inset-left)) 0}
header{height:auto;min-height:56px;padding:calc(16px + env(safe-area-inset-top)) 18px 16px;gap:8px;font-size:11px}
header>span:first-child{min-width:0;white-space:nowrap}
.header-right{font-size:8px;flex-shrink:0}
header b{margin-inline:5px}
aside.bottom-navigation{position:fixed;inset:auto auto 0 50%;transform:translateX(-50%);width:min(100%,430px);height:auto;max-width:430px;padding:5px max(5px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--sidebar);z-index:40}
.bottom-navigation nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0}
.bottom-navigation nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:56px;gap:5px;padding:8px 0;border:0;border-radius:6px}
.bottom-navigation nav button span{display:block;font-size:8px;line-height:1.3;white-space:nowrap}
.bottom-navigation nav button svg{width:20px;height:20px}
.bottom-navigation nav button i,.workspace,.sidebar-bottom,.brand{display:none}
.home-columns,.home-overview,.workout-columns,.menu-cards,.stats-columns,.settings-grid{grid-template-columns:minmax(0,1fr)}
.home-overview,.settings-grid{display:block}
.home-columns{gap:26px}.menu-cards{gap:0}.stats-columns{gap:0}
:is(input:not([type=checkbox]),select){font-size:16px!important}
input[type=checkbox]{flex-shrink:0}
button,select,.file-button,.exercise-menu summary{touch-action:manipulation}
.primary,.add-exercise,.optional-actions button,.tool-buttons button,.round-tabs button,.menu-apply button,.setting-row button,.file-button,.presets button,.round-heading button,.round-success button,.custom-duration button{min-height:44px}
.exercise-menu summary{min-width:44px;min-height:44px;display:grid;place-items:center;padding:8px}
.exercise-menu button{min-height:44px}
.exercise-menu>div{top:44px;width:136px}
.tool-card{padding:20px}.tool-buttons button{font-size:12px}
.mobile-session{display:flex;position:sticky;top:0;z-index:15;gap:10px;margin:0 0 24px;padding:8px 0;background:var(--bg)}
.mobile-session>div{gap:6px}.mobile-session button{width:44px;height:44px}
.mobile-session time{font-size:11px}.mobile-session>a{font-size:10px;min-height:44px;display:flex;align-items:center}
.record-format{gap:8px}.record-format select{max-width:205px;min-width:0}
.day-switch{gap:10px}.day-switch select{max-width:200px;min-width:0}
.set-exercises .set-actuals input[type=number]{min-height:44px;height:44px;width:44px}
.set-exercises .set-row{gap:5px}.set-actuals{gap:4px}
.set-actions button{min-width:28px;min-height:44px;padding:4px}
.circuit-actual input{min-height:44px}
.menu-format{flex-wrap:wrap}.menu-format select{max-width:100%;min-width:0}
.week-grid{grid-template-columns:minmax(0,1fr)}
.week-day{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:12px}
.week-day>div{display:grid;gap:4px;width:auto;justify-content:start}
.week-day select{width:100%;min-width:0;min-height:44px}
.week-type{display:none}
.menu-ex>div{min-width:0}.menu-ex strong{overflow-wrap:anywhere;font-size:12px}
.menu-ex button{min-height:44px;min-width:28px;padding:5px}
.heat-heading{gap:8px}.heat-heading h2{font-size:13px}
.heat-tabs{gap:12px}.heat-tabs button{font-size:12px;min-height:44px}
.heat-footer{flex-wrap:wrap}.legend{gap:3px}
.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat{padding-left:20px}.stat>span{font-size:11px}.stat>small{font-size:10px}
.preview-exercises>div{gap:8px}.preview-exercises strong{font-size:12px;min-width:0}
.preview-exercises small{font-size:10px;white-space:normal;text-align:right;flex-shrink:0;max-width:45%}
.panel{min-width:0;padding:18px}
.today-preview .section-heading>.muted{font-size:9px}
.progression-body>.section-heading{flex-direction:column;align-items:flex-start}
dialog{width:min(390px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:24px;overscroll-behavior:contain}
dialog form :is(input,select){min-height:44px}
dialog form input[type=checkbox]{min-height:18px}
.dialog-close{min-width:44px;min-height:44px;padding:4px}
#toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:min(390px,calc(100vw - 24px));font-size:12px}
footer{padding:20px 0;margin-top:26px}
