:root { color-scheme: light; font: 18px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #27282b; background: #f7f3ec; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(760px, calc(100% - 2rem)); margin: 0 auto; padding: 2.5rem 0 5rem; }
a { color: #764300; text-decoration-thickness: 1px; text-underline-offset: .14em; }
.site-header { border-bottom: 3px solid #27282b; margin-bottom: 2.5rem; }
.brand { color: #27282b; font-weight: 800; font-size: 2rem; text-decoration: none; letter-spacing: -.06em; }
.site-header p { margin: -.2rem 0 1.2rem; color: #6d6256; }
.intro { margin-bottom: 2rem; }
h1, h2 { line-height: 1.15; letter-spacing: -.035em; }
h1 { font-size: 2.2rem; margin: 0 0 .5rem; }
h2 { font-size: 1.55rem; margin: 0; }
h2 a { color: inherit; }
.card { padding: 1.6rem 0; border-top: 1px solid #cfc6b9; }
.meta { color: #766f65; font-size: .83rem; margin: 0 0 .45rem; }
.note { margin: .8rem 0; }
.source { font-weight: 650; }
.tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1rem 0 0; }
.tags span { background: #e8e0d2; border-radius: 2rem; font-size: .78rem; padding: .12rem .65rem; }
.feedback { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.6rem 0; }
.feedback a { border: 1px solid #7b4803; border-radius: .3rem; background: #fffaf0; padding: .48rem .78rem; color: #583300; font-weight: 600; text-decoration: none; }
.feedback a:hover { background: #ead7bb; }
button { appearance: none; border: 1px solid #7b4803; border-radius: .3rem; background: #fffaf0; padding: .55rem .8rem; font: inherit; color: #583300; cursor: pointer; }
button:hover { background: #ead7bb; }
.login { display: grid; gap: .9rem; width: min(100%, 350px); }
.login input { display: block; width: 100%; margin-top: .3rem; padding: .5rem; font: inherit; }
.error { color: #9f1515; }
footer { margin-top: 2rem; }
