@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
:root{--bg:#f3f2ec;--panel:#f3f2ec;--ink:#34483e;--muted:#748176;--accent:#d4e0d0;--accent-ink:#34483e;--shadow:#d9ddd3;--light:#ffffff;--line:#dce1d6;--stage:#edf0e7;--signal:#5b7964;font-family:'DM Sans','Noto Sans SC',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;transition:background .3s,color .3s}:root[data-theme=sport],body[data-theme=sport]{--bg:#101820;--panel:#19242e;--ink:#edf3ed;--muted:#9aaab2;--accent:#d9ff43;--accent-ink:#142016;--shadow:#090f15;--light:#263640;--line:#2c3d47;--stage:#121e27;--signal:#d9ff43;--energy:#ff8057}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.4}button,select,a,input{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--signal);outline-offset:4px}button{transition:transform .15s,background .2s,box-shadow .2s}button:active:not(:disabled){transform:translateY(1px)}svg{width:22px;height:22px;vertical-align:middle;flex-shrink:0}i{display:inline-flex;align-items:center;font-style:normal}.topbar{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.3vw}.brand{font-size:26px;letter-spacing:3px;font-weight:800;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:11px}.brand svg{height:34px;width:34px}.brand span{font-size:12px;font-weight:500;letter-spacing:2px;border-left:1px solid var(--line);padding-left:18px;margin-left:8px}.top-actions{display:flex;align-items:center;gap:22px}.theme-switch{display:flex;padding:5px;border-radius:30px;box-shadow:inset 4px 4px 8px var(--shadow),inset -4px -4px 8px var(--light)}.theme-switch button{background:transparent;border-radius:22px;padding:9px 20px;font-size:12px;color:var(--muted)}.theme-switch .selected{background:var(--panel);box-shadow:3px 3px 6px var(--shadow),-3px -3px 6px var(--light);color:var(--ink)}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:var(--panel);width:40px;height:40px;border-radius:50%;box-shadow:4px 4px 9px var(--shadow),-4px -4px 9px var(--light)}main{max-width:1440px;margin:auto;padding:48px 5.3vw 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700;color:var(--muted);margin:0 0 14px}h1{font-size:clamp(26px,3vw,40px);letter-spacing:1px;margin:0 0 12px;font-weight:700}h1>span{color:var(--signal)}.subtitle{color:var(--muted);font-size:12px;letter-spacing:2px;margin:0}.intro-mark{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.intro-mark>span,.status>span{height:6px;width:6px;border-radius:50%;background:var(--signal)}.workspace{display:grid;grid-template-columns:326px minmax(0,1fr);gap:32px;align-items:start}.panel{border-radius:26px;background:var(--panel);box-shadow:10px 10px 25px var(--shadow),-10px -10px 25px var(--light);border:1px solid color-mix(in srgb,var(--light) 45%,transparent)}.settings{padding:25px}.section-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;margin-bottom:25px}.mini{font-size:8px;color:var(--muted);letter-spacing:1.5px;font-weight:500}.field-label{display:block;font-size:11px;font-weight:600;margin:19px 0 10px;color:var(--muted)}.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modes button{display:flex;gap:9px;align-items:center;justify-content:center;padding:14px 6px;border-radius:12px;background:var(--panel);font-size:11px;box-shadow:4px 4px 8px var(--shadow),-4px -4px 8px var(--light);white-space:nowrap}.modes svg{width:17px;height:17px}.modes button.selected{background:var(--accent);color:var(--accent-ink);box-shadow:3px 3px 9px var(--shadow)}select,input[type=number]{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;padding:12px;font-size:11px;min-height:42px;box-shadow:inset 3px 3px 6px var(--shadow),inset -3px -3px 6px var(--light)}select{cursor:pointer}.range-heading{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.range-heading .field-label{margin:0 0 12px}.range-heading output{font-weight:700;font-size:19px;margin-bottom:10px;font-variant-numeric:tabular-nums}.range-heading small{font-size:10px;color:var(--muted);font-weight:400}input[type=range]{width:100%;accent-color:var(--signal);height:6px;cursor:pointer;margin:6px 0 10px;touch-action:pan-y}.range-ends{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:12px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;margin:16px 0;cursor:pointer}.toggle-row span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.toggle-row small{font-size:9px;color:var(--muted)}input[role=switch]{appearance:none;width:32px;height:19px;background:var(--line);border-radius:20px;position:relative;cursor:pointer;flex-shrink:0;margin:0;transition:background .2s;box-shadow:inset 2px 2px 3px var(--shadow)}input[role=switch]:before{content:'';position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:var(--panel);box-shadow:1px 1px 3px var(--shadow);transition:transform .2s}input[role=switch]:checked{background:var(--signal)}input[role=switch]:checked:before{transform:translateX(13px);background:#fff}.divider{height:1px;background:var(--line);margin:21px 0 0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sound-row{margin-bottom:9px}.sound-row svg{width:15px;height:15px}.volume-row{display:flex;gap:16px;align-items:center}.volume-row input{flex:1;width:0}.text-button{background:none;color:var(--muted);font-size:10px;padding:6px 0;white-space:nowrap}.field-hint{color:var(--muted);font-size:9px;line-height:1.8;margin:2px 0}.training{min-width:0}.stage{height:483px;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:24px;background:var(--stage)}.stage-top{display:flex;align-items:center;justify-content:space-between;z-index:2;gap:16px}.stage .icon-button{background:var(--stage);width:35px;height:35px}.stage .icon-button svg{width:16px;height:16px}.status{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1px}.signal-area{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;min-height:0;position:relative;padding:18px}.idle-symbol{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;color:var(--signal);box-shadow:inset 7px 7px 16px var(--shadow),inset -7px -7px 16px var(--light);margin-bottom:25px}.idle-symbol svg{width:64px;height:64px}h2{font-size:22px;font-weight:600;margin:0 0 12px;letter-spacing:1px}.signal-area p{font-size:11px;color:var(--muted);margin:0}.stage-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;z-index:2}.stage-bottom>span{display:flex;align-items:center;gap:6px}.stage-bottom svg{width:12px;height:12px}#mode-tag{font-size:8px;letter-spacing:1px}#progress{position:absolute;bottom:0;left:0;height:4px;background:var(--signal);width:0;transition:width .15s linear}.session-bar{display:flex;align-items:center;gap:26px;margin-top:26px;padding:22px 25px}.stat-label{display:block;font-size:9px;color:var(--muted);margin-bottom:7px;letter-spacing:1px}.session-bar strong{font-size:27px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:1px}.stat-divider{height:32px;width:1px;background:var(--line)}.session-controls{margin-left:auto;display:flex;gap:15px;align-items:center}.start-button{background:var(--accent);color:var(--accent-ink);border-radius:14px;padding:16px 25px;min-height:49px;font-size:12px;font-weight:700;display:inline-flex;gap:10px;align-items:center;justify-content:center;box-shadow:4px 4px 10px var(--shadow),-4px -4px 10px var(--light)}.start-button svg{width:17px;height:17px}.stop-button{border-radius:12px;width:44px;height:44px}.stop-button svg{width:15px;height:15px}.tip{margin-top:27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 2px;display:flex;align-items:center;gap:15px;color:var(--muted)}.tip-number{font-size:11px;color:var(--signal);font-weight:700;white-space:nowrap}.tip p{font-size:11px;line-height:1.9;margin:0}.tip>i{margin-left:auto}.keyboard-tip{text-align:center;font-size:9px;letter-spacing:1px;color:var(--muted);margin:20px 0}.keyboard-tip span{margin:0 10px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding:24px 0;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.footer-dot{margin:0 10px}.custom-duration{font-size:11px;display:block;margin-top:14px;color:var(--muted)}.custom-duration input{margin-top:8px}[hidden]{display:none!important}.big-signal{font-size:clamp(100px,13vw,180px);color:var(--signal);line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-5px}.direction-arrow svg{height:150px;width:150px;stroke-width:2.8}.signal-word{font-size:24px;font-weight:600;margin-top:14px;letter-spacing:5px}.phase-caption{font-size:11px;color:var(--muted);margin-top:15px}.grid-display{display:grid;gap:12px;width:min(100%,440px);height:100%;max-height:310px;padding:4px}.grid-cell{display:flex;align-items:center;justify-content:center;border-radius:16px;box-shadow:inset 4px 4px 9px var(--shadow),inset -4px -4px 9px var(--light);color:var(--muted);font-size:16px;transition:background .08s}.grid-cell.lit{background:var(--accent);color:var(--accent-ink);box-shadow:3px 3px 10px var(--shadow);font-size:32px;font-weight:700}.beat-dots{display:flex;justify-content:center;gap:12px;margin-bottom:22px}.beat-dot{width:12px;height:12px;border-radius:50%;background:var(--line)}.beat-dot.active{background:var(--signal);box-shadow:0 0 0 5px color-mix(in srgb,var(--signal) 15%,transparent)}.beat-dot.strong{width:16px;height:16px;margin-top:-2px}.pulse .signal-area{animation:pop .16s ease-out}@keyframes pop{from{transform:scale(.96);opacity:.75}to{transform:scale(1);opacity:1}}body.focus{overflow:hidden}body.focus .stage{position:fixed;inset:0;z-index:20;height:100dvh;border-radius:0;border:0;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(112px,calc(90px + env(safe-area-inset-bottom))) max(24px,env(safe-area-inset-left))}body.focus .session-bar{position:fixed;z-index:21;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 32px));margin:0;padding:16px 20px}body.focus .big-signal{font-size:clamp(150px,25vmin,350px)}body.focus .direction-arrow svg{width:40vmin;height:40vmin;max-width:400px;max-height:400px}body.focus .grid-display{width:min(85vw,1000px);max-height:100%;flex:1}body.focus .grid-cell{font-size:clamp(22px,5vmin,60px)}body.focus .signal-word{font-size:5vmin}dialog{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:25px;width:min(480px,calc(100% - 30px));padding:32px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#10251e66;backdrop-filter:blur(5px)}dialog p{font-size:12px;line-height:1.9;color:var(--muted)}dialog h2{font-size:21px}.close-dialog.icon-button{float:right;margin:-12px -12px 15px 15px}.close-dialog.start-button{width:100%;margin-top:15px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--panel);padding:12px 20px;border-radius:12px;font-size:12px;z-index:99;display:none;max-width:90vw;text-align:center}
@media(min-width:1500px){main{padding-left:65px;padding-right:65px}.stage{height:525px}}@media(max-width:1000px){main{padding:30px 4vw 0}.topbar{padding:0 4vw;height:80px}.workspace{grid-template-columns:285px minmax(0,1fr);gap:22px}.settings{padding:20px}.stage{height:470px;padding:20px}.session-bar{gap:15px;padding:20px 17px}.session-bar strong{font-size:23px}.start-button{padding:15px 18px}.intro-mark{display:none}.stage-bottom{font-size:8px}#mode-tag{display:none}.session-controls{gap:10px}}
@media(max-width:700px){.topbar{height:72px;padding:0 22px}.brand{font-size:22px;gap:8px}.brand span{display:none}.brand svg{width:28px;height:28px}.top-actions{gap:14px}.theme-switch button{padding:8px 15px}.top-actions>.icon-button{height:33px;width:33px}main{padding:30px 22px 0}.intro{margin-bottom:26px}h1{font-size:28px}.subtitle{font-size:10px;letter-spacing:1px}.eyebrow{font-size:8px;letter-spacing:2.5px}.workspace{display:flex;flex-direction:column;gap:26px}.settings,.training{width:100%}.settings{padding:22px}.section-title{margin-bottom:19px}.modes{grid-template-columns:repeat(4,1fr);gap:9px}.modes button{flex-direction:column;font-size:10px;gap:8px;padding:13px 3px}.modes svg{width:19px;height:19px}.stage{height:400px}.session-bar{margin-top:22px;padding:20px 17px;gap:17px}.start-button{font-size:11px;padding:15px 18px}.stat-label{font-size:8px}.session-bar strong{font-size:23px}.session-controls{gap:10px}.stop-button{width:35px;height:40px}.tip{margin-top:24px}.keyboard-tip{display:none}footer{margin-top:30px;font-size:7px;letter-spacing:.5px;gap:15px}.training{order:-1}.settings{order:1}.intro{margin-bottom:22px}.field-label{font-size:12px}select{font-size:12px}.toggle-row{font-size:12px}.toggle-row small{font-size:10px}.two-fields{gap:16px}.direction-arrow svg{height:125px;width:125px}}
@media(max-width:380px){main{padding-left:14px;padding-right:14px}.topbar{padding:0 14px}.session-bar{gap:12px;padding:18px 12px}.session-controls{gap:8px}.start-button{padding:14px}.session-bar strong{font-size:21px}}
@media(orientation:landscape) and (max-height:600px){.topbar{height:60px}main{padding-top:22px}.intro{margin-bottom:22px}h1{font-size:27px}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px}.settings{order:0}.training{order:0}.modes{grid-template-columns:1fr 1fr}.modes button{flex-direction:row}.stage{height:330px}.signal-area{padding:8px}.idle-symbol{width:95px;height:95px;margin-bottom:16px}.idle-symbol svg{width:48px;height:48px}.direction-arrow svg{width:100px;height:100px}.big-signal{font-size:95px}.signal-word{margin-top:7px;font-size:20px}.session-bar{gap:13px}.grid-display{max-height:200px}body.focus .stage{padding-bottom:90px}body.focus .session-bar{padding:12px 20px}body.focus .stage-bottom{position:absolute;bottom:24px;right:24px}body.focus .signal-area{padding:0}body.focus .direction-arrow svg{width:30vmin;height:30vmin}body.focus .signal-word{font-size:5vmin;margin-top:4px}body.focus .phase-caption{margin-top:5px}body.focus .beat-dots{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
.start-button{white-space:nowrap;flex-shrink:0}.stat-label{white-space:nowrap}.session-bar>div:not(.session-controls){flex-shrink:0}@media(max-width:700px){.session-bar{gap:12px}.session-controls{gap:9px}.start-button{padding-left:15px;padding-right:15px}}@media(max-width:380px){.session-bar{gap:9px}.start-button{padding-left:12px;padding-right:12px}.session-controls{gap:7px}.stat-label{letter-spacing:0}}
.zen-entry{display:flex;align-items:center;gap:7px;background:transparent;font-size:11px;padding:10px;color:var(--muted);white-space:nowrap}.zen-entry svg{width:17px;height:17px}.modes button[data-mode=actions]{grid-column:1/-1;flex-direction:row}.voice-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin-top:20px}.voice-enable{display:inline-flex;gap:6px;align-items:center;padding:8px 13px;border-radius:18px;font-size:11px;background:var(--panel);box-shadow:3px 3px 6px var(--shadow),-3px -3px 6px var(--light)}.voice-enable svg{width:15px;height:15px}.voice-enable.enabled{background:var(--accent);color:var(--accent-ink)}.voice-notice{margin-top:10px}.action-row{display:grid;grid-template-columns:20px minmax(0,1fr) 65px;gap:7px;align-items:center;margin-top:14px}.action-row input{width:100%;min-width:0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 7px;font-size:12px;min-height:40px}.action-index{font-size:10px;color:var(--muted)}.action-seconds{position:relative}.action-seconds input{padding-right:18px;appearance:textfield;-moz-appearance:textfield}.action-seconds input::-webkit-inner-spin-button{appearance:none}.action-seconds{font-size:10px;color:var(--muted)}.action-seconds input+*{display:none}.action-seconds{display:flex;align-items:center;gap:3px}.action-row-tools{grid-column:2/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:-4px}.action-tool{background:transparent;color:var(--muted);border-radius:8px;min-width:32px;height:28px}.action-tool svg{width:15px;height:15px}.add-action{width:100%;margin-top:14px;padding:12px;border:1px dashed var(--muted);background:none;color:var(--ink);border-radius:10px;font-size:11px}.action-position{color:var(--muted);font-size:12px;letter-spacing:2px;margin-bottom:22px}.action-name{font-size:clamp(26px,4vw,52px);line-height:1.4;letter-spacing:1px;text-align:center;overflow-wrap:anywhere;max-width:100%;margin:0 0 18px;max-height:45%;overflow:auto}.action-time{font-variant-numeric:tabular-nums;font-size:17px;color:var(--signal);text-align:center;margin-bottom:20px}.action-next{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#zen-controls{display:none}body.zen{overflow:hidden}body.zen .stage{position:fixed;inset:0;z-index:40;height:100dvh;border:0;border-radius:0;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(110px,calc(90px + env(safe-area-inset-bottom))) max(20px,env(safe-area-inset-left));box-shadow:none}body.zen .stage-top,body.zen .stage-bottom,body.zen #progress{display:none}body.zen .topbar,body.zen .intro,body.zen .settings,body.zen .session-bar,body.zen .tip,body.zen .keyboard-tip,body.zen footer{visibility:hidden;pointer-events:none}body.zen #zen-controls{position:fixed;z-index:41;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:14px;padding:9px;border-radius:22px;background:var(--panel);box-shadow:5px 5px 18px var(--shadow),-5px -5px 18px var(--light)}#zen-controls button{display:flex;align-items:center;gap:7px;justify-content:center;min-width:90px;min-height:48px;padding:12px 18px;background:transparent;border-radius:15px;font-size:12px}#zen-controls #zen-play{background:var(--accent);color:var(--accent-ink)}#zen-controls svg{width:18px;height:18px}body.zen .big-signal{font-size:clamp(130px,30vmin,380px)}body.zen .direction-arrow svg{width:42vmin;height:42vmin}body.zen .signal-word{font-size:6vmin}body.zen .grid-display{width:min(100%,1200px);max-height:100%;flex:1}body.zen .grid-cell{font-size:6vmin}body.zen .action-name{font-size:clamp(32px,9vmin,100px);max-height:55%}body.zen .action-time{font-size:clamp(16px,3vmin,32px)}body.zen .idle-symbol{width:25vmin;height:25vmin;min-height:85px;min-width:85px}body.zen .idle-symbol svg{width:12vmin;height:12vmin}body.zen .signal-area{padding:10px}body.focus .action-name{font-size:clamp(30px,7vmin,85px)}
@media(max-width:700px){.top-actions{gap:6px}.zen-entry{padding:7px}.zen-entry span{display:none}.action-row{grid-template-columns:20px minmax(0,1fr) 85px}.session-bar:has(#next-action:not([hidden])){flex-wrap:wrap}.session-bar:has(#next-action:not([hidden])) .session-controls{margin-left:auto}.action-name{font-size:29px}.action-position{margin-bottom:16px}#zen-controls{max-width:calc(100vw - 24px)}#zen-controls button{min-width:74px;padding:12px}}
@media(orientation:landscape) and (max-height:600px){body.zen .stage{padding-bottom:85px}body.zen .action-position{margin-bottom:10px}body.zen .action-name{margin-bottom:10px}body.zen .action-time{margin-bottom:10px}body.zen #zen-controls{bottom:max(10px,env(safe-area-inset-bottom));padding:5px}body.zen #zen-controls button{min-height:42px}body.zen .beat-dots{margin-bottom:5px}.top-actions{gap:8px}}
@media(max-width:380px){.topbar{padding:0 12px;gap:5px}.brand{font-size:18px;letter-spacing:2px;gap:6px}.brand svg{width:24px;height:24px}.top-actions{gap:3px}.theme-switch button{padding:7px 10px}.zen-entry{padding:6px}.top-actions>.icon-button{width:30px;height:30px}}
body{background:var(--bg);color:var(--ink);min-height:100dvh}

.compass-center{pointer-events:none}.compass-cell{font-size:clamp(14px,2.2vw,22px);white-space:nowrap}.compass-cell.lit{font-size:clamp(20px,3vw,32px)}body.focus .compass-cell,body.zen .compass-cell{font-size:clamp(18px,5vmin,60px)}
/* Quiet daylight: soft mineral surfaces, low visual tension. */
html{background:var(--bg);color:var(--ink);min-height:100%;transition:background-color .3s}
body{background-color:var(--bg);background-image:radial-gradient(ellipse at 85% 0%,#e5ecdf70,transparent 52%);background-attachment:fixed}
body[data-theme=calm] .panel{box-shadow:8px 8px 23px #d9ddd378,-9px -9px 25px #ffffffb5;border-color:#ffffffa3}
body[data-theme=calm] .stage{background-color:var(--stage);background-image:radial-gradient(ellipse at 50% 38%,#f8f8f0 0%,#edf0e7 75%)}
body[data-theme=calm] .idle-symbol{box-shadow:inset 5px 5px 15px #d9dfd2,inset -6px -6px 16px #ffffffa8;color:#78927a}
body[data-theme=calm] .idle-symbol svg{stroke-width:1.3}
body[data-theme=calm] .modes button.selected,body[data-theme=calm] .start-button{background:#d4e0d0;box-shadow:3px 4px 10px #cfd8c970,-3px -3px 10px #ffffffa0}
body[data-theme=calm] h1{font-weight:500;letter-spacing:2px}
body[data-theme=calm] .eyebrow{font-weight:500;letter-spacing:3.5px}
body[data-theme=calm] .big-signal{font-weight:500}
body[data-theme=calm] .grid-cell.lit{background:#cbdcc5;box-shadow:2px 3px 12px #bfceb580}
body[data-theme=calm] .theme-switch,body[data-theme=calm] select{box-shadow:inset 2px 2px 6px #d9ddd390,inset -2px -2px 6px #ffffffb0}
/* Athletic night: deep navy canvas, electric lime, sharper surfaces. */
body[data-theme=sport]{background-color:#101820;background-image:radial-gradient(ellipse at 95% 0%,#40542138,transparent 43%),radial-gradient(ellipse at 0% 65%,#0b374043,transparent 48%)}
body[data-theme=sport] .topbar{background:#101820d9;border-bottom-color:#40512d}
body[data-theme=sport] .brand{font-style:italic;font-weight:800}
body[data-theme=sport] .brand>svg{color:var(--accent)}
body[data-theme=sport] .theme-switch{background:#101820;box-shadow:inset 3px 3px 7px #080d12,inset -2px -2px 6px #25353c}
body[data-theme=sport] .theme-switch .selected{background:var(--accent);color:#142016;font-weight:700;box-shadow:0 2px 10px #d9ff4320}
body[data-theme=sport] .panel{border-radius:19px;border-color:#33454e;box-shadow:9px 11px 22px #080e14b0,-4px -4px 13px #29404c38}
body[data-theme=sport] .stage{background-color:#121e27;background-image:linear-gradient(130deg,#24362c38,transparent 54%),repeating-linear-gradient(0deg,transparent 0 47px,#b7d2dd06 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,#b7d2dd06 47px 48px);border-left:3px solid #d9ff4375}
body[data-theme=sport] .stage:after{content:'';position:absolute;right:80px;top:0;width:85px;height:6px;transform:skewX(-30deg);background:repeating-linear-gradient(90deg,var(--accent) 0 13px,transparent 13px 20px);opacity:.75;pointer-events:none}
body[data-theme=sport] h1{font-style:italic;font-weight:800;letter-spacing:-1px}
body[data-theme=sport] h1>span{color:var(--energy)}
body[data-theme=sport] .eyebrow,body[data-theme=sport] .intro-mark{color:#c0db7d}
body[data-theme=sport] .idle-symbol{color:var(--accent);background:linear-gradient(140deg,#213239,#131f27);box-shadow:inset 6px 6px 16px #0a1117,inset -4px -4px 12px #31444a50,0 0 0 1px #a0c95e25}
body[data-theme=sport] .idle-symbol svg{stroke-width:2}
body[data-theme=sport] .modes button{border-radius:9px;box-shadow:3px 4px 8px #090f15,-2px -2px 7px #2b3e474d}
body[data-theme=sport] .modes button.selected{font-weight:700;box-shadow:0 3px 15px #bfff0025}
body[data-theme=sport] .start-button{border-radius:9px;font-weight:800;box-shadow:0 4px 18px #d9ff4325,3px 4px 8px #060d12}
body[data-theme=sport] .section-title,body[data-theme=sport] .signal-word{font-weight:800}
body[data-theme=sport] .big-signal{font-weight:800;font-style:italic}
body[data-theme=sport] .session-bar strong{font-weight:700;font-style:italic;color:var(--accent)}
body[data-theme=sport] .grid-cell{border:1px solid #2d424c;border-radius:10px;box-shadow:inset 4px 4px 10px #080f16,inset -3px -3px 8px #2c414a45}
body[data-theme=sport] .grid-cell.lit{background:var(--accent);color:#142016;border-color:#e6ff8e;box-shadow:0 0 24px #d9ff4330;font-weight:800}
body[data-theme=sport] .stat-divider{background:#40522e}
body[data-theme=sport] .tip{border-color:#344c43}
body[data-theme=sport] .icon-button{box-shadow:3px 4px 9px #080e14,-2px -2px 7px #2b414b55}
body[data-theme=sport] select,body[data-theme=sport] input[type=number]{background-color:#14202a;box-shadow:inset 3px 3px 7px #090f15,inset -2px -2px 6px #2b404a40}
body[data-theme=sport] input[role=switch]:checked{background:var(--accent)}
body[data-theme=sport] input[role=switch]:checked:before{background:#142016}
body[data-theme=sport].zen .stage,body[data-theme=sport].focus .stage{border-left:0}
body.zen .stage:after{display:none}
body[data-theme=sport] #zen-controls{border:1px solid #374a42;box-shadow:4px 5px 22px #060c12}
body[data-theme=calm] #zen-controls{box-shadow:4px 5px 20px #cfd6ca70,-4px -4px 20px #ffffffa0}
.action-row{grid-template-columns:20px minmax(0,1fr)}.action-timing{grid-column:2/-1;display:flex;align-items:center;gap:8px;min-width:0}.action-timing>select{width:85px;min-height:36px;padding:8px;font-size:11px;flex-shrink:0}.action-timing .action-seconds{width:72px;flex-shrink:0}.action-timing .action-row-tools{margin:0 0 0 auto;gap:0}.action-timing .action-tool{min-width:25px}.action-library{padding-bottom:18px;border-bottom:1px solid var(--line)}.action-library>input{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font:inherit;font-size:12px}.library-load{display:flex;gap:6px;align-items:center;margin-top:12px}.library-load select{flex:1;min-width:0}.library-load button{padding:9px 5px;border-radius:8px;background:var(--panel);font-size:11px;white-space:nowrap;border:1px solid var(--line)}#voice-indicator{--level:0;position:fixed;left:16px;bottom:max(12px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:8px;max-width:min(380px,calc(100vw - 32px));padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:0 3px 15px #0002;font-size:11px;pointer-events:none}.voice-lamp{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#8d9991}.voice-bars{height:18px;display:flex;align-items:center;gap:2px;flex-shrink:0}.voice-bars i{width:3px;height:calc(3px + var(--level)*15px);background:var(--signal);border-radius:2px}.voice-bars i:nth-child(2){height:calc(5px + var(--level)*13px)}.voice-bars i:nth-child(4){height:calc(2px + var(--level)*12px)}#voice-indicator[data-state=listening] .voice-lamp{background:#59a96a;animation:voice-breathe 1.7s infinite}#voice-indicator[data-state=hearing] .voice-lamp,#voice-indicator[data-state=recognized] .voice-lamp{background:#69c177;box-shadow:0 0 0 4px #69c17725}#voice-indicator[data-state=unrecognized] .voice-lamp,#voice-indicator[data-state=processing] .voice-lamp,#voice-indicator[data-state=speaking] .voice-lamp{background:#dbad4b}#voice-indicator[data-state=error] .voice-lamp{background:#ee6b57}#voice-indicator[data-state=connecting] .voice-lamp{background:#dbad4b;animation:voice-breathe .8s infinite}body.zen #voice-indicator,body.focus #voice-indicator{top:max(12px,env(safe-area-inset-top));bottom:auto;left:50%;transform:translateX(-50%)}@keyframes voice-breathe{50%{opacity:.35;box-shadow:0 0 0 4px #69c17720}}#heard-text{overflow-wrap:anywhere}
.action-timing{flex-wrap:wrap}#voice-indicator-text{overflow-wrap:anywhere}#voice-indicator[data-state=off] .voice-bars{display:none}
#voice-indicator[data-state=stalled] .voice-lamp{background:#ee6b57;animation:voice-breathe 1.5s infinite}
#command-box{position:fixed;left:16px;bottom:76px;z-index:44;width:240px;max-width:calc(100vw - 32px);padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--ink);box-shadow:0 3px 15px #0002;opacity:.94;pointer-events:none}.command-box-title{font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.command-placeholder{font-size:11px;margin:0;color:var(--muted)}.command-entry{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:6px 0;font-size:12px}.command-entry>span{overflow-wrap:anywhere;min-width:0}.command-entry small{font-size:9px;color:var(--muted);flex-shrink:0}.command-entry.matched small{color:var(--signal)}body.zen #command-box,body.focus #command-box{bottom:auto;top:max(72px,calc(60px + env(safe-area-inset-top)));left:16px;width:210px}#command-log{max-height:150px;overflow:hidden}@media(max-width:700px){#command-box{width:205px}body.zen #command-box,body.focus #command-box{width:180px;top:max(74px,calc(62px + env(safe-area-inset-top)))}#command-log{max-height:112px}}

.brand{font-size:22px;letter-spacing:1px}@media(max-width:700px){.brand{font-size:17px;letter-spacing:0;gap:6px}.brand svg{width:25px;height:25px}}@media(max-width:380px){.brand{font-size:14px;gap:4px}.brand svg{width:20px;height:20px}.theme-switch button{padding:7px 8px}}
.sequence-editor-head{display:flex;align-items:center;gap:10px;margin:18px 0 8px}.sequence-editor-head>input{width:0;flex:1;min-width:0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;font-size:14px;outline-offset:2px}.sequence-editor-head .text-button{font-size:10px}.action-row{grid-template-columns:20px minmax(0,1fr) 64px;gap:9px;align-items:center;margin-top:18px}.action-row-tools{grid-column:2/-1;margin-top:-6px;gap:4px}.duration-dial{position:relative;width:64px;height:64px;border-radius:50%;touch-action:none;user-select:none;cursor:grab;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:inset 3px 3px 7px var(--shadow),inset -3px -3px 7px var(--light);background:var(--panel)}.duration-dial:active{cursor:grabbing}.duration-dial:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.duration-dial strong{font-size:17px;font-weight:600;line-height:1;pointer-events:none}.duration-dial small{font-size:8px;color:var(--muted);margin-top:3px;pointer-events:none}.dial-ticks{position:absolute;inset:0;pointer-events:none}.dial-ticks i{position:absolute;left:31px;top:31px;width:2px;height:3px;background:var(--muted);opacity:.45;transform-origin:1px 1px}.dial-pointer{position:absolute;inset:5px;transform:rotate(var(--dial-angle));border-radius:50%;pointer-events:none}.dial-pointer:before{content:'';position:absolute;top:0;left:50%;width:3px;height:6px;border-radius:2px;background:var(--signal);transform:translateX(-50%)}.sequence-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.sequence-dialog-head h2{margin:0}.sequence-dialog-head .icon-button{flex-shrink:0}#sequence-dialog{width:min(530px,calc(100% - 28px));max-height:85dvh;overflow:auto}#new-sequence{width:100%;margin:12px 0 20px}#saved-sequence-list{display:grid;gap:10px}.saved-sequence{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.sequence-load{background:transparent;text-align:left;flex:1;min-width:0;padding:2px;color:var(--ink)}.sequence-load strong{display:block;font-size:13px;overflow-wrap:anywhere}.sequence-load small{display:block;color:var(--muted);font-size:10px;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body[data-theme=sport] .duration-dial{box-shadow:inset 3px 3px 7px #080f15,inset -2px -2px 7px #304550}body[data-theme=sport] .duration-dial strong{color:var(--accent)}
#command-box{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:16px 0 10px;padding:0;z-index:auto;opacity:1;pointer-events:auto;box-shadow:none;background:var(--panel);border:1px solid var(--line);border-radius:12px}#command-handle{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:13px 15px;cursor:grab;touch-action:none;user-select:none;font-size:11px;color:var(--muted)}#command-handle::-webkit-details-marker{display:none}#command-handle:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:12px}#command-toggle-label{font-size:10px;color:var(--signal)}#command-box #command-log{padding:0 15px 10px;max-height:180px;overflow:auto}#command-box:not([open]) #command-log{display:none}#voice-indicator{position:relative;left:auto;bottom:auto;top:auto;transform:none;width:fit-content;max-width:100%;margin:10px 0 0;box-shadow:none}body.zen #command-box,body.focus #command-box,#command-box[data-floating=true]{position:fixed;top:max(70px,calc(60px + env(safe-area-inset-top)));bottom:auto;right:16px;left:auto;width:240px;max-width:calc(100vw - 32px);margin:0;z-index:44;transform:none;box-shadow:0 4px 20px #0002}body.zen #command-box:not([open]),body.focus #command-box:not([open]),#command-box[data-floating=true]:not([open]){width:150px}body.zen #voice-indicator,body.focus #voice-indicator{position:fixed;left:50%;transform:translateX(-50%);top:max(12px,env(safe-area-inset-top));bottom:auto;margin:0;max-width:calc(100vw - 32px);z-index:45}@media(max-width:700px){body.zen #command-box,body.focus #command-box{top:max(82px,calc(72px + env(safe-area-inset-top)));width:210px}body.zen #command-box:not([open]),body.focus #command-box:not([open]){width:140px}}
/* Boxing uses the same mineral surfaces and accent system as the rest of the app. */
.modes button[data-mode=boxing]{grid-column:1/-1;flex-direction:row}.boxing-setting-title{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;display:flex;flex-direction:column;gap:8px}.boxing-setting-title>span{font-size:11px;letter-spacing:2px;color:var(--signal);font-weight:700}.boxing-setting-title>small{font-size:10px;color:var(--muted)}.boxing-plan-panel{margin-top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.boxing-plan-panel>summary{font-size:11px;padding:13px;cursor:pointer;color:var(--ink);display:flex;justify-content:space-between;gap:10px}.boxing-plan-panel>summary>span{font-size:10px;color:var(--muted)}#boxing-plan{max-height:310px;overflow:auto;padding:0 12px 10px}.boxing-plan-cue{display:flex;align-items:center;gap:10px;font-size:10px;border-top:1px solid var(--line);padding:8px 0}.boxing-plan-cue>small{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.box-action-glyph{width:29px;height:29px;flex-shrink:0;color:var(--signal)}.boxing-custom-row{border:1px solid var(--line);border-radius:13px;padding:10px;margin-top:14px}.boxing-custom-row-head{display:flex;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.boxing-custom-row-head>span{margin-right:auto}.boxing-custom-row select{font-size:10px;margin-top:8px;min-height:38px;padding:9px}.boxing-custom-row input[type=text]{margin-top:9px;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px;font-size:10px}.boxing-seconds-label{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:10px;font-size:10px;color:var(--muted)}.boxing-seconds-label input{width:70px;min-height:32px;padding:7px;font-size:11px}.boxing-custom-thumb{height:130px;border-radius:9px;background:var(--stage);margin-top:8px}.boxing-custom-thumb svg{height:100%;width:100%}.stage.boxing-stage{height:595px}.boxing-stage .boxing-signal{padding:10px 0;gap:8px;align-items:stretch;justify-content:flex-start}.boxing-scene-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;padding:4px 6px;letter-spacing:1px}.boxing-scene-heading small{margin-left:9px;color:var(--signal);font-size:9px;font-weight:700}.boxing-scene-heading>span:last-child{font-size:8px}.boxing-arena{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.boxing-arena-svg{display:block;width:100%;height:100%;max-height:100%;color:var(--signal);overflow:visible}.box-floor{fill:none;stroke:var(--muted);stroke-width:1;opacity:.13}.box-coach{fill:color-mix(in srgb,var(--ink) 6%,var(--stage));stroke:color-mix(in srgb,var(--ink) 20%,var(--stage));stroke-width:2.5;stroke-linejoin:round}.box-coach-face{fill:none;stroke:var(--muted);stroke-width:2}.box-mitt rect{fill:var(--panel);stroke:var(--muted);stroke-width:3}.box-mitt ellipse{fill:color-mix(in srgb,var(--signal) 8%,var(--panel));stroke:var(--muted);stroke-width:2}.box-mitt-cuff{fill:var(--panel);stroke:var(--muted);stroke-width:3}.box-target-cross{fill:none;stroke:var(--muted);stroke-width:2}.box-mitt.is-target rect{fill:var(--accent);stroke:var(--signal);stroke-width:3}.box-mitt.is-target ellipse{fill:none;stroke:var(--accent-ink);stroke-width:2;opacity:.6}.box-mitt.is-target .box-target-cross{stroke:var(--accent-ink);stroke-width:2.5}.box-player-glove{fill:color-mix(in srgb,var(--signal) 15%,var(--panel));stroke:var(--signal);stroke-width:3;stroke-linejoin:round}.box-player-glove path:last-child{fill:none;opacity:.5;stroke-width:2}.box-player-path,.box-pad-path{fill:none;stroke:var(--signal);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:7 7;marker-end:var(--box-arrow)}.box-pad-path{stroke-width:2.5;opacity:.7}.box-incoming{fill:color-mix(in srgb,#d58166 20%,var(--panel));stroke:#ba715a;stroke-width:3;stroke-linejoin:round}.box-incoming path:last-child{fill:none}.box-enemy-path{fill:none;stroke:#ba715a;stroke-width:4;stroke-dasharray:8 7;marker-end:var(--box-arrow)}.box-head-origin{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:4 4;opacity:.5}.box-head-target{fill:var(--accent);stroke:var(--signal);stroke-width:2.5}.box-feet-map>rect{fill:color-mix(in srgb,var(--signal) 15%,var(--panel));stroke:var(--signal);stroke-width:2.5}.box-foot-baseline{fill:none;stroke:var(--muted);stroke-width:2;opacity:.5}.boxing-guidance{display:flex;align-items:center;gap:13px;padding:15px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line);box-shadow:3px 3px 10px var(--shadow),-3px -3px 10px var(--light);flex-shrink:0}.boxing-guidance .box-action-glyph{width:35px;height:35px}.boxing-guidance>div{min-width:0}.boxing-guidance strong{display:block;font-size:19px;font-weight:600}.boxing-guidance small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.boxing-next{font-size:10px;color:var(--signal);margin-left:auto;white-space:nowrap}.boxing-free-caption{font-size:11px;color:var(--muted);text-align:center;flex-shrink:0;padding:9px}.boxing-stage .boxing-preview-note{font-size:9px;text-align:center;line-height:1.6;color:var(--muted);flex-shrink:0;padding:2px}.boxing-stage.pulse .signal-area{animation:none}body[data-theme=sport] .boxing-guidance{border-radius:10px;box-shadow:3px 3px 10px #070e13;border-color:#3c4f3a}body[data-theme=sport] .box-mitt.is-target rect{filter:drop-shadow(0 0 8px #d9ff4322)}body.zen .stage.boxing-stage,body.focus .stage.boxing-stage{height:100dvh}body.zen .boxing-guidance,body.focus .boxing-guidance{width:min(700px,100%);align-self:center}body.zen .boxing-guidance strong,body.focus .boxing-guidance strong{font-size:clamp(20px,3vmin,35px)}body.zen .boxing-arena-svg,body.focus .boxing-arena-svg{max-width:1100px}body.zen .boxing-scene-heading,body.focus .boxing-scene-heading{padding-top:35px}body.zen .boxing-signal,body.focus .boxing-signal{padding-top:0}
@media(max-width:1000px){.stage.boxing-stage{height:535px}.boxing-guidance{padding:12px;gap:9px}.boxing-guidance strong{font-size:17px}.boxing-guidance small{font-size:9px}.boxing-next{font-size:9px}}
@media(max-width:700px){.stage.boxing-stage{height:480px}.boxing-stage .boxing-signal{padding:8px 0}.boxing-guidance{padding:11px;gap:9px}.boxing-guidance strong{font-size:16px}.boxing-guidance .box-action-glyph{width:28px;height:28px}.boxing-next{font-size:8px}.boxing-guidance small{font-size:9px}.boxing-scene-heading{font-size:9px}.boxing-setting-title{padding-top:18px}.boxing-custom-thumb{height:160px}}
@media(orientation:landscape) and (max-height:600px){.stage.boxing-stage{height:430px}body.zen .boxing-signal,body.focus .boxing-signal{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:24px minmax(0,1fr);gap:8px}body.zen .boxing-scene-heading,body.focus .boxing-scene-heading{grid-column:1/-1;padding:0 8px}body.zen .boxing-arena,body.focus .boxing-arena{grid-row:2;grid-column:1}body.zen .boxing-guidance,body.focus .boxing-guidance{grid-row:2;grid-column:2;flex-direction:column;text-align:center;padding:16px 10px;gap:10px}body.zen .boxing-next,body.focus .boxing-next{margin:0}body.zen .boxing-free-caption,body.focus .boxing-free-caption{grid-row:2;grid-column:2;align-self:center;font-size:10px}body.zen .boxing-preview-note,body.focus .boxing-preview-note{display:none}body.zen .boxing-guidance strong,body.focus .boxing-guidance strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.boxing-arena-svg animateTransform,.boxing-arena-svg animate{display:none}}
.box-feet-map rect{fill:color-mix(in srgb,var(--signal) 15%,var(--panel));stroke:var(--signal);stroke-width:2.5}.boxing-combo-strip{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:32px}.boxing-combo-step{display:flex;align-items:center;gap:3px;opacity:.4;padding:3px 7px;border-radius:7px;border:1px solid transparent}.boxing-combo-step .box-action-glyph{width:22px;height:22px}.boxing-combo-step small{font-size:9px;color:var(--signal);font-weight:700}.boxing-combo-step.current{opacity:1;background:var(--panel);border-color:var(--line)}@media(orientation:landscape) and (max-height:600px){body.zen .boxing-combo-strip,body.focus .boxing-combo-strip{display:none}}
.boxing-arena{position:relative;display:block;min-width:0;min-height:0}.boxing-arena>.boxing-arena-svg,body.zen .boxing-arena>.boxing-arena-svg,body.focus .boxing-arena>.boxing-arena-svg{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%}@media(orientation:landscape) and (max-height:600px){body.zen .boxing-signal[data-box-style=enemy],body.focus .boxing-signal[data-box-style=enemy],body.zen .boxing-signal[data-box-style=planned],body.focus .boxing-signal[data-box-style=planned]{grid-template-columns:minmax(0,1fr)}body.zen .boxing-signal[data-box-style=enemy] .boxing-free-caption,body.focus .boxing-signal[data-box-style=enemy] .boxing-free-caption,body.zen .boxing-signal[data-box-style=planned] .boxing-free-caption,body.focus .boxing-signal[data-box-style=planned] .boxing-free-caption{display:none}}
/* Speech control stays in the primary toolbar. */
.topbar{position:sticky;top:0;z-index:30;background:var(--bg)}.top-actions #voice-control{min-height:38px;min-width:96px;white-space:nowrap}.top-actions #voice-control.enabled{background:var(--accent);color:var(--accent-ink)}body.zen .topbar,body.focus .topbar{z-index:50;visibility:hidden;pointer-events:none}body.zen #voice-control,body.focus #voice-control{position:fixed;top:max(12px,env(safe-area-inset-top));left:16px;z-index:51;visibility:visible;pointer-events:auto;background:var(--panel);min-height:38px;min-width:96px}body.zen #voice-control.enabled,body.focus #voice-control.enabled{background:var(--accent)}body.zen #voice-indicator,body.focus #voice-indicator{left:auto;right:16px;transform:none;max-width:calc(100vw - 140px)}@media(max-width:700px){.topbar{height:auto;min-height:112px;flex-wrap:wrap;gap:12px;padding:14px 18px}.topbar .brand{width:100%;font-size:18px}.top-actions{width:100%;justify-content:space-between;gap:8px}.top-actions #voice-control{min-width:96px;min-height:36px}.top-actions .zen-entry span{display:inline}.theme-switch button{padding:7px 12px}}@media(max-width:380px){.topbar{padding:12px 14px;gap:10px}.top-actions{gap:5px}.theme-switch button{padding:7px 9px}.top-actions .zen-entry span{display:none}.top-actions #voice-control{min-width:91px}}
#route-banner{border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin:-12px 0 25px;color:var(--signal);font-size:11px;line-height:1.8;background:var(--panel);overflow-wrap:anywhere}#route-banner.route-warning{color:var(--ink);border-color:#b78c5a}#share-dialog{width:min(510px,calc(100% - 28px));max-height:90dvh;overflow:auto}#share-label,#share-url{width:100%;min-width:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:12px}#share-url{font-family:monospace;font-size:10px;resize:vertical;overflow-wrap:anywhere}#share-qr{background:#fff;border-radius:12px;padding:12px;margin-top:18px;color:#24342c;font-size:12px;line-height:1.8;text-align:center;min-height:60px}#share-qr svg{display:block;width:min(260px,100%);height:auto;margin:auto;background:#fff}.share-buttons{display:flex;align-items:center;gap:15px;margin-top:14px}.share-buttons>button{flex:1;min-width:0}.share-secondary{border:1px solid var(--line);padding:15px 12px;border-radius:12px;background:var(--panel);color:var(--ink);font-size:11px;min-height:49px}.top-actions{gap:16px}@media(max-width:1000px){.top-actions{gap:10px}}@media(max-width:700px){.top-actions{gap:6px}.top-actions .zen-entry span{display:none}.top-actions #share-open{width:32px;height:32px}}@media(max-width:380px){.top-actions{gap:4px}.top-actions #share-open{width:28px;height:28px}.theme-switch button{padding:7px 8px}}
/* Boxing v2: photographic keyframes, combinations and an explicit learning cycle. */
.coach-photo{background-image:url('/assets/boxing/coach-atlas.png')}.player-photo{background-image:url('/assets/boxing/player-atlas.png')}.feet-photo{background-image:url('/assets/boxing/feet-atlas.png');background-size:400% 200%!important}.boxing-photo,.box-action-photo{background-size:400% 400%;background-repeat:no-repeat;background-color:#292724}.boxing-photo{position:absolute;inset:0}.boxing-photo-mask{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.southpaw .boxing-photo-mask,.southpaw .photo-preview-player>.boxing-photo{transform:scaleX(-1)}.boxing-photo-preview{height:100%;width:100%;position:relative;border-radius:12px;overflow:hidden;background:#292724}.photo-preview-coach{inset:0}.photo-preview-player{position:absolute;width:42%;aspect-ratio:1;right:9px;bottom:9px;border:2px solid #ddd8c0;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0005}.boxing-photo-preview.southpaw>.photo-preview-coach{transform:scaleX(-1)}.box-action-photo{display:inline-block;width:48px;height:48px;border-radius:8px;flex-shrink:0;vertical-align:middle}.boxing-plan-cue{font-size:10px;gap:10px}.boxing-plan-group{padding-top:12px;border-top:1px solid var(--line)}.boxing-plan-group>strong{font-size:13px;display:block;padding-bottom:7px;color:var(--signal)}.boxing-plan-cue .box-action-photo{width:43px;height:43px}.boxing-custom-thumb{height:190px}.boxing-custom-row input[type=text]{margin-top:8px}.boxing-custom-row .boxing-seconds-label input{max-width:70px}.stage.boxing-stage{height:660px}.boxing-stage .boxing-photo-signal{padding:10px 0;gap:12px;display:flex;align-items:stretch;justify-content:flex-start}.boxing-phase-badge{border:1px solid var(--line);padding:5px 9px;border-radius:20px;color:var(--signal);font-size:10px;letter-spacing:.5px}.boxing-real-scene{position:relative;display:flex;align-items:stretch;justify-content:center;gap:14px;flex:1;min-height:0;min-width:0}.boxing-coach-photo-panel{position:relative;aspect-ratio:1;max-width:100%;max-height:100%;height:100%;border-radius:17px;overflow:hidden;background:#292724;box-shadow:inset 0 0 0 1px #fff1}.boxing-real-scene.has-player .boxing-coach-photo-panel{height:auto;aspect-ratio:1;flex:1;min-width:0}.boxing-player-photo-panel{position:relative;aspect-ratio:1;align-self:center;width:34%;max-height:100%;border-radius:13px;overflow:hidden;border:2px solid var(--signal);background:#292724}.boxing-camera-tag{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:20px;background:#171b18bb;color:#f4f2e7;font-size:9px;letter-spacing:.7px}.boxing-tell-caption{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;padding:8px;background:#171b18c9;color:#e9e9d8;border:1px solid #ffffff20;border-radius:9px;font-size:11px}.boxing-photo-from{animation:boxing-photo-out .24s ease both}.boxing-photo-to{animation:boxing-photo-in .24s ease both}.body-windup .boxing-photo-mask{animation:boxing-body-windup .85s ease-in-out both}.boxing-paused .boxing-photo,.boxing-paused .boxing-photo-mask{animation-play-state:paused!important}.boxing-combo-feedback{display:flex;align-items:center;gap:16px;padding:17px 19px;border-radius:14px;background:var(--panel);border:1px solid var(--line);flex-shrink:0;min-height:78px}.boxing-combo-feedback strong{display:block;font-size:19px;font-weight:600}.boxing-combo-feedback small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.7}.boxing-combo-feedback>div{min-width:0}.boxing-call-mini{font-size:24px;font-weight:700;color:var(--signal);min-width:55px;text-align:center;letter-spacing:2px}.boxing-call-card{justify-content:center;gap:20px}.boxing-call-card strong{font-size:clamp(30px,5vw,56px);letter-spacing:5px;color:var(--signal)}.boxing-call-card>small{margin:0}.boxing-call-card>span{font-size:10px;color:var(--muted)}.boxing-memory-card{border-color:var(--signal);justify-content:space-between;flex-wrap:wrap}.boxing-memory-card>span{font-size:11px;color:var(--signal)}.boxing-memory-card>strong{font-size:26px;letter-spacing:3px}.boxing-memory-card>small{flex-basis:100%;margin:0}.boxing-combo-progress{text-align:center;font-size:9px;letter-spacing:1px;color:var(--muted);flex-shrink:0}.boxing-group-brief{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:17px;padding:22px 14px;background:var(--panel);box-shadow:inset 5px 5px 15px var(--shadow),inset -5px -5px 15px var(--light);overflow:auto}.boxing-group-brief>small{font-size:10px;color:var(--muted);text-align:center}.boxing-group-brief>h2{font-size:clamp(30px,5vw,55px);color:var(--signal);letter-spacing:4px;margin:15px 0 20px}.boxing-group-brief>p{font-size:10px!important;color:var(--muted);line-height:1.8;text-align:center;margin:13px 0 0!important}.boxing-photo-sequence{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;flex-wrap:wrap}.boxing-sequence-shot{position:relative;display:flex;align-items:center;flex-direction:column;gap:6px}.boxing-sequence-shot>.box-action-photo{width:clamp(50px,8vw,95px);height:clamp(50px,8vw,95px);border:1px solid var(--line)}.boxing-sequence-shot>b{position:absolute;top:4px;left:4px;border-radius:50%;min-width:20px;height:20px;text-align:center;line-height:20px;background:var(--accent);color:var(--accent-ink);font-size:10px}.boxing-sequence-shot>small{font-size:9px;color:var(--muted);white-space:nowrap}.boxing-sequence-arrow{color:var(--signal);font-size:16px;margin-bottom:16px}.boxing-intro-progress{color:var(--signal);font-size:11px;text-align:right;margin-bottom:12px}#boxing-intro-dialog{width:min(700px,calc(100% - 24px));max-height:94dvh;overflow:auto;padding:26px}#boxing-intro-title{font-size:21px;line-height:1.4;letter-spacing:.5px}#boxing-intro-stage{margin-bottom:9px;font-size:9px}#boxing-intro-media{height:min(44dvh,380px);min-height:210px;border-radius:17px;overflow:hidden;background:#292724}#boxing-intro-media>.boxing-photo-preview{border-radius:0}#boxing-intro-media[data-kind=response] .photo-preview-player{inset:0;width:100%;height:100%;border:0;border-radius:0}#boxing-intro-media[data-kind=response] .photo-preview-coach{display:none}#boxing-intro-media[data-kind=modes]{background:var(--panel);height:auto;min-height:0}.boxing-modes-lesson{display:grid;gap:12px;padding:12px}.boxing-modes-lesson section{padding:15px;border:1px solid var(--line);border-radius:12px}.boxing-modes-lesson strong{color:var(--signal);font-size:14px}.boxing-modes-lesson p{margin:8px 0 0;font-size:12px}.boxing-intro-controls{display:flex;align-items:center;gap:10px;margin-top:18px}.boxing-intro-controls>button{min-width:0;font-size:11px;flex:1;padding:13px 9px}.boxing-intro-controls #boxing-intro-play{flex:1.4}body[data-theme=sport] .boxing-combo-feedback{border-radius:10px}body[data-theme=sport] .boxing-memory-card{background:#1e302b}body[data-theme=calm] .boxing-memory-card{background:#e7eee2}
@keyframes boxing-photo-out{from{opacity:1}to{opacity:0}}@keyframes boxing-photo-in{from{opacity:0;filter:blur(.5px)}to{opacity:1;filter:blur(0)}}@keyframes boxing-body-windup{0%{translate:0 0;scale:1}65%{translate:2px 1px;scale:1.012}100%{translate:0 0;scale:1}}
body.zen .boxing-photo-signal,body.focus .boxing-photo-signal{padding:35px 0 0;display:flex;gap:12px}body.zen .boxing-real-scene,body.focus .boxing-real-scene{max-height:100%}body.zen .boxing-coach-photo-panel,body.focus .boxing-coach-photo-panel{max-width:900px}body.zen .boxing-combo-feedback,body.focus .boxing-combo-feedback{width:min(850px,100%);align-self:center}body.zen .boxing-combo-feedback strong,body.focus .boxing-combo-feedback strong{font-size:clamp(20px,3vmin,32px)}body.zen .boxing-call-card strong,body.focus .boxing-call-card strong{font-size:6vmin}body.zen .boxing-scene-heading,body.focus .boxing-scene-heading{padding-top:0}
@media(max-width:1000px){.stage.boxing-stage{height:600px}.boxing-real-scene{gap:10px}.boxing-camera-tag{font-size:8px;left:7px;top:7px;padding:4px 6px}}
@media(max-width:700px){.stage.boxing-stage{height:560px}.boxing-stage .boxing-photo-signal{gap:10px}.boxing-real-scene.has-player{display:block}.boxing-real-scene.has-player .boxing-coach-photo-panel{width:100%;height:100%;aspect-ratio:auto}.boxing-real-scene.has-player .boxing-player-photo-panel{position:absolute;bottom:8px;right:8px;width:39%;max-height:45%;aspect-ratio:1}.boxing-combo-feedback{padding:13px 12px;gap:10px;min-height:75px}.boxing-combo-feedback strong{font-size:16px}.boxing-combo-feedback small{font-size:9px}.boxing-call-mini{font-size:20px;min-width:43px}.boxing-call-card strong{font-size:35px}.boxing-call-card>span{font-size:9px}.boxing-group-brief{padding:18px 9px}.boxing-sequence-shot>.box-action-photo{width:62px;height:62px}.boxing-photo-sequence{gap:5px}.boxing-sequence-arrow{font-size:13px}.boxing-sequence-shot>small{font-size:8px}.boxing-memory-card>strong{font-size:23px}.boxing-tell-caption{font-size:10px;bottom:8px;left:8px;right:8px;padding:7px}#boxing-intro-dialog{padding:20px}#boxing-intro-title{font-size:18px}.boxing-intro-controls{flex-wrap:wrap;gap:8px}.boxing-intro-controls>button{min-height:44px}.boxing-intro-controls #boxing-intro-play{flex:1.3}.boxing-custom-thumb{height:190px}body.zen .boxing-photo-signal,body.focus .boxing-photo-signal{padding-top:42px}}
@media(orientation:landscape) and (max-height:600px){.stage.boxing-stage{height:480px}body.zen .boxing-photo-signal,body.focus .boxing-photo-signal{padding-top:32px;display:grid;grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:22px minmax(0,1fr) 12px;gap:8px}body.zen .boxing-photo-signal .boxing-scene-heading,body.focus .boxing-photo-signal .boxing-scene-heading{grid-column:1/-1;grid-row:1}body.zen .boxing-photo-signal .boxing-real-scene,body.focus .boxing-photo-signal .boxing-real-scene{grid-column:1;grid-row:2;display:flex;gap:8px}body.zen .boxing-real-scene.has-player .boxing-coach-photo-panel,body.focus .boxing-real-scene.has-player .boxing-coach-photo-panel{position:relative;width:auto;flex:1;height:100%;aspect-ratio:1}body.zen .boxing-real-scene.has-player .boxing-player-photo-panel,body.focus .boxing-real-scene.has-player .boxing-player-photo-panel{position:relative;inset:auto;width:35%;max-height:85%;align-self:center}body.zen .boxing-photo-signal .boxing-combo-feedback,body.focus .boxing-photo-signal .boxing-combo-feedback{grid-column:2;grid-row:2;flex-direction:column;text-align:center;padding:12px 9px;justify-content:center;gap:8px}body.zen .boxing-photo-signal .boxing-combo-progress,body.focus .boxing-photo-signal .boxing-combo-progress{grid-column:1/-1;grid-row:3}body.zen .boxing-group-brief,body.focus .boxing-group-brief{grid-column:1;grid-row:2;padding:9px}body.zen .boxing-group-brief>h2,body.focus .boxing-group-brief>h2{font-size:28px;margin:8px}body.zen .boxing-group-brief>p,body.focus .boxing-group-brief>p{display:none}body.zen .boxing-sequence-shot>.box-action-photo,body.focus .boxing-sequence-shot>.box-action-photo{width:50px;height:50px}body.zen .boxing-combo-feedback strong,body.focus .boxing-combo-feedback strong{font-size:20px}#boxing-intro-media{height:40dvh;min-height:140px}}
@media(prefers-reduced-motion:reduce){.boxing-photo-from{display:none}.boxing-photo-to{opacity:1;animation:none}.body-windup .boxing-photo-mask{animation:none}}
@media(orientation:landscape) and (max-height:600px){body.zen .boxing-photo-signal[data-box-style],body.focus .boxing-photo-signal[data-box-style]{grid-template-columns:minmax(0,1fr) 200px}}
/* Keep photographic keyframes square: never stretch a person's proportions. */
.boxing-real-scene{container-type:size;align-items:center}.boxing-coach-photo-panel{width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-width:100%;max-height:100%;flex:none}.boxing-real-scene.has-player .boxing-coach-photo-panel{width:min(62cqw,100cqh);height:min(62cqw,100cqh);flex:none;aspect-ratio:1}.boxing-player-photo-panel{width:min(32cqw,75cqh);height:min(32cqw,75cqh);aspect-ratio:1;flex:none}.boxing-photo-preview{container-type:size}.photo-preview-coach{inset:auto;left:50%;top:50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%)}.boxing-photo-preview.southpaw>.photo-preview-coach{transform:translate(-50%,-50%) scaleX(-1)}#boxing-intro-media[data-kind=response] .photo-preview-player{inset:auto;left:50%;top:50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%)}@media(max-width:700px){.boxing-real-scene.has-player .boxing-coach-photo-panel{position:absolute;inset:auto;left:50%;top:50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%)}.boxing-real-scene.has-player .boxing-player-photo-panel{width:min(39cqw,45cqh);height:min(39cqw,45cqh)}}@media(orientation:landscape) and (max-height:600px){body.zen .boxing-real-scene.has-player .boxing-coach-photo-panel,body.focus .boxing-real-scene.has-player .boxing-coach-photo-panel{position:relative;inset:auto;transform:none;width:min(62cqw,100cqh);height:min(62cqw,100cqh);flex:none}body.zen .boxing-real-scene.has-player .boxing-player-photo-panel,body.focus .boxing-real-scene.has-player .boxing-player-photo-panel{width:min(32cqw,75cqh);height:min(32cqw,75cqh)}}

/* Compact navigation and editable sequence presets. */
main{padding-top:24px}.modes button[data-mode="actions"],.modes button[data-mode="boxing"]{grid-column:auto}
.sequence-presets-heading{font-size:12px;color:var(--muted);margin:20px 0 10px}#sequence-presets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preset-sequence{border:1px solid var(--line);border-radius:14px;padding:15px;text-align:left;background:var(--stage);color:var(--ink)}.preset-sequence small{display:block;margin-top:8px;color:var(--muted);font-size:11px}
@media(max-width:700px){.modes button[data-mode="actions"],.modes button[data-mode="boxing"]{grid-column:span 2}main{padding-top:18px}}
/* One shared vector scene: coach + optional first-person guidance. */
:root{--bv-paper:var(--stage);--bv-coach:#3c5147;--bv-skin:#cba987;--bv-arm:#e2c4a4;--bv-glove:#3a5448;--bv-outline:#283f35;--bv-gloveLight:#59705c;--bv-ground:#d7decf;--bv-warm:#f9edce;--bv-accent:#dcf385}
body[data-theme=sport]{--bv-coach:#627989;--bv-skin:#d4ae8b;--bv-arm:#e0bc96;--bv-glove:#b3ce56;--bv-outline:#283b29;--bv-gloveLight:#cfeb75;--bv-ground:#3a4a4c;--bv-warm:#899e50;--bv-accent:#d6fa63}
.boxing-vector-svg{display:block;width:100%;height:100%;overflow:hidden}.boxing-vector-svg .bv-floor{stroke:var(--bv-ground);fill:none;stroke-width:1}.boxing-vector-svg .bv-body{fill:var(--bv-coach)}.boxing-vector-svg .bv-skin-fill{fill:var(--bv-skin)}.boxing-vector-svg .bv-leg{stroke:var(--bv-coach);stroke-width:35;fill:none;stroke-linecap:round;stroke-linejoin:round}.boxing-vector-svg .bv-arm{stroke:var(--bv-skin);stroke-width:22;fill:none;stroke-linecap:round;stroke-linejoin:round}.boxing-vector-svg .bv-sleeve{stroke:var(--bv-coach);stroke-width:34;fill:none;stroke-linecap:round}.boxing-vector-svg .bv-pad{fill:var(--bv-coach);stroke:var(--bv-paper);stroke-width:2}.boxing-vector-svg .bv-pad-target{fill:var(--bv-accent)}.boxing-vector-svg .bv-palm{fill:var(--bv-glove);stroke:var(--bv-outline);stroke-width:2}.boxing-vector-svg .bv-palm-light{fill:var(--bv-gloveLight)}.boxing-vector-svg .bv-player-arm{fill:var(--bv-arm)}.boxing-vector-svg .bv-trace{fill:none;stroke:var(--bv-coach);stroke-width:2;stroke-dasharray:5 6}.boxing-vector-svg .bv-label-bg{fill:var(--bv-paper);stroke:var(--line)}.boxing-vector-svg .bv-label-text{fill:var(--ink);font-size:12px;font-family:inherit}.boxing-vector-scene{flex:1;min-height:0;min-width:0;width:100%;overflow:hidden;border-radius:18px;background:var(--stage)}
.stage.boxing-stage .boxing-vector-signal{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;gap:8px;padding:8px 0}.boxing-vector-guidance{min-height:62px;flex-shrink:0;padding:12px 16px}.boxing-vector-guidance strong{font-size:19px}.boxing-vector-guidance small{font-size:11px}.boxing-vector-guidance>div{min-width:0}.boxing-vector-guidance .boxing-call-mini{font-size:23px;min-width:44px}.boxing-vector-preview{height:100%;width:100%;background:var(--stage);border-radius:15px;overflow:hidden}.boxing-vector-thumb{background:var(--stage);border:1px solid var(--line);overflow:hidden}.boxing-vector-thumb .boxing-vector-svg{transform:scale(1.23);transform-origin:50% 52%}.boxing-custom-thumb{background:var(--stage)}#boxing-intro-media{background:var(--stage)}body.zen .stage.boxing-stage .boxing-vector-signal{display:flex;flex-direction:column;padding-top:40px;gap:8px}body.zen .boxing-vector-guidance{width:min(720px,100%);align-self:center}.boxing-vector-signal .boxing-scene-heading,.boxing-vector-signal .boxing-combo-progress{flex-shrink:0}
@media(max-width:700px){.boxing-vector-guidance{min-height:62px;padding:10px 12px}.boxing-vector-guidance strong{font-size:17px}.boxing-vector-guidance small{font-size:10px}.boxing-vector-signal .boxing-combo-progress{padding:3px}.boxing-vector-scene{border-radius:14px}}
@media(orientation:landscape) and (max-height:600px){body.zen .stage.boxing-stage .boxing-vector-signal{display:flex;flex-direction:column;padding-top:26px;gap:3px}body.zen .boxing-vector-guidance{position:absolute;right:12px;bottom:20px;width:190px;padding:12px;min-height:0;flex-direction:column;gap:5px;pointer-events:none}body.zen .boxing-vector-guidance strong{font-size:18px}body.zen .boxing-vector-signal .boxing-scene-heading{padding:0 6px}body.zen .boxing-vector-signal .boxing-combo-progress{padding:0}.boxing-vector-guidance small{overflow-wrap:anywhere}}

.two-fields.single-field{grid-template-columns:1fr}
.boxing-vector-guidance .boxing-call-mini{max-width:42%;white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:clamp(14px,2.2vw,22px)}
@media(orientation:landscape) and (max-height:600px){body.zen .boxing-vector-guidance .boxing-call-mini{max-width:100%;font-size:17px}}
.boxing-section-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0 9px}.boxing-section-fields label{font-size:10px;line-height:1.6;color:var(--muted)}.boxing-section-fields input{width:100%;min-width:0;padding:10px 8px;margin-top:6px;font-variant-numeric:tabular-nums}#boxing-goal{font-size:11px;line-height:1.7}#boxing-session-summary{font-variant-numeric:tabular-nums;font-size:10px}.boxing-vector-scene{position:relative}.boxing-section-card{position:absolute;top:6%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 22px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--ink);white-space:nowrap}.boxing-section-card strong{font-size:20px;font-weight:600}.boxing-section-card span{font-size:11px;color:var(--muted)}.boxing-section-progress{display:flex;justify-content:center;align-items:center;gap:14px;font-size:11px;min-height:25px}.boxing-section-progress strong{font-size:19px;font-variant-numeric:tabular-nums;font-weight:500}.boxing-plan-cue span{overflow-wrap:anywhere}.boxing-section-progress>span{line-height:1.5}
@media(max-width:700px){.boxing-section-card{padding:8px 16px;top:5%}.boxing-section-card strong{font-size:17px}.boxing-section-progress{font-size:10px}.boxing-section-progress strong{font-size:17px}}

#music-options{padding-bottom:6px}.music-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 3px}#music-tempo{font-variant-numeric:tabular-nums;font-size:10px}.music-actions button{min-height:32px;font-size:11px}#music-options .range-heading output{font-size:12px}
