*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:#222;background:#fafafa}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid #eee}a{color:inherit}
main{max-width:1200px;margin:auto;padding:24px}.hero{text-align:center;padding:20vh 20px}.hero h1{font-size:3rem;margin:0}
.btn{display:inline-block;background:#111;color:#fff;border:0;padding:10px 18px;border-radius:8px;cursor:pointer;text-decoration:none;font-size:15px}.danger{background:#b3261e}
.card{max-width:360px;margin:15vh auto;background:#fff;padding:28px;border-radius:14px;box-shadow:0 4px 24px #0001;display:grid;gap:12px}
input{padding:10px;border:1px solid #ccc;border-radius:8px;font-size:15px}.wide{width:70%}.err{color:#b3261e;margin:0}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.gc{background:#fff;padding:18px;border-radius:12px;text-decoration:none;display:grid;box-shadow:0 1px 6px #0001}.gc span{color:#777;font-size:14px}
#drop{border:2px dashed #bbb;border-radius:14px;padding:30px;text-align:center;margin:16px 0}#drop.over{background:#eef;border-color:#66f}.lnk{text-decoration:underline;cursor:pointer}
.grid{columns:260px;column-gap:10px}figure{margin:0 0 10px;position:relative;break-inside:avoid}figure img{width:100%;display:block;border-radius:4px;cursor:zoom-in}
.x{position:absolute;top:6px;right:6px;border:0;border-radius:50%;width:28px;height:28px;background:#000a;color:#fff;cursor:pointer}
#lb{position:fixed;inset:0;background:#000e;display:flex;align-items:center;justify-content:center;z-index:9}#lb[hidden]{display:none}#lbi{max-width:88vw;max-height:88vh}
#lb button{background:none;border:0;color:#fff;font-size:42px;cursor:pointer;padding:0 16px}#cl{position:absolute;top:10px;right:14px}#lbd{position:absolute;bottom:18px}
