:root { --bg: #f4f6f8; --surface: #ffffff; --border: #dde2e8; --text: #111827; --muted: #5f6b7a; } * { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", sans-serif; color: var(--text); background: var(--bg); } .public-wrap { max-width: 1000px; margin: 0 auto; padding: 24px 20px; } .public-card { border: 1px solid var(--border); background: var(--surface); border-radius: 8px; padding: 18px; } h1 { margin: 0 0 10px; } .muted { color: var(--muted); } .public-actions { display: flex; gap: 8px; flex-wrap: wrap; } .auth-form { display: grid; gap: 8px; margin-bottom: 10px; } .auth-form input { border: 1px solid var(--border); border-radius: 4px; padding: 9px 10px; font: inherit; } .link-button { display: inline-block; border: 1px solid #111827; padding: 8px 12px; text-decoration: none; border-radius: 4px; color: #111827; background: #f3f4f6; cursor: pointer; font: inherit; } .flash-stack { margin-bottom: 10px; display: grid; gap: 8px; } .flash { border: 1px solid var(--border); background: var(--surface); border-radius: 6px; padding: 10px 12px; } .flash.error { border-color: #f0c2c2; background: #fef2f2; } .flash.success { border-color: #b7dfc3; background: #ecfdf3; }