:root{color-scheme:light;--coffee:#38251d;--gold:#c49a52;--cream:#fffaf2;--muted:#75665d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--coffee);font:1rem/1.6 Georgia,serif}header{padding:22px 6%;background:var(--coffee);display:flex;justify-content:space-between;gap:20px;color:var(--cream)}a{color:inherit}header a:first-child{letter-spacing:2px;text-decoration:none}main{max-width:1120px;margin:auto;padding:50px 24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#8c642d;font-size:.75rem}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin:15px 0}h2{font-size:1.3rem}p{color:var(--muted)}#status{padding:12px 0;min-height:50px}#access,#password-section{max-width:500px;padding:28px;border:1px solid #e5d8c6;background:white}label{display:block;margin-bottom:18px}input{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #b6a28b;border-radius:3px;font:inherit}button{background:var(--coffee);color:white;border:1px solid var(--coffee);padding:12px 18px;font:inherit;cursor:pointer;border-radius:3px}button:hover{background:#51382b}button:disabled{opacity:.55;cursor:wait}.secondary{background:transparent;color:var(--coffee)}.secondary:hover{background:#f4ecdf}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}form button{margin:0 6px 12px 0}details{margin-top:20px}summary{cursor:pointer}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{padding:20px;border:1px solid #e5d8c6;background:white}.preview{height:220px;background:#f4ecdf;display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain}.photo-card input{font-size:.85rem}.feedback{min-height:48px;font-size:.9rem}[hidden]{display:none!important}@media(max-width:760px){.grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}main{padding:32px 20px}header{font-size:.8rem}}
