/* ══════════════════════════════════════════════════════════════════════════
   RetireConfirm  ·  the gate in front of the only irreversible action
   ─────────────────────────────────────────────────────────────────────────
   Deliberately does NOT look like the rest of the panel. Everything else in
   Overture is green on near-black; this is red-edged and boxed so it reads as
   a different KIND of control and cannot be clicked through on autopilot.
   Relies on the --ovt-* custom properties from overture.css.
   ══════════════════════════════════════════════════════════════════════════ */

.ovt-retire { display: block; }

.ovt-retire-panel {
    border: 1px solid rgba(248, 113, 113, 0.45);
    border-left-width: 3px;
    border-radius: 3px;
    background:
        linear-gradient(180deg, rgba(248, 113, 113, 0.07), rgba(0, 0, 0, 0)) ,
        var(--ovt-bg-deeper, #06080a);
    padding: 0.9rem 1rem 1rem;
    margin-top: 0.5rem;
    animation: ovtRetireIn 220ms cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes ovtRetireIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: none; }
}

.ovt-retire-head {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding-bottom: 0.6rem; margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(248, 113, 113, 0.22);
}
.ovt-retire-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.6875rem; letter-spacing: 0.22em; text-transform: uppercase;
    color: #FCA5A5;
}
.ovt-retire-x {
    background: transparent; border: 0; cursor: pointer; padding: 0.2rem 0.35rem;
    color: var(--ovt-fg-dim, rgba(225,227,232,.45)); font-size: 0.8rem; line-height: 1;
}
.ovt-retire-x:hover { color: var(--ovt-fg, #E1E3E8); }

/* ---- the manifest ---- */
.ovt-retire-manifest { margin-bottom: 0.9rem; }
.ovt-retire-mancap {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.625rem; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--ovt-fg-muted, rgba(225,227,232,.7)); margin-bottom: 0.45rem;
}
.ovt-retire-table {
    width: 100%; border-collapse: collapse;
    font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.6875rem;
}
.ovt-retire-table th {
    text-align: left; padding: 0.35rem 0.5rem; font-weight: 400; white-space: nowrap;
    font-size: 0.5625rem; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--ovt-fg-dim, rgba(225,227,232,.45));
    border-bottom: 1px solid rgba(225, 227, 232, 0.1);
}
.ovt-retire-table td {
    padding: 0.35rem 0.5rem; white-space: nowrap;
    border-bottom: 1px solid rgba(225, 227, 232, 0.05);
    color: var(--ovt-fg, #E1E3E8);
}
.ovt-retire-table tbody tr:last-child td { border-bottom: 0; }
.ovt-retire-table .dim { color: var(--ovt-fg-dim, rgba(225,227,232,.45)); }
.ovt-retire-table .is-bad { color: #FCA5A5; font-weight: 700; }
/* a row with players on it is the one to notice */
.ovt-retire-table tr.has-players { background: rgba(248, 113, 113, 0.09); }

/* ---- gates ---- */
.ovt-retire-field { margin-bottom: 0.8rem; }
.ovt-retire-label {
    display: block; margin-bottom: 0.4rem;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.5625rem; letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--ovt-fg-dim, rgba(225,227,232,.45));
}
.ovt-retire-label code {
    font-size: 0.75rem; letter-spacing: 0; text-transform: none;
    color: #FCA5A5; background: rgba(248, 113, 113, 0.1);
    padding: 0.1rem 0.35rem; border-radius: 2px;
}

.ovt-retire-check,
.ovt-retire-radio {
    display: flex; align-items: flex-start; gap: 0.6rem; cursor: pointer;
    font-size: 0.75rem; line-height: 1.45;
    color: var(--ovt-fg-muted, rgba(225,227,232,.7));
    margin-bottom: 0.5rem;
}
.ovt-retire-check input,
.ovt-retire-radio input {
    margin-top: 0.15rem; flex: none;
    width: 0.95rem; height: 0.95rem; accent-color: #F87171;
}
.ovt-retire-check.is-bad {
    color: #FCA5A5;
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.25);
    border-radius: 2px; padding: 0.55rem 0.7rem; margin-bottom: 0.7rem;
}
.ovt-retire-check b, .ovt-retire-radio b { color: var(--ovt-fg, #E1E3E8); font-weight: 700; }
.ovt-retire-check.is-bad b { color: #FCA5A5; }

.ovt-retire-input {
    width: 100%; max-width: 22rem;
    background: var(--ovt-bg-panel, #0d1216); color: var(--ovt-fg, #E1E3E8);
    border: 1px solid rgba(248, 113, 113, 0.35); border-radius: 2px;
    font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.8125rem;
    padding: 0.5rem 0.6rem;
}
.ovt-retire-input:focus {
    outline: none; border-color: #F87171;
    box-shadow: 0 0 0 2px rgba(248, 113, 113, 0.18);
}
.ovt-retire-hint {
    display: inline-block; margin-top: 0.35rem;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.625rem; color: #FCA5A5;
}

/* ---- actions ---- */
.ovt-retire-actions {
    display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
    padding-top: 0.75rem; margin-top: 0.5rem;
    border-top: 1px solid rgba(248, 113, 113, 0.22);
}
.ovt-retire-why {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.625rem; color: var(--ovt-amber, #FBBF24);
    max-width: 34ch; line-height: 1.5;
}
