/* ── Cutscene choice panel (narrative/cutscenes_choice.js) ──
   Mounted inside .cs1-content; overlays the dialogue area.
   Vertical stack of up to 3 full-sentence buttons + countdown bar at the bottom. */
.cs1-choice{margin-top:auto;display:flex;flex-direction:column;gap:clamp(8px,1.2vh,14px);padding-top:clamp(10px,1.6vh,18px);z-index:8;animation:cs1ChoiceIn .28s ease both}
/* While choosing, the anchor reply shrinks so it never sits behind the buttons */
.cs1-content.cs1-choosing .cs1-dialogue{flex:0 1 auto;justify-content:flex-start;max-height:34%}
@keyframes cs1ChoiceIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.cs1-choice-prompt{display:flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:clamp(12px,1.2vw,15px);font-weight:600;letter-spacing:.04em;color:#cfd8e2}
.cs1-choice-icon{color:#ff6a2c;font-size:1.05em;line-height:1}
.cs1-choice-list{display:flex;flex-direction:column;gap:clamp(7px,1vh,11px)}
.cs1-choice-opt{text-align:left;font-family:'Montserrat',sans-serif;font-size:clamp(15px,1.45vw,21px);font-weight:500;line-height:1.35;color:#eef2f6;padding:clamp(10px,1.4vh,16px) clamp(16px,1.6vw,26px);background:rgba(8,12,19,.92);border:1px solid #2b3644;border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .08s ease}
.cs1-choice-opt:hover{background:rgba(14,20,30,.85);transform:translateX(3px)}
.cs1-choice-opt.is-warm{border-left:3px solid #ff6a2c}
.cs1-choice-opt.is-hard{border-left:3px solid #ff6a2c}
.cs1-choice-opt.is-warm:hover,.cs1-choice-opt.is-hard:hover{border-color:#ff6a2c}
.cs1-choice-opt.is-neutral{color:#9fb0c0;border-left:3px solid #3a4655}
.cs1-choice-opt.is-neutral:hover{border-color:#5a6678;color:#cfd8e2}
.cs1-choice-timer{height:3px;width:100%;background:rgba(58,70,85,.4);border-radius:2px;overflow:hidden;margin-top:clamp(4px,.8vh,8px)}
.cs1-choice-timer-fill{height:100%;width:100%;background:#ff6a2c;border-radius:2px}
.cs1-choice.pulsing .cs1-choice-timer-fill{animation:cs1ChoicePulse .5s ease-in-out infinite}
.cs1-choice.pulsing .cs1-choice-timer{box-shadow:0 0 10px rgba(255,106,44,.6)}
@keyframes cs1ChoicePulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Choice-consequence affinity banners (stacked left column, above dialogue panel) ── */
.cs1-banner-col{position:absolute;left:clamp(16px,3.2vw,46px);top:clamp(60px,15vh,150px);transform:none;display:flex;flex-direction:column;gap:9px;z-index:25;pointer-events:none}
.cs1-affinity-banner{position:relative;left:auto;right:auto;top:auto;display:flex;align-items:center;gap:9px;background:linear-gradient(100deg,rgba(8,12,18,.96),rgba(11,16,23,.82));border:1px solid var(--af-color,#ff6a2c);border-left:3px solid var(--af-color,#ff6a2c);border-radius:7px;padding:9px 16px 9px 13px;font-family:'Montserrat',sans-serif;font-size:clamp(11px,1.05vw,14px);font-weight:600;letter-spacing:.05em;color:#e7eef6;white-space:nowrap;pointer-events:none;box-shadow:0 4px 18px rgba(0,0,0,.45),0 0 14px -4px var(--af-color,#ff6a2c);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:cs1AffinityIn .34s cubic-bezier(.2,.8,.25,1) both,cs1AffinityOut .45s ease 7.8s both}
.cs1-affinity-banner::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--af-color,#ff6a2c);box-shadow:0 0 8px var(--af-color,#ff6a2c);flex:0 0 auto}
.cs1-affinity-banner.is-crew{--af-color:#ff8a3c;color:#fff;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
@keyframes cs1AffinityIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}
@keyframes cs1AffinityOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-10px)}}
