/* Full · Minimal Code — compact proof styles */

* { box-sizing: border-box; }

.back-link { margin: 0 0 0.75rem; font-size: 0.85rem; }
.back-link a { color: #003087; text-decoration: none; }
.back-link a:hover { text-decoration: underline; }

body {
    font-family: system-ui, sans-serif;
    margin: 0;
    padding: 1.25rem;
    background: #f8fafc;
    color: #1e293b;
}

h1 { font-size: 1.1rem; margin: 0 0 0.25rem; color: #003087; }
.sub { font-size: 0.8rem; color: #64748b; margin-bottom: 1rem; }

.card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 0.75rem;
}

.card-annotate {
    border: 2px solid #003087;
    background: linear-gradient(160deg, #fff 0%, #e8eef8 100%);
}

.card h2 { font-size: 0.85rem; margin: 0 0 0.5rem; }
.card p, .card li { font-size: 0.78rem; color: #475569; line-height: 1.45; }
.card-lead { margin: 0 0 0.5rem; }
.annotate-steps { margin: 0.5rem 0 0; padding-left: 1.2rem; }
.annotate-steps li { margin: 0.35rem 0; }

.row { display: flex; gap: 0.5rem; flex-wrap: wrap; font-size: 0.78rem; margin: 0.2rem 0; }
.label { color: #64748b; min-width: 6.5rem; }
.mono { font-family: ui-monospace, monospace; font-size: 0.72rem; word-break: break-all; }

.badge {
    display: inline-block; font-size: 0.68rem; padding: 2px 8px;
    border-radius: 999px; background: #e0f2fe; color: #0369a1;
}
.badge.ok { background: #d1fae5; color: #047857; }
.badge.warn { background: #fef3c7; color: #b45309; }

.btn-row { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }

button {
    font-size: 0.78rem; padding: 0.45rem 0.85rem; border-radius: 6px;
    border: 1px solid #cbd5e1; background: #fff; cursor: pointer;
}
button.primary { background: #003087; color: #fff; border-color: #003087; }
button.launch-chat-btn { font-weight: 600; padding: 0.55rem 1.1rem; }
button:hover { filter: brightness(0.97); }
button:disabled { opacity: 0.5; cursor: not-allowed; }

.card-launch {
    border-color: #93c5fd;
    background: linear-gradient(180deg, #fff 0%, #f0f9ff 100%);
}

.proof {
    font-size: 0.72rem; color: #334155; background: #f1f5f9;
    border-radius: 6px; padding: 0.6rem 0.75rem; line-height: 1.5;
}
.proof.ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.proof.warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.proof.bad { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.proof.pending { background: #f8fafc; border: 1px solid #e2e8f0; color: #64748b; }

.transfer-url-box {
    display: none; font-family: ui-monospace, monospace; font-size: 0.68rem;
    background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 6px;
    padding: 0.55rem 0.65rem; word-break: break-all; margin: 0.35rem 0 0.5rem;
}
.transfer-url-box.is-visible { display: block; }
.copy-hint { font-size: 0.68rem; color: #64748b; }
.copy-hint.ok { color: #047857; }
.is-hidden { display: none; }