/*
 * StarshipOS — Bordeigener Dialog (CC_196), ersetzt Browser-Popups.
 * Liegt ueber allem, auch ueber Puzzle-Overlay (9000) und Notfallverfahren (10000).
 */
.ship-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 11000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(2, 8, 16, 0.72);
    backdrop-filter: blur(2px);
    animation: ship-dialog-fade 0.12s ease-out;
}

.ship-dialog-backdrop.is-closing {
    opacity: 0;
    transition: opacity 0.12s ease-in;
}

.ship-dialog {
    width: min(460px, 100%);
    background: linear-gradient(180deg, #0c1c2e 0%, #07111d 100%);
    border: 1px solid rgba(0, 200, 255, 0.55);
    border-top: 3px solid #00c8ff;
    border-radius: 6px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6), 0 0 32px rgba(0, 160, 255, 0.25), 0 18px 40px rgba(0, 0, 0, 0.6);
    color: #cfe8ff;
    font-family: 'Courier New', Courier, monospace;
    animation: ship-dialog-rise 0.14s ease-out;
}

.ship-dialog.is-danger {
    border-color: rgba(255, 140, 40, 0.6);
    border-top-color: #ff8a1f;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6), 0 0 32px rgba(255, 120, 0, 0.22), 0 18px 40px rgba(0, 0, 0, 0.6);
}

.ship-dialog-title {
    padding: 0.7rem 1rem 0.4rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #00c8ff;
}

.ship-dialog.is-danger .ship-dialog-title { color: #ffa24a; }

.ship-dialog-message {
    padding: 0.2rem 1rem 0.9rem;
    font-size: 1rem;
    line-height: 1.45;
    white-space: pre-line;
}

.ship-dialog-input {
    display: block;
    width: calc(100% - 2rem);
    margin: 0 1rem 0.9rem;
    padding: 0.5rem 0.6rem;
    background: rgba(0, 20, 40, 0.9);
    border: 1px solid rgba(0, 150, 220, 0.5);
    border-radius: 4px;
    color: #d0eeff;
    font-family: inherit;
    font-size: 1rem;
    box-sizing: border-box;
}

.ship-dialog-input:focus { outline: none; border-color: #00c8ff; box-shadow: 0 0 8px rgba(0, 200, 255, 0.35); }

.ship-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.7rem 1rem 0.9rem;
    border-top: 1px solid rgba(0, 150, 220, 0.2);
}

.ship-dialog-btn {
    min-height: 44px;
    min-width: 110px;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
}

.ship-dialog-cancel {
    background: transparent;
    border: 1px solid rgba(160, 190, 220, 0.4);
    color: #9fb8d0;
}

.ship-dialog-cancel:hover,
.ship-dialog-cancel:focus-visible { border-color: #cfe8ff; color: #fff; outline: none; }

.ship-dialog-ok {
    background: rgba(0, 110, 200, 0.75);
    border: 1px solid #00c8ff;
    color: #fff;
}

.ship-dialog-ok:hover,
.ship-dialog-ok:focus-visible { background: rgba(0, 150, 240, 0.9); box-shadow: 0 0 14px rgba(0, 200, 255, 0.5); outline: none; }

.ship-dialog.is-danger .ship-dialog-ok {
    background: rgba(190, 80, 0, 0.8);
    border-color: #ff8a1f;
}

.ship-dialog.is-danger .ship-dialog-ok:hover,
.ship-dialog.is-danger .ship-dialog-ok:focus-visible { background: rgba(230, 110, 10, 0.95); box-shadow: 0 0 14px rgba(255, 140, 40, 0.5); }

@media (max-width: 480px) {
    .ship-dialog-actions { flex-direction: column-reverse; }
    .ship-dialog-btn { width: 100%; }
}

@keyframes ship-dialog-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ship-dialog-rise { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
    .ship-dialog-backdrop, .ship-dialog { animation: none; }
}
