:root{--bg: #f6f1e7;--paper: #fffdf8;--ink: #2b2620;--muted: #6e6559;--accent: #7a4a1e;--accent-ink: #fff;--line: #e2d9c8;--max: 1100px;--radius: 6px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.55 Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-weight:400;line-height:1.2;margin:0 0 .5em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.15rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding-inline:20px}.muted{color:var(--muted)}.btn{display:inline-block;padding:.5em 1em;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;text-decoration:none}.btn.secondary{background:transparent;color:var(--accent)}.btn.danger{background:#a33;border-color:#a33}.btn[disabled]{opacity:.5;cursor:default}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit}.card figure{margin:0;aspect-ratio:4/3;background:#eee7d9;display:grid;place-items:center;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover}.card figcaption{padding:8px 10px;font-size:.9rem}form.admin{display:grid;gap:14px;max-width:720px}form.admin label{display:grid;gap:4px;font-size:.9rem;color:var(--muted)}form.admin input,form.admin textarea,form.admin select{font:inherit;padding:.5em;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink)}form.admin textarea{min-height:6em}form.admin .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.error{color:#a33}.notice{background:#fff6d6;border:1px solid #ecd58a;padding:8px 12px;border-radius:var(--radius)}table.admin{width:100%;border-collapse:collapse;background:var(--paper);font-size:.95rem}table.admin th,table.admin td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.admin th{color:var(--muted);font-weight:400;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}table.admin img{width:56px;height:42px;object-fit:cover;border-radius:3px}
