/* ============================================================
   AgentDeck — 黑白高對比主題（brutalist mono）
   規則：純 #000 / #fff 為主，灰階只用於次要文字；
   實心黑 = 主要動作/啟用狀態，白底黑框 = 次要/未啟用，
   卡片 = 2px 黑框 + 硬陰影。品牌識別 = 外星人 logo（alien.png）。
   ============================================================ */

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, 'Noto Sans TC', sans-serif;
    background: #fff;
    color: #000;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
    letter-spacing: .02em;
}

h1 { border-bottom: 3px solid #000; display: inline-block; padding-bottom: .15rem; }

a, .btn-link {
    color: #000;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

    a:hover, .btn-link:hover { color: #000; background: #f0f0f0; }

.text-muted, .text-secondary { color: #555 !important; }

/* ---- buttons: black/white inversion ---- */
.btn { border-radius: 0; font-weight: 700; }

.btn-primary, .btn-success {
    color: #fff;
    background-color: #000;
    border: 2px solid #000;
}

    .btn-primary:hover, .btn-primary:active, .btn-primary:focus,
    .btn-success:hover, .btn-success:active, .btn-success:focus {
        color: #000;
        background-color: #fff;
        border-color: #000;
    }

.btn-primary:disabled, .btn-success:disabled { background:#777; border-color:#777; color:#fff; }

.btn-outline-primary, .btn-outline-secondary, .btn-outline-success,
.btn-outline-danger, .btn-outline-warning {
    color: #000;
    background: #fff;
    border: 2px solid #000;
}

    .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-success:hover,
    .btn-outline-danger:hover, .btn-outline-warning:hover {
        color: #fff;
        background: #000;
        border-color: #000;
    }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus,
.form-control:focus, .form-check-input:focus, .form-select:focus {
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #000;
    border-color: #000;
}

/* ---- badges: 實心黑=啟用/成功、白底黑框=中性、粗框=注意、雙圈=錯誤 ---- */
.badge { border-radius: 0; font-weight: 700; }

.badge.bg-primary, .badge.bg-success, .badge.bg-danger, .badge.bg-dark {
    background-color: #000 !important;
    color: #fff;
}

.badge.bg-secondary, .badge.bg-info, .badge.bg-light {
    background-color: #fff !important;
    color: #000 !important;
    border: 1.5px solid #000;
}

.badge.bg-warning {
    background-color: #fff !important;
    color: #000 !important;
    border: 3px double #000;
}

.badge.bg-danger { outline: 1.5px solid #000; outline-offset: 2px; }

/* ---- cards: 黑框 + 硬陰影 ---- */
.card {
    border: 2px solid #000;
    border-radius: 0;
    box-shadow: 5px 5px 0 #000;
}

.card-header {
    background: #000;
    color: #fff;
    font-weight: 700;
    border-bottom: 2px solid #000;
    border-radius: 0 !important;
}

    .card-header a { color: #fff; }

.card-footer { background: #fff; border-top: 2px solid #000; }

.list-group-item { border-color: #000; border-radius: 0 !important; }

    .list-group-item.active {
        background: #000;
        border-color: #000;
        color: #fff;
    }

/* ---- tables ---- */
.table { --bs-table-hover-bg: #f0f0f0; border-color: #000; }

    .table thead th {
        background: #000;
        color: #fff;
        border-color: #000;
        font-weight: 700;
    }

    .table td, .table th { border-color: #ccc; }

/* ---- forms ---- */
.form-control, .form-select {
    border: 2px solid #000;
    border-radius: 0;
    color: #000;
}

.form-check-input { border: 2px solid #000; border-radius: 0; }

    .form-check-input:checked { background-color: #000; border-color: #000; }

.form-switch .form-check-input { border-radius: 2em; }

    .form-switch .form-check-input:checked { background-color: #000; }

/* ---- alerts ---- */
.alert { border-radius: 0; border: 2px solid #000; color: #000; background: #fff; }

.alert-danger { background: #000; color: #fff; }

.alert-success { border-width: 2px; }

.alert-warning { border: 3px double #000; }

.alert-light { border: 1px dashed #555; color: #555; }

/* ---- misc ---- */
.content { padding-top: 1.1rem; }

h1:focus { outline: none; }

.valid.modified:not([type=checkbox]) { outline: 2px solid #000; }

.invalid { outline: 2px dashed #000; }

.validation-message { color: #000; font-weight: 700; }

.blazor-error-boundary {
    background: #000;
    padding: 1rem;
    color: #fff;
    border: 4px double #fff;
}

    .blazor-error-boundary::after { content: "An error has occurred."; }

.darker-border-checkbox.form-check-input { border-color: #000; }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: #777;
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* ---- brand logo（白圓底黑外星人，黑色側欄/hero 通用） ---- */
.brand-logo {
    background: #fff;
    border-radius: 50%;
    border: 2px solid #000;
    object-fit: cover;
}
