:root{color-scheme:light dark;font-family:Inter,Segoe UI,system-ui,sans-serif;background-color:#0b0b0f;color:#f8f8fb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0b0b0f}#root{min-height:100vh}.app{max-width:1200px;margin:0 auto;padding:32px 20px 60px}.app__logo{display:flex;justify-content:center;margin-bottom:24px}.app__logo img{width:min(360px,90vw);height:auto}.app__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:32px}.app__actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.app__eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.2em;color:#f8f8fb99;margin-bottom:8px}.app__date{margin-top:8px;font-size:14px;color:#f8f8fbb3}.app__content{min-height:60vh}.button{background:#f8f8fb;color:#0b0b0f;padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 24px #00000040}.button:hover,.button:focus{transform:translateY(-1px);box-shadow:0 12px 30px #00000059}.state{background:#15151f;border-radius:16px;padding:32px;text-align:center;border:1px solid rgba(255,255,255,.08)}.state__hint{margin-top:16px;color:#f8f8fb99;font-size:14px}.single{display:grid;place-items:center}.single__image{max-width:min(100%,960px);max-height:70vh;border-radius:16px;opacity:0;transition:opacity .3s ease;box-shadow:0 24px 50px #0006}.single__image.is-visible{opacity:1}.spinner{width:40px;height:40px;border:4px solid rgba(248,248,251,.25);border-top-color:#f8f8fb;border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.gallery-card{background:transparent;border:none;padding:0;text-align:left;color:inherit;cursor:pointer;border-radius:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.gallery-card:focus-visible{outline:2px solid #f8f8fb;outline-offset:3px}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px #0000004d}.gallery-card__media{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:#1b1b26}.gallery-card__media img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card__meta{padding:12px 14px 16px;background:#12121a;font-size:14px;color:#f8f8fbcc}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#08080cd9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.lightbox__content{position:relative;max-width:1000px;width:min(100%,1000px);background:#0b0b0f;border-radius:20px;padding:24px;border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.lightbox__figure{margin:0;text-align:center}.lightbox__figure img{max-width:100%;max-height:70vh;border-radius:12px}.lightbox__figure figcaption{margin-top:12px;color:#f8f8fbcc;font-size:14px}.lightbox__actions{margin-top:12px;display:flex;justify-content:center}.lightbox__download{background:#f8f8fb;color:#0b0b0f;padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 24px #00000040}.lightbox__download:hover,.lightbox__download:focus{transform:translateY(-1px);box-shadow:0 12px 30px #00000059}.lightbox__close{position:absolute;top:16px;right:16px;background:#f8f8fb1a;color:inherit;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer}.lightbox__nav{background:#f8f8fb14;border:none;color:inherit;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:28px;display:flex;align-items:center;justify-content:center}.lightbox__nav:hover,.lightbox__close:hover{background:#f8f8fb33}@media (max-width: 720px){.app__header{flex-direction:column;align-items:flex-start}.app__actions{margin-left:0;width:100%}.app__actions--selfie .button{width:100%;text-align:center}.app__actions--gallery .button{flex:1}.app__actions--gallery .button:first-child{text-align:left}.app__actions--gallery .button:last-child{text-align:right}.lightbox__content{grid-template-columns:1fr;gap:12px}.lightbox__nav{width:38px;height:38px}.lightbox__nav--prev,.lightbox__nav--next{justify-self:center}}
