:root{--ink:#293126;--cream:#f7f3eb;--paper:#fffdf8;--sage:#76836b;--line:#ded8cb;--rose:#a86f66;--shadow:0 18px 50px rgba(55,62,45,.09)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#8d957e 0.6px,transparent .6px);background-size:18px 18px}.shell{position:relative;width:min(720px,100%);margin:auto;padding:48px 18px 30px}.hero{text-align:center;padding:38px 10px 44px}.hero h1{font:500 clamp(42px,10vw,68px)/1.05 Georgia,serif;margin:12px 0;color:#53604d}.hero p{color:#6f756a;margin:14px auto;max-width:460px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:800;color:var(--rose)}.card{background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:28px}.card h2,.section-title h2{font:500 30px/1.2 Georgia,serif;margin:8px 0}.card p{color:#74776e}.step{float:right;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:var(--sage);font-size:12px}label{display:grid;gap:8px;font-size:13px;font-weight:700;margin-top:22px}input{width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:15px;font:inherit;font-weight:500;outline:none}input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #76836b22}button,.button{border:0;border-radius:12px;padding:14px 18px;background:var(--ink);color:white;font:700 14px inherit;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}form button{width:100%;margin-top:14px}.hidden{display:none!important}.welcome,.section-title,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.link,.delete{background:none;color:var(--rose);padding:5px}.drop{border:1.5px dashed #aeb5a6;border-radius:18px;min-height:210px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;background:#f7f8f2;margin-top:24px}.drop input{display:none}.drop strong,.drop small{display:block}.drop small{font-weight:400;color:#7b8077}.camera{display:grid;place-items:center;width:54px;height:54px;background:white;border-radius:50%;font-size:32px;color:var(--sage);box-shadow:0 5px 16px #5962521a}.selection{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.progress{margin-top:18px;text-align:center;color:var(--sage);font-size:13px}.progress div{height:5px;border-radius:5px;background:linear-gradient(90deg,var(--sage) 40%,#e4e7df 40%);animation:load 1s infinite alternate}.message{font-size:14px}.error{color:#a43e39}.success{color:#52704c}.mine{margin:50px 0}.count{border:1px solid var(--line);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#ddd}.photo img,.admin-photo img{width:100%;height:100%;object-fit:cover}.delete{position:absolute;right:5px;bottom:5px;background:#fffdf8dd;border-radius:8px;font-size:11px}footer{text-align:center;color:#85887f;font:italic 14px Georgia,serif;padding:35px}.compact{padding-bottom:20px}.admin-shell{width:min(1100px,100%)}.admin-login{max-width:480px;margin:auto}.toolbar{margin-bottom:22px}.toolbar h2{margin-bottom:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.admin-photo{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.admin-photo img{aspect-ratio:1}.admin-photo div{padding:12px;display:grid;gap:3px}.admin-photo small{color:#777}@keyframes load{to{background:linear-gradient(90deg,var(--sage) 75%,#e4e7df 75%)}}@media(max-width:520px){.shell{padding-top:20px}.hero{padding:28px 8px}.card{padding:21px;border-radius:20px}.grid{grid-template-columns:repeat(2,1fr)}.selection,.toolbar{align-items:stretch;flex-direction:column}.selection button,.toolbar .button{width:100%}}
