.gfm-app{--gfm-bg:#f5f7fa;--gfm-card:#fff;--gfm-text:#172b35;--gfm-muted:#526773;--gfm-accent:#146c61;--gfm-border:#d9e3e5;--gfm-track:#e1ece9;box-sizing:border-box;min-width:0;max-width:570px;margin:24px auto;padding:24px;background:var(--gfm-bg);color:var(--gfm-text);border:1px solid var(--gfm-border);border-radius:24px;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
.gfm-app *{box-sizing:border-box}.gfm-app [hidden]{display:none!important}.gfm-app .gfm-header{margin-bottom:24px}.gfm-app .gfm-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--gfm-accent)}.gfm-app h2{font:700 clamp(26px,6vw,34px)/1.2 system-ui,sans-serif;color:var(--gfm-text);margin:8px 0}.gfm-app p{margin:8px 0;color:var(--gfm-muted)}.gfm-app .gfm-card{padding:20px;background:var(--gfm-card);border:1px solid var(--gfm-border);border-radius:16px;margin-bottom:14px}.gfm-app .gfm-monitor{text-align:center}.gfm-app .gfm-caption{font-size:12px;color:var(--gfm-muted)}.gfm-app .gfm-hz{font-size:48px;line-height:1.6;font-weight:650;font-variant-numeric:tabular-nums}.gfm-app .gfm-hz small{font-size:17px;font-weight:400;color:var(--gfm-muted)}.gfm-app .gfm-progress{height:6px;background:var(--gfm-track);border-radius:6px;overflow:hidden}.gfm-app .gfm-progress span{display:block;height:100%;width:0;background:var(--gfm-accent);transition:width .2s linear}.gfm-app .gfm-times{display:flex;justify-content:space-between;gap:6px;margin-top:10px;color:var(--gfm-muted);font-size:12px;font-variant-numeric:tabular-nums}.gfm-app .gfm-times [role=status]{text-align:center}.gfm-app fieldset{margin:0;padding:0;border:0;min-width:0}.gfm-app fieldset:disabled{opacity:.65}.gfm-app label{display:block;color:var(--gfm-text);font-size:14px;font-weight:600;margin:0 0 8px}.gfm-app label:has(+input[type=range]){margin-top:18px}.gfm-app label output{float:right;font-weight:400;color:var(--gfm-muted)}.gfm-app select,.gfm-app input[type=number]{width:100%;min-height:46px;border:1px solid var(--gfm-border);border-radius:9px;padding:10px;background:var(--gfm-bg);color:var(--gfm-text);font:inherit}.gfm-app select{margin-bottom:8px}.gfm-app input[type=range]{width:100%;height:32px;margin:0;accent-color:var(--gfm-accent);cursor:pointer}.gfm-app button{min-height:46px;border:1px solid var(--gfm-border);border-radius:10px;padding:10px 12px;background:var(--gfm-card);color:var(--gfm-text);font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none;white-space:normal}.gfm-app button:disabled{opacity:.5;cursor:default}.gfm-app .gfm-primary{background:var(--gfm-accent);color:#fff;border-color:var(--gfm-accent)}.gfm-app button:hover:not(:disabled){filter:brightness(.95)}.gfm-app :is(button,input,select,summary):focus-visible{outline:3px solid #b27212;outline-offset:3px}.gfm-app .gfm-chips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 12px}.gfm-app .gfm-chips button{padding:8px 0}.gfm-app button[aria-pressed=true]{background:var(--gfm-accent);color:#fff;border-color:var(--gfm-accent)}.gfm-app .gfm-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.gfm-app .gfm-help{font-size:12px;margin:8px 0}.gfm-app .gfm-chart{margin:18px 0 0}.gfm-app .gfm-chart figcaption{font-size:13px;font-weight:600;color:var(--gfm-accent)}.gfm-app svg{display:block;width:100%;height:64px;margin-top:8px;overflow:visible}.gfm-app svg polyline{fill:none;stroke:var(--gfm-accent);stroke-width:3;stroke-linejoin:round}.gfm-app .gfm-axis{stroke:var(--gfm-border);stroke-width:1}.gfm-app .gfm-chart-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--gfm-muted)}.gfm-app .gfm-controls{display:flex;flex-wrap:wrap;gap:8px}.gfm-app .gfm-controls button{flex:1 1 150px}.gfm-app .gfm-controls .gfm-primary{flex-basis:100%;font-size:16px;min-height:54px}.gfm-app .gfm-notice{font-size:12px;margin-top:18px}.gfm-app .gfm-details{font-size:12px;margin-top:12px;color:var(--gfm-muted)}.gfm-app summary{cursor:pointer;min-height:44px;padding:10px 0}.gfm-app .gfm-error{border:1px solid #ac4545;background:#fff1f1;color:#802727;padding:12px;border-radius:10px;font-size:14px}.gfm-app .gfm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:380px){.gfm-app{padding:14px;border-radius:16px}.gfm-app .gfm-card{padding:14px}.gfm-app .gfm-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.gfm-app .gfm-two{grid-template-columns:1fr}.gfm-app .gfm-times{font-size:11px}}
@media(prefers-color-scheme:dark){.gfm-app{--gfm-bg:#142125;--gfm-card:#1c2c30;--gfm-text:#ecf4f3;--gfm-muted:#b1c5c7;--gfm-accent:#94dbca;--gfm-border:#3b5156;--gfm-track:#344b4e;color-scheme:dark}.gfm-app .gfm-primary,.gfm-app button[aria-pressed=true]{color:#142125}.gfm-app .gfm-error{color:#ffc5c5;background:#402626}}
@media(prefers-reduced-motion:reduce){.gfm-app .gfm-progress span{transition:none}}
/* Typography and contrast are kept explicit so WordPress themes cannot dim the player. */
.gfm-app.gfm-app{--gfm-text:#172033;--gfm-muted:#334155;--gfm-accent:#4338ca;--gfm-bg:#f1f4fa;--gfm-border:#cbd5e1;--gfm-track:#dce2f2;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-weight:400}
.gfm-app.gfm-app :is(p,label,select,input,button,output,summary,figcaption,small,span){font-family:inherit;text-shadow:none;letter-spacing:normal}
.gfm-app.gfm-app :is(p,.gfm-help,.gfm-notice,.gfm-details,.gfm-caption,.gfm-times,.gfm-chart-labels){color:var(--gfm-muted);opacity:1}
.gfm-app.gfm-app :is(label,select,input,button){color:var(--gfm-text)}
.gfm-app.gfm-app :is(.gfm-help,.gfm-notice,.gfm-details,.gfm-caption,.gfm-times,.gfm-chart-labels){font-size:14px;line-height:1.65}
.gfm-app.gfm-app label{font-size:16px;font-weight:650}.gfm-app.gfm-app label output{font-size:15px;font-weight:500;color:var(--gfm-muted)}
.gfm-app.gfm-app button{font-size:16px;min-height:48px}.gfm-app.gfm-app :is(select,input[type=number]){font-size:17px;min-height:50px}
.gfm-app.gfm-app .gfm-eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--gfm-accent)}
.gfm-app.gfm-app h2{font:750 clamp(25px,5vw,32px)/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--gfm-text);letter-spacing:-.02em;overflow-wrap:anywhere;margin:8px 0}
.gfm-app .gfm-brand{display:flex;align-items:center;gap:16px}.gfm-app .gfm-brand>div{min-width:0}.gfm-app .gfm-logo{display:block;flex:0 0 auto;object-fit:contain;width:64px;height:94px;max-width:none;padding:4px;background:#fff;border:1px solid #cbd5e1;border-radius:15px}
.gfm-app.gfm-app .gfm-chart figcaption{font-size:15px}.gfm-app.gfm-app .gfm-primary,.gfm-app.gfm-app button[aria-pressed=true]{color:#fff}
.gfm-app.gfm-app .gfm-settings:disabled{opacity:1}.gfm-app.gfm-app .gfm-settings:disabled :is(input,select,button){opacity:.7}
.gfm-app.gfm-app button:disabled{opacity:.7}.gfm-app.gfm-app .gfm-error{color:#801c2b}
@media(max-width:380px){.gfm-app .gfm-brand{gap:12px}.gfm-app .gfm-logo{width:52px;height:76px}.gfm-app.gfm-app h2{font-size:25px}.gfm-app.gfm-app .gfm-times{font-size:13px;flex-wrap:wrap}.gfm-app .gfm-times [role=status]{order:3;flex-basis:100%}}
@media(prefers-color-scheme:dark){.gfm-app.gfm-app{--gfm-text:#f8fafc;--gfm-muted:#d1dbea;--gfm-accent:#b9b5ff;--gfm-bg:#111827;--gfm-card:#1e293b;--gfm-border:#526176;--gfm-track:#3b4563}.gfm-app.gfm-app .gfm-primary,.gfm-app.gfm-app button[aria-pressed=true]{color:#141329}.gfm-app.gfm-app .gfm-error{color:#ffd7dc}}
.gfm-app .gfm-background{margin-top:16px}.gfm-app .gfm-background legend{color:var(--gfm-text);font-size:16px;font-weight:650;margin-bottom:8px;padding:0}.gfm-app .gfm-bg-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gfm-app .gfm-bg-options>div{position:relative;min-width:0}.gfm-app.gfm-app .gfm-bg-options label{display:flex;align-items:center;justify-content:center;min-height:54px;height:100%;padding:8px 6px;margin:0;border:2px solid var(--gfm-border);border-radius:10px;background:var(--gfm-bg);color:var(--gfm-text);font-size:15px;line-height:1.3;text-align:center;cursor:pointer;overflow-wrap:anywhere}.gfm-app.gfm-app .gfm-bg-options input:checked+label{background:var(--gfm-accent);border-color:var(--gfm-accent);color:#fff;font-weight:750}.gfm-app .gfm-bg-options input:focus-visible+label{outline:3px solid #b27212;outline-offset:3px}.gfm-app .gfm-bg-options input:disabled+label{opacity:.7;cursor:default}.gfm-app .gfm-program-info{border-top:1px solid var(--gfm-border);border-bottom:1px solid var(--gfm-border);margin:14px 0;padding:0 2px}.gfm-app .gfm-program-info summary{color:var(--gfm-accent);font-weight:650;font-size:15px;min-height:48px}.gfm-app .gfm-program-info dl{margin:4px 0 16px;font-size:15px;line-height:1.65;color:var(--gfm-text)}.gfm-app .gfm-program-info dt{font-weight:700;margin:14px 0 4px}.gfm-app .gfm-program-info dd{margin:0;color:var(--gfm-muted);overflow-wrap:anywhere}.gfm-app .gfm-program-info a{color:var(--gfm-accent);text-decoration:underline;text-underline-offset:3px}
@media(prefers-color-scheme:dark){.gfm-app.gfm-app .gfm-bg-options input:checked+label{color:#141329}}
