.progress .status{margin-top:8px;font-size:11px;color:#c5d3cc;gap:7px;background:none;border:0;padding:0}
.workout-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:12px;color:#d5e4df}
.workout-controls select,.workout-controls input,.workout-controls button{border:1px solid #ffffff40;border-radius:20px;background:#0a252bc0;color:inherit;padding:8px 12px;font:inherit}
.workout-controls input{width:95px;margin-right:7px}.workout-controls>span{font-size:11px;opacity:.7}
.workout-controls input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
#sceneLoading{position:fixed;inset:0;z-index:2;display:grid;place-items:center;background:#143b39;overflow:hidden}
#sceneLoading[hidden]{display:none}
.scene-loading #rearPanel{visibility:hidden}
.loading-backdrop{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:blur(22px) brightness(.55)}
.loading-backdrop:not([src]){visibility:hidden}
.loading-card{position:relative;width:min(380px,80vw);text-align:center;color:#edf2e7}
.loading-eyebrow{font-size:10px;letter-spacing:.22em;color:#c1d4c6}
.loading-card h2{font:normal 34px Georgia,serif;letter-spacing:-.02em;margin:20px 0 14px}
.loading-card p{font-size:13px;min-height:32px;color:#d4dfd5}
.loading-track{height:3px;margin:20px 0 10px;background:#d9eee02a;overflow:hidden;border-radius:3px}
.loading-track i{display:block;height:100%;width:0;background:#b9d6be;transition:width .15s linear}
#loadingPercent{font-size:12px;font-variant-numeric:tabular-nums;color:#c0d6c6}
.progress .dot{width:5px;height:5px;opacity:.8}
.toolbar .fullscreen{margin-left:auto;border:0;background:transparent;border-radius:8px;padding:7px 9px;display:flex;align-items:center}
.fullscreen:hover{background:#173f3a88}
#rearPanel{position:fixed;z-index:4;box-sizing:border-box;border:1px solid #31564c;border-radius:12px;box-shadow:0 0 0 1px #041d1944;pointer-events:none}
#rearPanel:hover,#rearPanel.resizing{border-color:#688c7b}
#rearPanel[hidden]{display:none}
.rear-handle{position:absolute;pointer-events:auto;touch-action:none}
.rear-handle[data-edge=n],.rear-handle[data-edge=s]{left:12px;right:12px;height:9px;cursor:ns-resize}
.rear-handle[data-edge=n]{top:-4px}.rear-handle[data-edge=s]{bottom:-4px}
.rear-handle[data-edge=w],.rear-handle[data-edge=e]{top:12px;bottom:12px;width:9px;cursor:ew-resize}
.rear-handle[data-edge=w]{left:-4px}.rear-handle[data-edge=e]{right:-4px}
.rear-handle[data-edge=nw],.rear-handle[data-edge=ne],.rear-handle[data-edge=sw],.rear-handle[data-edge=se]{width:17px;height:17px}
.rear-handle[data-edge=nw]{left:-4px;top:-4px;cursor:nwse-resize}
.rear-handle[data-edge=ne]{right:-4px;top:-4px;cursor:nesw-resize}
.rear-handle[data-edge=sw]{left:-4px;bottom:-4px;cursor:nesw-resize}
.rear-handle[data-edge=se]{right:-4px;bottom:-4px;cursor:nwse-resize}
#notice{top:auto;bottom:170px}
@media(max-width:700px){#notice{bottom:240px;top:auto}.toolbar .fullscreen{margin-left:0}.progress .status{font-size:11px}}

/* La rivière reste le premier plan. Les réglages se rangent sous le miroir. */
[hidden]{display:none!important}
#notice{display:none!important}
.shell,.active .shell{justify-content:flex-end;pointer-events:none}
.shell button,.shell select{pointer-events:auto}
.bottom{margin:0}.metrics,.active .metrics{position:fixed;bottom:92px;left:32px;gap:30px;background:#092c2da8;border:1px solid #bddecd29;backdrop-filter:blur(9px);padding:16px 22px;border-radius:15px}
.metric strong{font-size:29px}.metric span{font-size:9px;letter-spacing:.12em}
.toolbar{position:fixed;bottom:24px;left:32px;right:32px;align-items:center;margin:0;gap:9px}
.toolbar .fullscreen{margin-left:0}.gauge-wrap{margin-left:auto;width:150px;color:#dce9df;font-size:10px;text-align:right;pointer-events:none}
#workoutGauge{margin-top:7px;height:3px;background:#c1e2ce38;border-radius:3px;overflow:hidden}
#workoutGauge #bar{height:3px;background:#c1e2ce}
#settingsToggle,#sessionPanel{position:fixed;right:44px;z-index:5;box-sizing:border-box}
#settingsToggle{border:1px solid #73948488;border-radius:8px;padding:10px 15px;background:#153c35eb;color:#e5eee3;font:500 12px 'Avenir Next',sans-serif;cursor:pointer}
#settingsToggle[aria-expanded=true]{background:#c1d9c6;color:#153c35}
#sessionPanel{width:min(380px,calc(100vw - 32px));background:#0c2928f5;border:1px solid #7ca28b60;border-radius:15px;box-shadow:0 15px 45px #00151355;overflow:auto;overscroll-behavior:contain;color:#e6eee4;scrollbar-width:thin;scrollbar-color:#648477 transparent;padding:22px;font-size:13px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading small{font-size:9px;letter-spacing:.2em;color:#a5c2af}.panel-heading h2{font:normal 30px Georgia,serif;margin:5px 0 0}
#sessionPanel button,#sessionPanel select,#sessionPanel input{font:inherit;color:inherit;border:1px solid #92b5a044;background:#21453d;border-radius:8px;padding:9px 11px;max-width:100%}
#sessionPanel button{cursor:pointer}#sessionPanel button:hover{background:#31564a}#sessionPanel button:disabled{opacity:.5;cursor:default}
#sessionPanel :focus-visible,#settingsToggle:focus-visible{outline:2px solid #c1e2ce;outline-offset:3px}
#sessionPanel select{width:100%;margin-top:5px}#sessionPanel select:disabled,#sessionPanel input:disabled{opacity:.65}
#sessionPanel label{display:block;color:#cbdcce;font-size:11px}#sessionPanel label select,#sessionPanel label input{font-size:13px;color:#f0f3e9}
#closeSettings{font-size:22px!important;border:0!important;background:transparent!important;padding:5px 10px!important}
.panel-section{margin-top:20px;padding-top:16px;border-top:1px solid #b5cdb21c}.panel-section h3{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.04em;color:#e9eee1}
.panel-fields{display:grid;gap:10px}.panel-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
#sessionPanel .primary,#sessionPanel #restartWorkout{background:#c1d9c6;color:#163e33}
#sessionPanel .workout-controls{gap:8px;margin-top:12px}#sessionPanel .workout-controls>label:first-child{width:100%}#sessionPanel .workout-controls select{width:auto;margin:0}#sessionPanel #goalValueLabel{display:flex;align-items:center}
#sessionPanel .workout-controls>span{display:none}#sessionPanel #goalValue{width:84px;margin:0 7px 0 0}
.cadence-control{display:flex;gap:10px;align-items:center;margin-top:9px}#sessionPanel input[type=range]{padding:0;width:55%;accent-color:#b8d4bd}.cadence-control output{font-size:12px;white-space:nowrap}
#cadenceSetting,#replaySetting{margin-top:15px}.panel-note{color:#a6c0b0;font-size:11px;line-height:1.55;margin:10px 0 0}.panel-note.error{color:#ffc7ac}
.history-heading{display:flex;justify-content:space-between;align-items:baseline}.history-heading span{color:#b2c8b8;font-size:11px}
#sessionHistory{font-size:12px;color:#a6c0b0;line-height:1.5;margin-top:12px}.history-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #b5cdb21c}.history-row strong{font-size:11px;font-weight:500;color:#e2ebdf;display:block}.history-row span{display:block;font-size:10px;margin-top:4px}.history-row button{font-size:11px!important;padding:7px!important}
#panelFeedback{font-size:13px;line-height:1.6;padding:14px;background:#254b40;border-radius:9px;border:1px solid #a2c5a855;margin:20px 0 0}
@media(max-width:700px){#sessionPanel,#settingsToggle{right:16px}.metrics,.active .metrics{bottom:88px;left:16px;gap:18px;padding:13px}.metric strong{font-size:24px}.metric span{font-size:8px}.toolbar{left:16px;right:16px;bottom:18px;gap:5px}.toolbar button{padding:9px;font-size:11px}.gauge-wrap{width:85px}}
