:root{color-scheme:light;--paper:#faf8f2;--ink:#302d28;--line:#d7cebd;--accent:#784d38}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Georgia,serif}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}a{color:var(--accent);text-underline-offset:3px}nav,.tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap}nav a{font:14px system-ui}.eyebrow{font:13px system-ui;letter-spacing:.12em;color:#766b5e;margin-top:36px}h1{font-weight:normal;font-size:clamp(2rem,5vw,3.4rem);line-height:1.2}select,button{font:inherit;padding:8px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px}button{cursor:pointer}.tools{margin:30px 0}#count{color:#766b5e}#gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px}.card{border:1px solid var(--line);background:#fffdf8;padding:16px}.thumbnail{border:0;border-radius:0;padding:0;background:#f0eade;width:100%;height:300px;display:flex;align-items:center;justify-content:center}.thumbnail img{max-width:100%;max-height:100%;object-fit:contain}.card h2{font-size:1.1rem;font-weight:normal}.card .caption{white-space:pre-wrap;overflow-wrap:anywhere}.card .credit{font:14px/1.5 system-ui;color:#766b5e}dialog{width:min(1150px,94vw);max-height:94vh;overflow:auto;background:var(--paper);border:1px solid var(--line);padding:24px}dialog::backdrop{background:#000a}#close{display:block;margin:0 0 20px auto}.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:30px}.detail img{max-width:100%;max-height:78vh;object-fit:contain;margin:auto}.detail p{white-space:pre-wrap;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin-top:50px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #9b713b;outline-offset:4px}@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.detail{display:block}.thumbnail{height:270px}.tools{gap:12px}}

.participate{display:inline-block;background:var(--accent);color:white;border-radius:6px;padding:11px 22px;text-decoration:none}.participate:hover{background:#563420}

.promotion2026{padding:18px 22px;background:#eee9dc;border-left:3px solid var(--accent);margin:24px 0}.promotion2026 h2{font-size:1.35rem;margin-top:0}
