/* Shared PPG scale; live screen dimensions stay responsive to participant count. */
@font-face{font-family:Oswald;src:url('/fonts/oswald-latin-wght-normal.woff2') format('woff2');font-weight:200 700;font-display:swap}
@font-face{font-family:Oswald;src:url('/fonts/oswald-latin-ext-wght-normal.woff2') format('woff2');font-weight:200 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+2020}
@font-face{font-family:'Plus Jakarta Sans';src:url('/fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+2020}
:root{--font-text:'Plus Jakarta Sans',Arial,sans-serif;--font-heading:Oswald,Arial,sans-serif;--type-page:28px;--type-section:22px;--type-subsection:18px;--type-body:13px;--type-label:12px;--type-meta:11px;--type-control:13px;--type-input:14px;--type-table:12px;--type-table-head:11px}
body{font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.5;letter-spacing:0}
h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.25;letter-spacing:0}h1{font-size:var(--type-page)}h2{font-size:var(--type-section)}h3{font-size:var(--type-subsection)}
button,input,select,textarea,summary{font-family:var(--font-text);letter-spacing:0}button,summary,.tabs button,nav button,.gear-link,.engine-account button{font-size:var(--type-control);font-weight:600;line-height:1.4}
input,select,textarea,.station-head select{font-size:var(--type-input);font-weight:400;line-height:1.5}
label{font-size:var(--type-label);font-weight:400;line-height:1.5}p,li,.note,.checks,.empty,.hint,.error,#customError,#gearError,#toast,.inventory-note{font-size:var(--type-body);font-weight:400;line-height:1.5}
small,.muted,.eyebrow,.version,.aside-label,.aside-bottom,.aside-bottom small,.cue,.badge,.stat small,.stat em,.stat a,.num,nav button span,footer,.inventory-heading small,.weight-item>span,.weight-item strong span,#soundStatus,.engine-account,header p,.rotation-details summary span{font-family:var(--font-text);font-size:var(--type-meta);font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}
b,strong{font-weight:600}.crumb{font-size:var(--type-control);font-weight:600;line-height:1.4}.intro p,.exercise p{font-size:var(--type-body);line-height:1.5}
.brand>span{font-family:var(--font-heading);font-size:40px;font-weight:500;line-height:1.1;letter-spacing:0}.brand small{font-family:var(--font-heading);font-size:18px;font-weight:500;letter-spacing:0}.stat strong{font-family:var(--font-heading);font-size:22px;font-weight:500;line-height:1.25}.weight-item strong{font-size:var(--type-body)}
table,td{font-family:var(--font-text);font-size:var(--type-table);line-height:1.5}th{font-size:var(--type-table-head);font-weight:600;line-height:1.5;letter-spacing:0}
#clock,#phase,.elapsed-panel strong,.screen-exercise strong,.screen-group strong,#orderDialog .order-current{font-family:var(--font-heading);font-weight:500;font-variant-numeric:tabular-nums}
#phase{line-height:1.25;letter-spacing:0;text-transform:none}.elapsed-panel strong{line-height:1.2}
.training-screen :is(button,select,input,label,.sound-settings label){font-family:var(--font-text);font-weight:400}.training-screen button{font-weight:600}
.training-screen .screen-person .screen-person-name{font-family:var(--font-text);font-weight:600;letter-spacing:0}.training-screen .screen-person .screen-person-count{font-weight:400}.screen-order li b{font-weight:600}
.rotation-details summary::before{font-family:var(--font-text);font-size:20px;font-weight:600;line-height:1}
@media(max-width:740px){:root{--type-page:26px;--type-body:14px;--type-label:13px;--type-meta:12px;--type-control:14px;--type-input:16px;--type-table:14px;--type-table-head:12px}.brand>span{font-size:28px}body:not(.training-screen-open) button{min-height:44px}.fields input,.fields select{height:44px}input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),select{min-height:44px}main>header{height:auto;min-height:66px;padding-block:12px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.fields{grid-template-columns:minmax(0,1fr)}}
.stat .stat-unit{font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.5}
/* Live captions share a scale while the clock and exercise names keep their adaptive sizes. */
.training-screen .screen-order-label,.training-screen .screen-person .screen-person-count,.training-screen #screenExercises .screen-exercise small{font-family:var(--font-text);font-size:12px;font-weight:400;letter-spacing:0}

/* Explicit monochrome disclosure controls, including Safari on iOS. */
summary{list-style:none}
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
summary::before{content:'+';display:inline-block;width:1em;margin-right:.4em;font-family:inherit;font-size:1em;font-weight:600;line-height:1;text-align:center}
details[open]>summary::before{content:'→'}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .65em center!important;background-size:12px 8px!important;padding-right:2em!important}
select[multiple],select[size]:not([size='1']){background-image:none!important;padding-right:.65em!important}

.rotation-details summary::before{content:"+";font-size:1em;margin-right:0}.rotation-details[open]>summary::before{content:"→"}

.station-detail label.unit-field{width:90px}
