* { box-sizing: border-box; }
body { margin: 0; padding: 2rem 1rem; background: #f3f6f8; color: #152330;
       font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.panel { width: min(100%, 32rem); margin: 2rem auto; padding: 1.5rem;
         background: #fff; border: 1px solid #dce4e9; border-radius: 12px; }
.panel.wide { width: min(100%, 48rem); }
.badge { color: #135f50; font-weight: 700; }
h1 { margin: .25rem 0 1rem; font-size: 1.6rem; }
h2 { font-size: 1.1rem; }
label { display: block; margin: 1rem 0; font-weight: 600; }
input, select { display: block; width: 100%; margin-top: .35rem; padding: .65rem;
                border: 1px solid #81929e; border-radius: 6px; font: inherit; }
button { border: 0; border-radius: 6px; padding: .7rem 1.1rem;
         background: #155f95; color: #fff; font: inherit; cursor: pointer; }
button:disabled { opacity: .55; cursor: wait; }
button.secondary { background: #566978; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #f0a52b; }
.heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.fact { padding: 1rem; margin: 1rem 0; border: 1px solid #dce4e9; border-radius: 8px; }
.evidence { white-space: pre-wrap; overflow-wrap: anywhere; padding: .6rem;
            border-radius: 4px; background: #f3f6f8; }
#message { min-height: 1.5rem; font-weight: 600; }
@media (max-width: 36rem) { body { padding: .5rem; } .panel { margin: .5rem auto; padding: 1rem; } }
