:root { --paper:#f7f1e6; --ink:#2c241a; --accent:#a3502e; --seal:#7d3b22; --card:#fffdf8; }
* { box-sizing:border-box; margin:0; }
body { font-family: Georgia, 'Times New Roman', serif; background:var(--paper); color:var(--ink); line-height:1.6; }
header { padding:1.2rem 1rem; display:flex; justify-content:space-between; align-items:baseline; max-width:760px; margin:0 auto; }
header a.brand { font-size:1.3rem; color:var(--ink); text-decoration:none; font-weight:bold; }
nav a { color:var(--accent); margin-left:1rem; text-decoration:none; font-size:.95rem; }
main { max-width:760px; margin:0 auto; padding:1rem 1rem 3rem; }
.card { background:var(--card); border:1px solid #e3d9c6; border-radius:10px; padding:1.6rem; margin:1rem 0; box-shadow:0 1px 4px rgba(60,40,20,.08); }
h1 { font-size:1.9rem; line-height:1.25; margin-bottom:.6rem; }
h2 { font-size:1.25rem; margin:1.2rem 0 .4rem; }
.lede { font-size:1.1rem; color:#4c4133; }
.btn { display:inline-block; background:var(--accent); color:#fff; border:none; border-radius:8px; padding:.75rem 1.4rem; font-size:1.05rem; font-family:inherit; cursor:pointer; text-decoration:none; margin-top:1rem; }
.btn.alt { background:transparent; color:var(--accent); border:1px solid var(--accent); }
label { display:block; margin:.9rem 0 .2rem; font-size:.95rem; }
input[type=text], textarea { width:100%; padding:.6rem; border:1px solid #cbbfa8; border-radius:6px; font-family:inherit; font-size:1rem; background:#fff; }
.counter { font-size:.8rem; color:#8a7c66; text-align:right; }
.small { font-size:.85rem; color:#6b5f4e; }
.envelope { text-align:center; padding:2.5rem 1rem; }
.seal { width:84px; height:84px; border-radius:50%; background:var(--seal); color:#f3e2c7; display:inline-flex; align-items:center; justify-content:center; font-size:2rem; cursor:pointer; border:none; box-shadow:0 2px 8px rgba(60,30,10,.35); }
.knock-lines p { font-size:1.25rem; margin:.8rem 0; }
.knock-photo { max-width:100%; border-radius:8px; margin-top:1rem; }
footer { max-width:760px; margin:0 auto; padding:1rem; font-size:.8rem; color:#8a7c66; }
#langsel { font-family:inherit; font-size:.85rem; background:transparent; border:1px solid #cbbfa8; border-radius:6px; padding:.2rem .4rem; color:var(--ink); }
textarea { resize:vertical; }
.preview-url { word-break:break-all; font-size:.75rem; background:#f0e9da; padding:.6rem; border-radius:6px; max-height:5.5rem; overflow:auto; }
