:root{font-family:system-ui,sans-serif;color:#e9e9ef;background:#121316;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:inherit}header{max-width:1180px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #34343a}.brand{text-decoration:none;font-size:34px;font-weight:900;letter-spacing:-2px;color:#f4b9d3}.brand span{display:block;font-size:9px;letter-spacing:2px;color:#b7b7c2}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px}nav form{margin:0}main{max-width:1100px;margin:60px auto;padding:0 24px;min-height:60vh}h1{font-size:clamp(32px,5vw,58px);line-height:1.12;letter-spacing:-2px;margin:14px 0 26px}h2{line-height:1.3}p{color:#bbbcc7}.eyebrow{color:#f4b9d3;font-size:12px;letter-spacing:2px;font-weight:700}.intro{max-width:650px;font-size:19px}.panel{background:#1e1f25;border:1px solid #363740;padding:28px;border-radius:16px;margin:24px 0}.narrow{max-width:580px;margin:70px auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.card{text-decoration:none;transition:border-color .2s}.card:hover{border-color:#f4b9d3}.badge{font-size:12px;color:#f4b9d3;border:1px solid #695062;border-radius:30px;padding:5px 12px}label{display:block;font-weight:600;font-size:14px;margin:16px 0}input,textarea{display:block;width:100%;border-radius:8px;background:#121316;border:1px solid #555662;color:#fff;padding:13px;margin-top:7px;font:inherit}input[type=file]{cursor:pointer}button{background:#f4b9d3;color:#20151d;border:0;border-radius:8px;font:700 14px system-ui;padding:13px 20px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.quiet{background:transparent;color:#eee;border:1px solid #555}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.gallery article{background:#1e1f25;border-radius:12px;overflow:hidden}.gallery img{width:100%;height:230px;object-fit:contain;background:#0a0a0c;display:block}.caption{padding:15px;display:grid;gap:7px}.caption a{font-size:13px;color:#f4b9d3}.selected{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.selected>div{width:120px;font-size:11px;overflow-wrap:anywhere}.selected img{width:120px;height:90px;object-fit:cover;border-radius:6px}.done{outline:2px solid #78bf98;border-radius:6px}.done:after{content:'✓ Zapisane';color:#78bf98;display:block}progress{width:100%;accent-color:#f4b9d3}.error{background:#592a35;padding:15px;color:white;border-radius:8px}.filter{display:flex;align-items:end;gap:15px;margin-bottom:20px}.filter label{margin:0}.description{white-space:normal}footer{max-width:1100px;margin:50px auto;padding:24px;color:#92929f;border-top:1px solid #34343a;font-size:12px}:focus-visible{outline:3px solid #f4b9d3;outline-offset:3px}@media(max-width:650px){header,.row{align-items:flex-start;flex-direction:column}.columns{grid-template-columns:1fr}.panel{padding:20px}main{margin-top:35px}nav{gap:12px}.filter{align-items:stretch;flex-direction:column}}
.author-group{margin:34px 0 45px;border-top:1px solid #363740;padding-top:15px}.author-group h3{font-size:22px}.photo-count{font-size:13px;font-weight:400;color:#b9b9c4;margin-left:12px}.photo-open{cursor:zoom-in}.viewer-active{overflow:hidden}#viewer{width:min(1040px,92vw);max-width:92vw;max-height:90dvh;background:#1e1f25;color:#eee;border:1px solid #555662;border-radius:16px;padding:18px;box-shadow:0 25px 100px #0009}#viewer::backdrop{background:#000b}.viewer-bar{display:flex;align-items:center;gap:15px;margin-bottom:12px}.viewer-bar strong{flex:1}.viewer-bar button{padding:9px 14px}.viewer-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;background:#101114;border-radius:8px;padding:8px}.viewer-stage img{display:block;width:100%;height:min(62dvh,650px);object-fit:contain}.viewer-stage button{font-size:32px;padding:4px;line-height:1.5}.viewer-bottom{display:flex;justify-content:space-between;gap:15px;font-size:13px}.viewer-bottom a{color:#f4b9d3}.viewer-bottom span{color:#aaa}#viewer-state{margin:4px 0;font-size:12px;min-height:19px}@media(max-width:600px){#viewer{padding:10px}.viewer-stage{grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;padding:4px}.viewer-stage img{height:52dvh}.viewer-bottom span{display:none}.viewer-bar{font-size:13px;gap:8px}}

.author-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:start}.author-tile{margin:0;padding:0;border:1px solid #41414d;border-radius:14px;background:#1e1f25;overflow:hidden}.author-tile summary{cursor:pointer;list-style:none;padding:24px;display:flex;flex-direction:column;gap:8px;min-height:175px}.author-tile summary::-webkit-details-marker{display:none}.author-tile summary:hover{background:#282832}.author-tile summary strong{font-size:20px}.author-tile .photo-count{margin:0}.author-symbol{font-size:26px;color:#f4b9d3}.tile-hint{font-size:13px;color:#f4b9d3}.author-tile[open]{grid-column:1/-1}.author-tile[open] summary{min-height:0;border-bottom:1px solid #41414d}.author-tile>.gallery{padding:20px}.author-tile:not([open])>.gallery{display:none}

.download-button{display:inline-block;background:#f4b9d3;color:#20151d;text-decoration:none;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:700}.download-button:hover{background:#ffd1e5}.download-tools{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:25px 0}.download-tools span{font-size:12px}.author-download{padding:0 20px;margin:20px 0 0}.author-tile:not([open])>.author-download{display:none}
input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}

.selected span{display:block}.selected .remove-photo{display:block;margin-top:7px;padding:6px 12px;font-size:12px;background:transparent;color:#f4b9d3;border:1px solid #805b70}.selected .remove-photo:disabled{cursor:default}.selection-over{color:#ffc3c3;font-weight:700}

.album-category{border-top:1px solid #363740;margin-top:38px;padding-top:20px}.album-category h2{font-size:28px}.album-category .card{margin:0}.album-category h3{font-size:23px}

.delete-link{color:#ffadb5}.danger{background:#ac3047;color:#fff}

.logo-choice{border:1px solid #555662;border-radius:10px;padding:12px 18px;margin:22px 0}.logo-choice label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logo-choice input[type=radio]{display:inline-block;width:auto;margin:0}.logo-sample{width:66px;height:66px;object-fit:contain;border-radius:6px;padding:4px}.light-logo{background:#333}.dark-logo{background:#eee}.logo-choice p{font-size:13px}
