/* ECOS · cuaderno, provisiones y técnicas. Sólo los menús de pausa. */
#modal-root .pause-modal { width:min(1060px,100%); height:min(780px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px); display:flex; flex-direction:column; padding:0; overflow:hidden; border:1px solid #baa3ad; border-radius:8px; background:linear-gradient(140deg,#302133,#211927 62%); }
.pause-modal *, .pause-modal *::before { min-width:0; }
.pause-modal .pause-header { padding:18px 24px 10px; gap:18px; flex-shrink:0; }
.pause-modal .pause-header h2 { margin:4px 0 0; font-size:clamp(23px,3vw,30px); }
.pause-modal .pause-header img { width:42px; height:42px; object-fit:contain; }
.pause-modal .menu-eyebrow { color:#d8b18e; font-size:10px; letter-spacing:.13em; }
.pause-modal .pause-meta { padding:0 24px 13px; font-size:11px; flex-shrink:0; flex-wrap:wrap; gap:8px 14px; }
.pause-modal .pause-tabs { flex-shrink:0; padding:0 24px; background:#160f1b55; border-color:#735c71; }
.pause-modal .pause-tabs button { border:0; border-bottom:3px solid transparent; min-height:48px; padding:10px 23px; }
.pause-modal .pause-tabs button[aria-selected=true] { background:#73536130; border-bottom-color:#d8b18e; color:#faeddd; }
.pause-modal .pause-pages { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; background:transparent; scroll-padding-block:12px; }
.pause-modal .pause-page { padding:20px 24px; }
.pause-modal .pause-footer { flex-shrink:0; padding:12px 24px; border-color:#735c71; background:#211525; gap:14px; }
.pause-modal .pause-footer .cmd { min-height:44px; padding:9px 14px; font-size:12px; }
.pause-modal .pause-footer .keyboard-help { font-size:10px; }
:root[data-input-modality="keyboard"] .pause-modal :is(button,a):focus { outline:2px solid #fff3d8; outline-offset:3px; }
.provision-grid { display:grid; grid-template-columns:minmax(205px,.8fr) minmax(0,1.8fr); gap:20px; align-items:start; }
.provision-list { display:grid; gap:8px; }
.provision-choice { display:flex; align-items:center; gap:10px; width:100%; min-height:76px; padding:12px; border:1px solid #786175; border-radius:5px; background:#3c293c; color:#f2e7de; text-align:left; cursor:pointer; font:inherit; }
.provision-choice>span { flex:1; display:grid; gap:6px; }
.provision-choice b { font-size:13px; line-height:1.3; }
.provision-choice small { color:#d1bacb; font-size:11px; }
.provision-choice strong { color:#ebcbaa; font:24px Georgia,serif; }
.provision-choice[aria-pressed=true], .crew-member[aria-pressed=true] { border-color:#e3c7a9; background:linear-gradient(110deg,#654053,#482e41); box-shadow:inset 3px 0 #e3c7a9; }
.provision-detail { padding:18px; border:1px solid #866b8066; border-top:2px solid #b68d7566; border-radius:5px; background:linear-gradient(145deg,#241a2e,#1c1723); }
.provision-caption h3 { margin:6px 0 9px; color:#faecdc; font:600 24px/1.2 Georgia,serif; text-transform:none; letter-spacing:0; }
.provision-caption p { color:#d1c1d1; font-size:12px; line-height:1.6; margin:0 0 16px; }
.provision-targets { display:grid; gap:9px; }
.provision-target { display:grid; width:100%; grid-template-columns:44px minmax(80px,1fr) minmax(145px,1.4fr); align-items:center; gap:8px 12px; padding:13px; border:1px solid #80657b; border-radius:5px; background:#422e43; color:#f3e8df; text-align:left; font:inherit; cursor:pointer; }
.provision-target:hover:not(:disabled) { background:#51384d; border-color:#dcbdab; }
.provision-target:disabled { opacity:1; cursor:default; background:#2d2332; border-color:#55455d; }
.provision-target:disabled .provision-effect { color:#b4a7ba; }
.provision-target .portrait { width:44px; height:44px; border-color:#927385; border-radius:4px; }
.provision-member { display:grid; gap:5px; }
.provision-member b { font-size:14px; }
.provision-member small { font-size:10px; color:#c5adc1; }
.is-ko .provision-member small { color:#ffb7ad; }
.provision-vitals { display:grid; gap:10px; }
.recovery-meter { width:100%; }
.recovery-meter-label { display:flex; align-items:baseline; gap:6px; margin-bottom:4px; font-size:10px; font-variant-numeric:tabular-nums; }
.recovery-meter-label>span { color:#cbb5c9; flex:1; }
.recovery-meter-label b { font-weight:500; }
.recovery-track { position:relative; height:6px; background:#100e18; overflow:hidden; border-radius:3px; }
.recovery-track i { position:absolute; inset:0 auto 0 0; border-radius:2px; }
.recovery-track .recovery-current { background:#df93ae; }
.recovery-meter--en .recovery-current { background:#af9fd7; }
.recovery-track .recovery-preview { border-left:1px solid #e3ffed; background:repeating-linear-gradient(120deg,#b8f0cf 0 2px,#487866 2px 4px); }
.recovery-track .recovery-cost { border-color:#f5d0a9; background:repeating-linear-gradient(120deg,#e9bd8f 0 2px,#775039 2px 4px); }
.recovery-after { display:block; margin-top:4px; color:#b8f0cf; font-size:10px; text-align:right; font-variant-numeric:tabular-nums; }
.recovery-after--cost { color:#e9bd8f; }
.recovery-legend { display:flex; flex-wrap:wrap; gap:7px 18px; margin:0 0 12px; color:#cbb5c9; font-size:10px; }
.recovery-legend>span { display:flex; align-items:center; gap:6px; }
.recovery-legend>span::before { content:''; width:18px; height:6px; border-radius:2px; background:#df93ae; }
.recovery-legend .recovery-legend-preview::before { background:repeating-linear-gradient(120deg,#b8f0cf 0 2px,#487866 2px 4px); }
.provision-effect { grid-column:2/-1; display:flex; gap:12px; align-items:baseline; justify-content:space-between; color:#dbcbda; border-top:1px solid #ac8da42c; padding-top:7px; }
.provision-effect strong { font-size:13px; color:#b8f0cf; white-space:nowrap; }
.provision-effect small { font-size:10px; line-height:1.4; }
.provision-help { margin:12px 0 0; color:#bfaabe; font-size:11px; line-height:1.55; }
.provision-equipment { margin-top:18px; font-size:12px; }
.provision-detail>.cmd { margin-top:15px; width:100%; min-height:48px; }
.crew-selector { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin-bottom:18px; }
.crew-member { display:flex; align-items:center; gap:12px; border:1px solid #786175; background:#3c293c; color:#f2e7de; padding:12px; border-radius:5px; text-align:left; cursor:pointer; font:inherit; }
.crew-member>.portrait { flex:0 0 44px; border-radius:4px; }
.crew-member>div { flex:1; }
.crew-member b { font-size:14px; }
.crew-member small { display:block; font-size:10px; line-height:1.5; color:#cbb5c9; margin:3px 0 9px; }
.crew-member .recovery-meter+.recovery-meter { margin-top:8px; }
.crew-dossier { border:1px solid #80657966; border-top:2px solid #b68d7566; border-radius:5px; background:linear-gradient(145deg,#241a2e,#1c1723); padding:20px; }
.crew-dossier-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.crew-dossier-head h3 { font:600 27px Georgia,serif; text-transform:none; letter-spacing:0; margin:5px 0 0; }
.crew-dossier-head .cmd { font-size:12px; min-height:44px; }
.crew-passive { border-left:2px solid #d8b18e; padding:2px 12px; margin-top:20px; }
.crew-passive strong { font-size:13px; color:#edd0b4; }
.crew-passive p { font-size:12px; color:#d4c1d3; line-height:1.6; margin:5px 0 0; }
.crew-equipped { padding:10px 0 16px; border-bottom:1px solid #72586d66; font-size:11px; color:#bcaabb; line-height:1.5; }
.technique-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.technique-entry { padding:14px; border:1px solid #79617a66; border-radius:4px; background:#38273977; }
.technique-heading { display:flex; align-items:start; gap:10px; justify-content:space-between; }
.technique-heading b { font-size:13px; line-height:1.4; }
.technique-cost { flex-shrink:0; color:#d6bcea; font-size:10px; background:#18121e88; padding:4px 7px; border-radius:3px; }
.technique-target { display:block; margin-top:7px; color:#e1be9d; font-size:10px; }
.technique-entry p { font-size:12px; line-height:1.6; color:#c8b9ce; margin:8px 0 0; }
.locked-technique { font-size:11px; line-height:1.5; color:#a997b3; }
@media(max-width:700px) {
  #modal-root .pause-modal { height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); }
  .pause-modal .pause-header { padding:13px 15px 8px; }
  .pause-modal .pause-meta { padding:0 15px 10px; font-size:10px; }
  .pause-modal .pause-tabs { padding:0 10px; }
  .pause-modal .pause-page { padding:14px; }
  .pause-modal .pause-footer { padding:10px 14px; }
  .pause-modal .pause-footer .keyboard-help { display:none; }
  .provision-grid { grid-template-columns:1fr; gap:14px; }
  .provision-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .provision-choice { padding:9px; min-height:70px; gap:7px; }
  .provision-choice .prep-item-icon { width:27px; height:27px; flex-basis:27px; }
  .provision-choice b { font-size:11px; }
  .provision-choice small { font-size:10px; }
  .provision-choice strong { font-size:18px; }
  .provision-detail { padding:13px; }
  .provision-target { grid-template-columns:38px minmax(55px,.8fr) minmax(115px,1.3fr); gap:8px; padding:10px; }
  .provision-target .portrait { width:38px; height:38px; }
  .provision-member b { font-size:12px; }
  .provision-effect { grid-column:1/-1; }
  .crew-selector { grid-template-columns:1fr; gap:7px; }
  .crew-member { padding:10px; }
  .crew-member>div { display:grid; grid-template-columns:1fr 1.6fr; gap:2px 13px; }
  .crew-member small { margin:0; grid-column:1; grid-row:2; }
  .crew-member .recovery-meter { grid-column:2; grid-row:1; }
  .crew-member .recovery-meter+.recovery-meter { grid-row:2; margin-top:6px; }
  .crew-dossier { padding:15px; }
  .crew-dossier-head { flex-wrap:wrap; gap:10px; }
  .technique-index { grid-template-columns:1fr; }
}
@media(max-height:500px) and (orientation:landscape) {
  #modal-root .pause-modal { height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); }
  .pause-modal .pause-header { padding:8px 18px; }
  .pause-modal .pause-header h2 { font-size:21px; }
  .pause-modal .pause-header .menu-eyebrow { display:none; }
  .pause-modal .pause-header img { width:30px; height:30px; }
  .pause-modal .pause-meta { display:none; }
  .pause-modal .pause-footer { padding:6px 18px; }
  .pause-modal .pause-footer .keyboard-help { display:none; }
  .pause-modal .pause-tabs { padding:0 18px; }
  .pause-modal .pause-page { padding:14px 18px; }
  .provision-grid { grid-template-columns:minmax(170px,.8fr) minmax(0,1.8fr); }
  .provision-list { grid-template-columns:1fr; }
  .crew-selector { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
  .crew-member>div { display:block; }
  .technique-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
