:root { --bg: #f4f5f7; --surface: #ffffff; --text: #111827; --muted: #6b7280; --accent: #245fa8; --accent-hover: #1f4f8a; --border: #d9dde3; --danger: #b42318; --focus: #245fa8; --focus-ring: rgba(36, 95, 168, 0.18); } * { box-sizing: border-box; } body { margin: 0; background: var(--bg); color: var(--text); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.45; } .page { max-width: 1040px; margin: 0 auto; padding: 32px 16px 40px; } .hero { margin-bottom: 12px; } .kicker { margin: 0 0 8px; color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: -0.01em; } h1 { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -0.01em; } .subtitle { margin: 10px 0 0; color: var(--muted); } .card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-top: 16px; } .section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; } h2 { margin: 0; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; } label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; } input, textarea { width: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; font: inherit; color: var(--text); background: #fff; } textarea { resize: vertical; min-height: 140px; } input:focus, textarea:focus, button:focus-visible { outline: none; border-color: var(--focus); box-shadow: 0 0 0 3px var(--focus-ring); } button { margin-top: 12px; border: 1px solid var(--accent); border-radius: 8px; min-height: 40px; padding: 9px 14px; color: #fff; background: var(--accent); font: inherit; font-weight: 600; cursor: pointer; } button:hover { background: var(--accent-hover); } button:disabled { opacity: 0.72; cursor: default; } .example-messages { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; } .example-message-btn { margin-top: 0; border: 1px solid var(--border); background: #f7f8fa; color: var(--text); font-weight: 500; min-height: 32px; padding: 6px 10px; text-align: left; } .example-message-btn:hover { background: #eef2f7; } .verdict-card h2 { margin-bottom: 10px; } .scam-verdict { border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; background: #fbfbfc; } .scam-chip { display: inline-block; border-radius: 999px; border: 1px solid transparent; font-size: 13px; font-weight: 700; line-height: 1.25; padding: 4px 10px; } .scam-note { margin: 8px 0 0; color: var(--muted); font-size: 14px; } .scam-verdict.scam .scam-chip { background: #fef3f2; border-color: #fecdca; color: #b42318; } .scam-verdict.legit .scam-chip { background: #ecfdf3; border-color: #abefc6; color: #067647; } .scam-verdict.pending .scam-chip, .scam-verdict.unknown .scam-chip { background: #eef2f7; border-color: #d9dde3; color: #344054; } .outputs-grid { margin-top: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .output-card { min-height: 320px; } pre, .explainer { margin: 12px 0 0; padding: 12px; border-radius: 8px; border: 1px solid var(--border); background: #fbfbfc; white-space: pre-wrap; word-break: break-word; } pre { min-height: 244px; } .explainer { min-height: 244px; } .hint, .status { font-size: 14px; color: var(--muted); } .status { margin: 16px 2px 0; } .status.error { color: var(--danger); } code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } @media (max-width: 900px) { .page { padding: 20px 12px 28px; } h1 { font-size: 24px; } .outputs-grid { grid-template-columns: 1fr; } }