/* Timeline ou grille de clips (logiciels.html#session) */
.session-section{padding:100px 7vw;background:#f3f5fa;border-top:1px solid var(--line);scroll-margin-top:72px}
.session-section>div{max-width:1200px;margin:auto}
.session-section header h2{margin:8px 0 14px;font-size:clamp(36px,5vw,62px);line-height:1;letter-spacing:-.05em}
.session-section header p,.session-section>div>p{max-width:900px;font-size:17px;color:#434958}
.session-section h3{margin:44px 0 12px;font-size:26px;letter-spacing:-.02em}
.session-views{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.session-views article{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line)}
.session-views small{font:10px 'DM Mono';color:var(--blue);letter-spacing:.06em}
.session-views h4{margin:6px 0 12px;font-size:20px}
.session-views p{margin:10px 0 0;font-size:14px;color:#434958}
.sv-timeline,.sv-grid{display:grid;gap:4px;padding:10px;border-radius:10px;background:var(--ink)}
.sv-timeline div{display:flex;gap:3px;height:16px}
.sv-timeline span{border-radius:3px;background:var(--c)}
.sv-grid{grid-template-columns:repeat(4,1fr)}
.sv-grid span{height:16px;border-radius:3px;background:var(--c,#ffffff14)}
.sv-grid span.play{box-shadow:0 0 0 2px #fff}
.session-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.session-rules article{padding:18px;border-radius:13px;background:#fff;border:1px solid var(--line)}
.session-rules span{font:600 22px 'DM Mono';color:var(--blue)}
.session-rules b{display:block;margin:6px 0 4px;font-size:15px}
.session-rules p{margin:0;font-size:13.5px;color:#434958}
.session-names{font-size:14px!important;color:var(--muted)!important}
.session-warn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.session-warn aside{padding:18px 20px;border-radius:13px;background:#fff1ec;border-left:4px solid var(--orange)}
.session-warn aside.tip{background:#e9f8f0;border-left-color:#2c9d63}
.session-warn b{display:block;margin-bottom:5px}
.session-warn p{margin:0;font-size:14px;color:#434958}
.session-steps{margin:14px 0;padding-left:22px;display:grid;gap:8px;font-size:15.5px;color:#434958}
.session-steps b{color:var(--ink)}

/* Outil */
.session-grid{--lane-label:78px;margin:22px 0 10px;padding:14px;border-radius:18px;background:#111620;color:#e7ebf3;user-select:none;-webkit-user-select:none}
.session-grid svg{width:11px;height:11px;fill:currentColor;flex:0 0 auto}
.session-grid button{font:inherit;cursor:pointer}
.sg-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}
.sg-tbtn,.sg-back{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #ffffff24;border-radius:8px;background:#1b2130;color:#e7ebf3;font-size:13px!important;font-weight:700}
.sg-tbtn.on[data-act=play]{background:#2c9d63;border-color:#2c9d63;color:#fff}
.sg-rec svg{fill:#ff6b4a}
.sg-rec.on{background:#e0412b;border-color:#e0412b;color:#fff}
.sg-rec.on svg{fill:#fff}
.sg-back:disabled{opacity:.35;cursor:default}
.sg-back.lit{background:#ffb35c;border-color:#ffb35c;color:#151925}
.sg-quant{font-size:12.5px;color:#aab2c2}
.sg-quant select{margin-left:4px;padding:5px 6px;border:1px solid #ffffff2a;border-radius:6px;background:#1b2130;color:#fff;font:inherit;font-size:12.5px}
.sg-pos{margin-left:auto;font:12px 'DM Mono';color:var(--mint)}
.sg-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr)) minmax(92px,.8fr);gap:4px}
.sg-head{padding:6px 8px;border-radius:6px;background:#1b2130;font-size:12px;font-weight:800;color:#cfd5e1}
.sg-scene-head{color:#8f98aa;font:9px 'DM Mono';letter-spacing:.06em;display:grid;align-items:center}
.sg-clip,.sg-empty,.sg-scene,.sg-tstop{position:relative;display:flex;align-items:center;gap:7px;min-width:0;height:42px;padding:0 10px;border-radius:7px;overflow:hidden;text-align:left;font-size:12.5px!important;font-weight:700}
.sg-clip{border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 22%,#1b2130);color:#fff}
.sg-clip span,.sg-scene span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-clip svg{color:var(--c)}
.sg-clip i{position:absolute;left:0;bottom:0;height:3px;width:0;background:#fff}
.sg-clip:hover{border-color:var(--c)}
.sg-clip.on{background:var(--c);color:#151925}
.sg-clip.on svg{color:#151925}
.sg-clip.on i{background:#151925}
.sg-clip.wait,.sg-tstop.wait{animation:sgBlink .45s steps(2,start) infinite}
@keyframes sgBlink{to{filter:brightness(1.7)}}
.sg-empty{justify-content:center;border:1px dashed #ffffff1c;background:#151a24;color:#4d5568}
.sg-empty:hover{color:#aab2c2}
.sg-scene{border:1px solid #ffffff1c;background:#1b2130;color:#e7ebf3}
.sg-scene svg{color:var(--c)}
.sg-scene:hover{border-color:var(--c)}
.sg-tstop{justify-content:center;height:30px;border:1px solid #ffffff14;background:#151a24;color:#8f98aa}
.sg-allstop{gap:6px;font-size:11.5px!important}
.sg-arr{position:relative;margin-top:14px;padding:10px;border-radius:12px;background:#0b0f16}
.sg-arr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.sg-arr-head small{font:9px 'DM Mono';color:#8f98aa;letter-spacing:.06em}
.sg-arr-head button{padding:4px 9px;border:1px solid #ffffff24;border-radius:6px;background:none;color:#aab2c2;font-size:11.5px!important}
.sg-ruler,.sg-cells{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}
.sg-ruler{margin-left:var(--lane-label)}
.sg-ruler span{font:9px 'DM Mono';color:#6c7588}
.sg-lane{display:grid;grid-template-columns:var(--lane-label) minmax(0,1fr);align-items:center;margin-top:3px;transition:opacity .2s}
.sg-lane b{font-size:11.5px;color:#cfd5e1}
.sg-cells span{height:22px;border-radius:3px;background:#1b2130;font-size:9.5px;font-weight:800;line-height:22px;padding-left:4px;color:#151925;white-space:nowrap;overflow:visible}
.sg-lane.off{opacity:.35}
.sg-lane.off b:after{content:" · grille";font-weight:400;color:#ffb35c}
.sg-head-line{position:absolute;top:30px;bottom:8px;width:2px;background:#ff6b4a;pointer-events:none}
.sg-status{min-height:2.8em;margin:10px 2px 0;font-size:14px!important;color:var(--mint)!important}
@media(max-width:900px){.session-rules{grid-template-columns:1fr 1fr}.session-views,.session-warn{grid-template-columns:1fr}.sg-pos{margin-left:0;width:100%}}
@media(max-width:620px){.session-grid{--lane-label:62px;padding:10px}.session-rules{grid-template-columns:1fr}.sg-grid{grid-template-columns:repeat(var(--cols),minmax(0,1fr)) 64px}.sg-clip,.sg-scene{padding:0 6px;gap:4px;font-size:11px!important}.sg-clip svg,.sg-scene svg{display:none}.sg-cells span{font-size:0}}
@media(prefers-reduced-motion:reduce){.sg-clip.wait,.sg-tstop.wait{animation:none;outline:2px dashed #fff;outline-offset:-3px}}
