h1,h2,h3,h4,h5,h6,p{margin:0}p:last-child{margin-bottom:0}ul{margin:0;padding:0;list-style:none}a{color:currentColor;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color:#242424;background-color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{display:flex;flex-direction:column;min-width:100vw;min-height:100vh;margin:0}main{flex-grow:1}main:has(.back-link){text-align:center}main{display:flex;flex-direction:column;align-items:center;padding:40px 0}.form{display:flex;gap:8px;justify-content:center;margin-bottom:32px;background:none;border:none}.form input[name=search-text]{flex:1;padding:10px 12px;border:1px solid #dcdcee;border-radius:12px;font-size:16px;background:#fff;min-width:260px}.form button[type=submit]{padding:10px 16px;border:none;border-radius:12px;background:#4b6bfb;color:#fff;font-weight:600;transition:background .2s ease}.form button[type=submit]:hover{background:#3b57d0}.form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.gallery{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:0 108px 156px;max-width:1200px;margin:0 auto}.card{flex-basis:calc((100% - 64px) / 3);max-width:340px;background:#fff;border:1px solid #ececf6;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:scale(1.02);box-shadow:0 4px 16px #0003}.card a{display:block;line-height:0}.card img{width:100%;height:180px;object-fit:cover}.meta{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 12px 12px;font-size:13px;color:#555}.meta span{flex:1 1 45%}.loader-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000001f}.is-hidden{display:none!important}.loader{width:48px;height:48px;border:4px solid #fff;border-top-color:#4b6bfb;border-radius:50%;animation:spin .8s linear infinite;background:#fffc;box-shadow:0 0 0 2px #4b6bfb22 inset}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.card{flex-basis:calc((100% - 32px)/2)}}@media (max-width: 600px){.card{flex-basis:100%}.gallery{padding:0 24px 80px}}
