:root{--ink:#28241f;--paper:#f5f0e8;--card:#fffdf8;--accent:#b6593d;--accent-dark:#8f3e29;--line:#ded3c5;--muted:#756d63}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}.centered{background:radial-gradient(circle at 20% 10%,#f6d9c9 0,transparent 30%),var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.card{border:1px solid var(--line);background:#fffdf8f0;border-radius:24px;max-width:680px;padding:clamp(28px,6vw,64px);box-shadow:0 24px 70px #614a3518}.hero,.gate{text-align:center}.eyebrow{letter-spacing:.18em;color:var(--accent);font-size:.75rem;font-weight:750}h1,h2{font-family:Georgia,serif;line-height:1.08}h1{margin:.25em 0;font-size:clamp(2.3rem,7vw,4.8rem)}.gate h1{font-size:clamp(2.2rem,6vw,3.8rem)}.stack{text-align:left;gap:14px;margin-top:24px;display:grid}label{gap:6px;font-weight:650;display:grid}input,select{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:13px 14px}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:14px 18px;font-weight:750}button:hover{background:var(--accent-dark)}button:disabled{opacity:.6}.linkButton{color:var(--accent);background:0 0;padding:4px}.notice{color:var(--muted);margin:0;font-size:.92rem}.galleryPage{max-width:1240px;margin:auto;padding:clamp(24px,5vw,72px)}.galleryHeader{padding:40px 0}.galleryHeader h1{max-width:900px;font-size:clamp(3rem,8vw,7rem)}.identity{color:var(--muted);font-size:.85rem}.uploadBox{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:48px;padding:20px}.uploadBox summary{cursor:pointer;font-weight:750}.uploadBox form{max-width:560px}.albums{gap:56px;display:grid}.album{scroll-margin-top:20px}.album.level-1,.album.level-2{border-left:2px solid var(--line);margin:28px 0 0 clamp(8px,3vw,36px);padding-left:clamp(12px,3vw,32px)}.albumTitle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.albumTitle h2{margin:.25em 0;font-size:clamp(1.6rem,4vw,2.7rem)}.albumTitle span{color:var(--muted);font-size:.85rem}.photoGrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.photoGrid figure{aspect-ratio:4/3;background:#e8e0d6;border-radius:14px;margin:0;position:relative;overflow:hidden}.photoGrid img{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.photoGrid figure:hover img{transform:scale(1.02)}.photoGrid a{color:var(--ink);background:#fff;border-radius:9px;padding:8px 10px;font-size:.8rem;font-weight:750;text-decoration:none;position:absolute;bottom:10px;right:10px}.empty{text-align:center;color:var(--muted);padding:80px 0}@media (max-width:600px){.photoGrid{grid-template-columns:repeat(2,1fr)}.galleryPage{padding:20px}.galleryHeader{padding:24px 0}.card{padding:28px 20px}}
.adminPage{max-width:1180px;margin:auto;padding:clamp(24px,5vw,64px)}.adminPage header{margin:30px 0 46px}.adminPage header h1{font-size:clamp(2.8rem,7vw,6rem)}.adminGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.adminPanel{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:24px;padding:24px}.adminPanel h2{font-size:1.7rem}.adminPanel textarea{border:1px solid var(--line);resize:vertical;border-radius:12px;padding:12px}.eventList{gap:10px;display:grid}.eventList a{border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:14px;text-decoration:none;display:grid}.eventList span{color:var(--muted);font-size:.85rem}.shareLink{background:#ede6dc;border-radius:10px;margin-top:14px;padding:12px;display:block;overflow:auto}.moderation{margin-top:24px}.moderationGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.moderationGrid article{border:1px solid var(--line);border-radius:14px;overflow:hidden}.moderationGrid img{aspect-ratio:4/3;object-fit:cover;width:100%}.moderationGrid p,.moderationGrid form{padding:0 12px}.moderationGrid form{gap:8px;padding-bottom:12px;display:flex}.moderationGrid button{padding:9px 12px}.danger{background:#6f6660}
