:root{color-scheme:dark}
.gallery-page{width:min(1160px,100% - 32px);margin:0 auto;padding:25px 0 64px}
.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gallery-brand{font-size:13px;font-weight:900;letter-spacing:.16em;color:#efc9a9}
.back-link{color:#bddae6;text-decoration:none;font-size:13px;font-weight:800}
.back-link:hover{text-decoration:underline}
.gallery-intro{margin:32px 0 26px}
.gallery-eyebrow{color:#e3ba9b;font-weight:900;letter-spacing:.16em;font-size:12px}
.gallery-intro h1{font-size:clamp(29px,5vw,48px);margin:6px 0 12px}
.gallery-intro p:last-child{color:#b4cdd7;font-size:14px;line-height:1.8}
.gallery-toolbar{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:14px;margin-bottom:15px}
.gallery-toolbar label{font-size:12px;color:#b7d1dc;display:flex;flex-direction:column;gap:8px;font-weight:800}
.gallery-toolbar select,.gallery-toolbar input{width:100%;border:1px solid #567c90;border-radius:12px;background:#153349;color:#f2f6f8;min-height:48px;padding:10px 14px}
.gallery-summary{display:flex;gap:20px;flex-wrap:wrap;color:#b4cbd5;font-size:12px;margin:20px 0}
.gallery-tiles{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.gallery-tile{min-width:0;position:relative;display:flex;flex-direction:column;text-align:left;border:1px solid #496b80;background:#193449;border-radius:15px;padding:9px;color:#f4f7fa;cursor:pointer;transition:transform .15s,border-color .15s}
.gallery-tile:hover{border-color:#f3c6a6;transform:translateY(-2px)}
.gallery-tile:focus-visible{outline:3px solid #ffcdad;outline-offset:2px}
.gallery-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;background:#294e60}
.tile-name{font-size:13px;font-weight:900;margin:9px 2px 2px;white-space:normal;overflow-wrap:anywhere}
.tile-category{font-size:11px;color:#9fc1d0;margin:3px 2px 5px}
.tile-completed{font-size:11px;color:#ffcfad;font-weight:800;margin:2px}
.gallery-empty{grid-column:1/-1;color:#c0d7df;font-size:14px}
.gallery-footer{margin-top:35px}
@media(max-width:900px){.gallery-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.gallery-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-toolbar{grid-template-columns:1fr}.gallery-page{width:min(100% - 24px,520px)}}
@media(prefers-reduced-motion:reduce){.gallery-tile{transition:none}}

.gallery-pick{display:flex;justify-content:flex-end;margin:0 0 13px}
.gallery-random{min-height:44px;border:1px solid #64889c;border-radius:12px;background:#25475e;color:#f6f5ef;padding:9px 18px;font-weight:850;font:inherit;cursor:pointer}
.gallery-random:hover{border-color:#ffcba9;background:#345a70}
.gallery-random:focus-visible{outline:3px solid #ffcba9;outline-offset:2px}

.gallery-header{flex-wrap:wrap;gap:10px}
.gallery-header .lang-control{margin-left:auto}
