* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: #f7f1ed; color: #302331; font: 1rem/1.55 Inter, "Segoe UI", sans-serif; }
header { background: #fffaf7; border-bottom: 1px solid #e7d9df; display: flex; align-items: center; justify-content: space-between; padding: .9rem max(1.2rem, calc((100vw - 48rem) / 2)); }
header a { color: #311f34; font-size: 1.55rem; font-weight: 800; text-decoration: none; }
header a span { color: #864474; }
main { width: min(48rem, calc(100% - 2rem)); margin: 2rem auto 4rem; }
.hero { padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.4rem; background: linear-gradient(125deg, #261832, #57274f); color: #fff5ed; }
.hero h1 { font: 400 clamp(2.75rem, 9vw, 5rem)/1 Georgia, serif; margin: .45rem 0 .8rem; }
.hero p { margin: 0; max-width: 32rem; }
.hero p:first-child { color: #f1bdab; font-weight: 650; }
.card, #status { background: #fffaf7; border: 1px solid #e7d9df; border-radius: 1rem; padding: 1.25rem; margin: 1rem 0; }
h2 { font-size: 1.25rem; margin: 0 0 .65rem; }
button, input, textarea { font: inherit; }
button { background: #fffaf7; border: 1px solid #af8ba1; color: #5a2b52; border-radius: .55rem; padding: .45rem .85rem; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
.primary { background: #62305a; color: white; border-color: #62305a; font-weight: 650; }
label { display: block; margin-bottom: .4rem; font-weight: 650; }
input, textarea { border: 1px solid #af8ba1; background: #fff; color: inherit; border-radius: .55rem; padding: .55rem .7rem; width: 100%; min-width: 0; }
textarea { display: block; resize: vertical; margin-bottom: .75rem; }
.actions, .feed-header { display: flex; align-items: center; gap: .65rem; }
.actions button { flex-shrink: 0; }
.feed-header { justify-content: space-between; margin-top: 1.5rem; }
.feed-header h2 { margin: 0; }
.post-meta { display: flex; flex-wrap: wrap; gap: .25rem .8rem; align-items: baseline; }
.post-meta time { font-size: .88rem; color: #6c5668; }
article p { white-space: pre-wrap; overflow-wrap: anywhere; margin: .65rem 0 0; }
