:root { --red: #b3262e; --green: #1f6e43; --bg: #faf7f2; --line: #e5ded3; font-family: system-ui, sans-serif; color: #222; }
body { margin: 0; background: var(--bg); }
main { max-width: 44rem; margin: 0 auto; padding: 1rem; }
header { font-size: 1.6rem; font-weight: 700; color: var(--red); margin: 1rem 0 1.5rem; }
header small { font-size: .9rem; color: #777; font-weight: 400; }
section { background: #fff; border: 1px solid var(--line); border-radius: .75rem; padding: 1rem 1.25rem; margin-bottom: 1rem; }
h2 { font-size: 1.1rem; margin: .25rem 0 .75rem; }
h2 small, label small { font-weight: 400; color: #777; }
.meta { color: #555; }
.alert { padding: .75rem 1rem; border-radius: .5rem; }
.error { background: #fde8e8; color: #8a1c1c; }
.notice { background: #e6f4ea; color: #1d4d2f; }
.reveal { font-size: 1.3rem; }
.stack { display: grid; gap: .75rem; }
.stack label { display: grid; gap: .25rem; }
.inline { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.inline textarea { flex: 1 1 18rem; }
input, select, textarea { font: inherit; padding: .5rem; border: 1px solid #ccc; border-radius: .4rem; }
button { font: inherit; padding: .5rem 1rem; border: 0; border-radius: .4rem; background: var(--green); color: #fff; cursor: pointer; }
button.primary { background: var(--red); font-size: 1.1rem; padding: .75rem 1.25rem; }
button.danger { background: #8a1c1c; }
button.link { background: none; color: var(--red); padding: 0; text-decoration: underline; }
.check { display: inline-flex; gap: .35rem; align-items: center; }
.rows { list-style: none; padding: 0; margin: 0; }
.rows li { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.rows li:last-child { border-bottom: 0; }
.tag { background: #f1ece4; border-radius: .3rem; padding: 0 .35rem; }
.wishlist { white-space: pre-wrap; overflow-wrap: anywhere; }
.thread { list-style: none; padding: 0; display: grid; gap: .5rem; }
.thread li p { margin: .15rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.thread .mine { background: #e6f4ea; border-radius: .5rem; padding: .5rem .75rem; margin-left: 3rem; }
.thread .theirs { background: #f1ece4; border-radius: .5rem; padding: .5rem .75rem; margin-right: 3rem; }
details { margin-top: 1rem; }
summary { cursor: pointer; color: #8a1c1c; }
