:root { color: #1f2328; background: #f5f6f8; font-family: "Segoe UI", "PingFang SC", sans-serif; }
body { margin: 0; }
header, main { max-width: 980px; margin: 0 auto; }
header { display: flex; gap: 16px; align-items: center; padding: 16px; }
main { display: grid; gap: 16px; padding: 0 16px 32px; }
.card, .narrow { background: #fff; border: 1px solid #dde1e6; border-radius: 8px; padding: 16px; }
.narrow { max-width: 420px; margin: 48px auto; }
label { display: block; margin: 8px 0; }
input, select, button { font: inherit; }
button { margin-right: 8px; }
.error { color: #a61b1b; }
img, canvas { max-width: 100%; border: 1px solid #dde1e6; }
.selected { outline: 2px solid #2f6feb; }
#library { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
#library button { padding: 0; background: none; border: 0; }
