/* Gate C gameplay-conformance layer: active-role feedback, coordinated windows and persistent resolutions. */
button[disabled]{cursor:default;opacity:.62}
.incoming-event.visible{pointer-events:auto}
.incoming-event.resolution{background:var(--app)}
.event-detail .event-ack{width:100%;margin-top:18px;min-height:50px}

.team-dependency{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.team-dependency span{background:var(--card);border-radius:10px;padding:11px 12px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--body)}

.trace-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.trace-card.aided{border-color:oklch(0.75 0.11 195/.5);box-shadow:inset 0 0 0 1px oklch(0.75 0.11 195/.12)}
.trace-label,.trace-scale{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;color:var(--muted)}
.trace-label strong{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--info)}
.trace-bars{height:116px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--line);background:linear-gradient(to bottom,transparent 32%,oklch(0.38 0.02 235/.12) 33%,transparent 34%,transparent 65%,oklch(0.38 0.02 235/.12) 66%,transparent 67%)}
.trace-bars i{display:block;flex:1;min-height:18%;border-radius:5px 5px 2px 2px;background:var(--info);transform-origin:bottom;animation:traceRise .45s ease-out both}
.trace-bars i:nth-child(2){animation-delay:.05s}.trace-bars i:nth-child(3){animation-delay:.1s}.trace-bars i:nth-child(4){animation-delay:.15s}.trace-bars i:nth-child(5){animation-delay:.2s}

.signal-card.feedback-good{border:1px solid oklch(0.72 0.13 155/.35);color:oklch(0.83 0.08 155);animation:feedbackGood .55s ease-out}
.signal-card.feedback-warn{border:1px solid oklch(0.8 0.15 65/.35);color:oklch(0.88 0.1 65);animation:feedbackWarn .55s ease-out}
.signal-card.feedback-bad{border:1px solid oklch(0.72 0.18 20/.4);color:oklch(0.84 0.09 20);animation:feedbackBad .55s ease-out}

.thermal-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.thermal-status{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;gap:4px;min-width:0;transition:border-color .25s ease,opacity .25s ease}
.thermal-status span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thermal-status strong{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--success)}
.thermal-status small{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--body)}
.thermal-status.expired{opacity:.5}.thermal-status.expired strong{color:var(--muted)}
.thermal-status.active{border-color:oklch(0.72 0.13 155/.24)}

.safe-window{background:oklch(0.72 0.13 155/.09);border:1px solid oklch(0.72 0.13 155/.35);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:9px;animation:safeWindowIn .35s ease-out}
.safe-window>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--success)}
.safe-window>div:first-child strong{font-family:'IBM Plex Mono',monospace;font-size:11px}
.safe-track{height:8px;background:var(--elevated);border-radius:100px;overflow:hidden}
.safe-track i{display:block;height:100%;background:var(--success);border-radius:100px;transition:width .16s linear}
.safe-window p{margin:0!important;font-size:11px!important;color:oklch(0.8 0.05 155)!important}

.marker-list{display:flex;flex-direction:column;gap:7px}
.marker-option{min-height:52px;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:20px 1fr;align-items:center;text-align:left;gap:8px;background:var(--card)}
.marker-option span{font-family:'IBM Plex Mono',monospace;color:var(--muted)}
.marker-option strong{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.45;font-weight:500;color:var(--body)}
.marker-option.selected{border-color:var(--info);background:oklch(0.75 0.11 195/.09)}
.marker-option.selected span,.marker-option.selected strong{color:var(--info)}
.marker-option.locked{opacity:.78}
.marker-count{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);text-align:right}

.correlation-board{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.correlation-board>div{background:var(--card);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:7px}
.correlation-board span{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;color:var(--muted)}
.correlation-board strong{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text)}

.local-resolution.success-state{background:var(--app)}
.local-resolution.degraded-state{background:oklch(0.18 0.025 65)}
.local-resolution.degraded-state .result-check{background:oklch(0.8 0.15 65/.13);color:var(--attention);animation:feedbackWarn .6s ease-out}
.resolution-summary{width:100%;background:var(--card);border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:5px;text-align:left}
.resolution-summary strong{font-size:13px}.resolution-summary span{font-size:12px;line-height:1.45;color:var(--body)}

.launch-screen{background:var(--app)}
.launch-center{gap:18px}.launch-center h1{font-size:27px;line-height:1.15;margin:0}.launch-center>p{margin:0;color:var(--body);font-size:13px;line-height:1.5}
.launch-systems{width:100%;display:grid;gap:7px}
.launch-system{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:12px;padding:12px 13px}
.launch-system>strong{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--body)}
.launch-countdown{font-family:'IBM Plex Mono',monospace;font-size:32px;color:var(--info);font-variant-numeric:tabular-nums}

.launch-shared{align-items:center;justify-content:center;background:var(--canvas)}
.shared-launch-stage{width:min(980px,90vw);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.shared-launch-stage h1{font-size:clamp(44px,6vw,86px);line-height:.95;margin:0}
.shared-launch-stage>p{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--body)}
.shared-launch-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.shared-launch-system{background:oklch(0.2 0.018 235);border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.shared-launch-system>strong{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--body)}
.shared-launch-countdown{font-family:'IBM Plex Mono',monospace;font-size:clamp(34px,5vw,68px);color:var(--info);font-variant-numeric:tabular-nums}

@keyframes traceRise{from{transform:scaleY(.15);opacity:.25}to{transform:scaleY(1);opacity:1}}
@keyframes feedbackGood{0%{background:oklch(0.72 0.13 155/.35);transform:scale(.985)}100%{background:var(--card);transform:scale(1)}}
@keyframes feedbackWarn{0%{background:oklch(0.8 0.15 65/.34);transform:scale(.985)}100%{background:var(--card);transform:scale(1)}}
@keyframes feedbackBad{0%{background:oklch(0.72 0.18 20/.38);transform:translateX(-3px)}30%{transform:translateX(3px)}60%{transform:translateX(-2px)}100%{background:var(--card);transform:translateX(0)}}
@keyframes safeWindowIn{0%{opacity:0;transform:scale(.97)}100%{opacity:1;transform:scale(1)}}

@media (max-width:760px){
  .shared-launch-grid{grid-template-columns:1fr}
}
