.table-scroll{overflow-x:auto;touch-action:pan-x}table{width:100%;border-collapse:collapse;font-size:13px}caption{text-align:left;color:#aabb9e;margin:16px 0;line-height:1.6}th,td{padding:14px 10px;text-align:left;border-bottom:1px solid #aabb9e33;min-width:95px}.instructions .preview-wrap{height:115px;aspect-ratio:auto;max-width:230px;margin:12px 0}.instructions .preview-wrap video{width:100%;height:100%;object-fit:contain}#live-controls{position:absolute;top:20px;left:24px;right:24px;text-align:center}#live-controls select{display:block;max-width:300px;width:100%;margin:10px auto;padding:12px;background:#1d3027;color:#eee8d8;border:1px solid #aabb9e;border-radius:10px;font:inherit}#live-status{font-size:12px}.instructions h2{font-size:32px}.instructions p{font-size:14px}#storage-note{overflow-wrap:anywhere}button:disabled{opacity:.45;cursor:default}#target,#test-target{pointer-events:none}@media(max-width:700px){.instructions{width:calc(100% - 40px);max-height:calc(100% - 112px)}.instructions h2{font-size:28px}.instructions p{font-size:13px}.instructions .preview-wrap{height:90px}th,td{min-width:105px;padding:12px 6px}}

@media(max-width:700px){table{table-layout:fixed;font-size:11px}th,td{min-width:0;padding:10px 3px;overflow-wrap:anywhere}caption{font-size:12px}}

/* Jauge de posture (parcours « petits mouvements ») */
.pose-gauge{display:flex;gap:14px;align-items:center;margin:10px 0;color:#eee8d8}
.pose-gauge[hidden]{display:none}
.pose-map{position:relative;width:104px;height:104px;flex:none;border:1px solid #aabb9e66;border-radius:10px;background:#0f1d17;overflow:hidden}
.pose-map::before,.pose-map::after{content:'';position:absolute;background:#aabb9e33}
.pose-map::before{left:50%;top:0;bottom:0;width:1px}.pose-map::after{top:50%;left:0;right:0;height:1px}
.pose-zone{position:absolute;background:#7fcf8a3a;border:1px solid #7fcf8a;border-radius:4px}
.pose-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fa766a;box-shadow:0 0 8px #fa766a99;transition:left .12s linear,top .12s linear}
.pose-gauge.ok .pose-dot{background:#9be3a4;box-shadow:0 0 8px #9be3a499}
.pose-side{flex:1;min-width:0}
.pose-bar{position:relative;height:10px;border-radius:5px;background:#0f1d17;border:1px solid #aabb9e66;margin:6px 0 8px}
.pose-bar .pose-zone{top:-1px;bottom:-1px}
.pose-bar .pose-dot{top:50%}
.pose-label{font-size:11px;color:#aabb9e;margin:0}
.pose-text{font-size:14px;margin:0;min-height:2.6em;line-height:1.3}
#stage-hud .pose-gauge{justify-content:center;margin:8px auto 0;max-width:340px}
#stage-hud .pose-map{width:64px;height:64px}

/* Recentrage */
#anchor{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;pointer-events:none;background:conic-gradient(#9be3a4 var(--fill,0%),#9db08c33 0);display:grid;place-items:center}
#anchor::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#14251e}
#anchor .anchor-core{position:relative;width:8px;height:8px;border-radius:50%;background:#eee8d8}
.drift{margin:10px 0}.drift[hidden]{display:none}
.drift-bar{position:relative;height:10px;border-radius:5px;background:#0f1d17;border:1px solid #aabb9e66;max-width:320px}
.drift-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:#aabb9e;width:0}
.drift-bar i{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#fa766a}
.drift .pose-label{margin-top:8px}
