:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#183432;background:#f2eee4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:999px;background:#e36d47;color:#fff;padding:.8rem 1.25rem;font-weight:600}button:disabled{opacity:.6;cursor:wait}.quiet,.text-button{background:transparent;color:#183432;padding:.4rem}.text-button{color:#ae4d31;text-decoration:underline}h1,h2,p{margin-top:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,8vw,6.8rem);line-height:.88;font-weight:400;letter-spacing:-.03em}.muted,.hint,time{color:#61706d}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:#c25939}.login{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 75% 25%,#f2c799 0,transparent 30%),#183432}.login-card{width:min(680px,100%);background:#f8f4e9;border-radius:2rem;padding:clamp(2rem,6vw,5rem)}.login-card h1{font-size:clamp(3rem,8vw,5.8rem)}form label{display:grid;gap:.5rem;font-weight:600}input,select,textarea{border:1px solid #c9c6ba;background:#fffdf7;border-radius:.75rem;padding:.9rem 1rem;color:#183432}form input{width:100%}.login form{display:grid;gap:1rem;max-width:430px}.error{color:#a52727}.banner{padding:1rem;background:#ffe0db;border-radius:.75rem}header{height:74px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(1rem,4vw,4rem);border-bottom:1px solid #d6d1c6;position:sticky;top:0;background:#f2eee4ef;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:3}.brand{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;text-decoration:none;color:#183432}.identity{display:flex;align-items:center;gap:.7rem}.identity span{font-size:.75rem;color:#61706d}.identity select{padding:.5rem}.gallery{padding:clamp(2rem,6vw,6rem) clamp(1rem,5vw,5rem);max-width:1500px;margin:auto}.intro{max-width:1050px}.upload{display:grid;grid-template-columns:1fr auto minmax(220px,1fr) auto;gap:1rem;align-items:center;background:#183432;color:#fff;border-radius:1.5rem;padding:1.5rem 2rem;margin:2rem 0 2.5rem}.upload h2{margin:0}.upload .muted{margin:0;color:#b6c0bd}.file{background:#fff;color:#183432;border-radius:999px;padding:.8rem 1.1rem;cursor:pointer}.file input{display:none}.filters{display:flex;gap:.6rem;overflow:auto;padding-bottom:1rem}.filters button{background:transparent;color:#183432;border:1px solid #bdb9ae;white-space:nowrap}.filters button.active{background:#e36d47;border-color:#e36d47;color:#fff}.filters span{opacity:.65}.photo-grid{columns:3 320px;column-gap:1.25rem}.photo-card{break-inside:avoid;margin-bottom:1.25rem;background:#fffdf7;border-radius:1rem;overflow:hidden}.photo-card img{display:block;width:100%;height:auto}.photo-copy{padding:1rem}.byline{display:flex;justify-content:space-between;gap:1rem}.byline time{font-size:.75rem}.description{white-space:pre-wrap;margin:.75rem 0 0}.description mark{color:#ae4d31;background:transparent;font-weight:600}.photo-card textarea{width:100%;margin-top:1rem;min-height:90px}.edit-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.empty{text-align:center;padding:5rem;color:#61706d}@media(max-width:850px){.upload{grid-template-columns:1fr}.upload button{width:100%}.identity span{display:none}}@media(max-width:560px){header{height:auto;padding:.75rem 1rem}.brand{display:none}.identity{width:100%}.identity select{min-width:0;flex:1}.gallery{padding-top:2.5rem}.intro h1{font-size:3.5rem}.photo-grid{columns:1}.login{padding:0}.login-card{min-height:100vh;border-radius:0;padding-top:5rem}}
