:root{--ink:#191614;--cream:#f6f1e8;--paper:#fffdf8;--rose:#a65065;--green:#416956;--muted:#766f68}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif}header{padding:28px 5vw 20px;border-bottom:1px solid #ddd3c5;background:var(--paper);position:sticky;top:0;z-index:3}h1{font-family:Georgia,serif;margin:0;font-size:clamp(28px,4vw,48px);font-weight:500}.sub{color:var(--muted);margin:8px 0 0}.toolbar{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}button,input{font:inherit;border-radius:999px;border:1px solid #cfc4b5;padding:10px 16px;background:white}button{cursor:pointer}main{padding:28px 5vw 60px}.hidden{display:none!important}.lot{margin:0 0 45px}.lot h2{font-family:Georgia,serif;font-size:30px;font-weight:500}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.card{background:var(--paper);border:1px solid #e1d8ca;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #4433220b}.card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:white;display:block}.image-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:0;overflow:hidden}.image-button span{position:absolute;right:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:#191614c9;color:white;font-size:12px;opacity:0;transition:.2s}.image-button:hover span,.image-button:focus-visible span{opacity:1}.image-button:hover img{transform:scale(1.02)}.image-button img{transition:transform .25s}.vote{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.vote button{border-radius:12px}.vote button.active.up{background:#dceade;border-color:var(--green)}.vote button.active.down{background:#f2dce1;border-color:var(--rose)}.join{position:fixed;inset:0;background:#221e1ab8;display:grid;place-items:center;z-index:9}.join.hidden{display:none}.panel{width:min(440px,90vw);padding:30px;background:var(--paper);border-radius:24px}.panel input{width:100%;margin:12px 0}.panel button{width:100%;background:var(--ink);color:white}.summary{padding:0 12px 14px;color:var(--muted);display:flex;justify-content:space-between}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:#0b0a09ed;color:white}.lightbox::backdrop{background:#0b0a09ed}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:calc(100vw - 100px);max-height:calc(100vh - 70px);width:auto;height:auto;object-fit:contain}.lightbox-close,.lightbox-nav{position:fixed;z-index:2;border:0;background:#fffdf8e8;color:var(--ink);font-size:34px;line-height:1;padding:8px 14px}.lightbox-close{top:18px;right:20px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:18px}.lightbox-nav.next{right:18px}.lightbox-count{position:fixed;bottom:10px;margin:0;padding:7px 12px;border-radius:999px;background:#0008}.admin-body{min-height:100vh}.admin-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#fffdf8 0,#f6f1e8 48%,#e8ddce 100%)}.admin-login{box-shadow:0 25px 80px #3e302326}.admin-login h1{font-size:40px}.eyebrow{margin:0 0 12px;color:var(--rose);font-size:12px;font-weight:800;letter-spacing:.18em}.login-error{min-height:20px;color:#9e3048;font-size:14px}.admin-dashboard{min-height:100vh}.admin-dashboard header .toolbar{justify-content:space-between}.admin-dashboard header .toolbar button{padding:8px 15px}.admin-table{width:100%;border-collapse:collapse;background:white}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #eee;text-align:left}.admin-thumb{display:grid;grid-template-columns:74px auto;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:12px;text-align:left}.admin-thumb img{width:74px;height:74px;object-fit:contain;border-radius:9px;background:#f7f4ef}.admin-thumb span{font-weight:600}@media(max-width:520px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}.vote{grid-template-columns:1fr;padding:8px}.summary{font-size:12px}.lightbox{padding:10px}.lightbox img{max-width:100vw;max-height:calc(100vh - 60px)}.lightbox-nav{font-size:26px;padding:8px 11px}.lightbox-nav.prev{left:5px}.lightbox-nav.next{right:5px}.admin-table th:nth-child(5),.admin-table td:nth-child(5){display:none}.admin-thumb{grid-template-columns:60px}.admin-thumb img{width:60px;height:60px}.admin-thumb span{font-size:12px}}
