:root{color:#171717;background:#f3f2ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 4% -14%,#ffffffeb,#0000 36rem),#f3f2ef;min-width:320px;margin:0}button{font:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:#f3f2efd1;border-bottom:1px solid #17171714;justify-content:space-between;align-items:center;gap:18px;height:70px;padding:0 max(20px,50vw - 860px);animation:.7s cubic-bezier(.22,1,.36,1) both header-in;display:flex;position:sticky;top:0}.brand{min-width:0;color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand strong{letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,1.7vw,22px);font-weight:780;line-height:1.35;overflow:hidden}.brand-grid{flex:none;grid-template-columns:repeat(2,1fr);gap:2px;width:21px;height:21px;display:grid}.brand-grid i{background:#171717;border-radius:1px;display:block}.brand-grid i:nth-child(2),.brand-grid i:nth-child(3){background:#a9be9c}.licenses-link{color:#5d5d59;cursor:pointer;letter-spacing:.04em;text-underline-offset:3px;background:0 0;border:0;flex:none;padding:5px 0;font-size:12px;text-decoration:underline;transition:color .18s,transform .18s}.licenses-link:hover,.licenses-link:focus-visible{color:#171717;transform:translateY(-1px)}main{width:min(100% - 40px,1720px);margin-inline:auto}.gallery-controls{justify-content:flex-end;align-items:center;min-height:78px;animation:.8s cubic-bezier(.22,1,.36,1) 90ms both controls-in;display:flex}.genre-filter{align-items:center;gap:6px;display:flex}.genre-filter button{color:#696862;cursor:pointer;background:#ffffff85;border:1px solid #1717171c;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;transition:transform .24s cubic-bezier(.22,1,.36,1),color .18s,background .18s,border-color .18s;display:grid}.genre-filter svg,.genre-icons svg{stroke-width:1.8px;width:17px;height:17px}.genre-filter button:hover,.genre-filter button:focus-visible{color:#171717;border-color:#171717;outline:none;transform:translateY(-2px)scale(1.06)}.genre-filter button.is-active{color:#fff;background:#171717;border-color:#171717;box-shadow:0 6px 18px #17171729}.layout-catalog{isolation:isolate;grid-template-columns:repeat(auto-fit,170px);justify-content:center;gap:22px 18px;width:min(100%,922px);margin-inline:auto;padding:0 0 64px;display:grid;overflow:visible}.layout-card{z-index:0;opacity:0;transform-origin:top;will-change:opacity, transform;width:170px;min-width:0;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1),box-shadow .36s;position:relative;transform:translateY(24px)}.layout-card.is-visible{opacity:1;transform:translateY(0)}.layout-card:hover,.layout-card:focus-within{box-shadow:0 18px 38px #1414121c}.card-meta{color:#585752;justify-content:space-between;align-items:center;height:32px;padding:0 1px;display:flex}.layout-number{letter-spacing:.02em;font-size:12px;font-weight:760}.genre-icons{align-items:center;gap:6px;display:flex}.genre-icons span{place-items:center;width:17px;height:17px;display:grid}.thumbnail-toggle{cursor:zoom-in;background:0 0;border:0;border-radius:3px;width:100%;padding:0;display:block}.layout-card.is-expanded .thumbnail-toggle{cursor:zoom-out}.thumbnail-toggle:focus-visible{outline-offset:5px;outline:2px solid #171717}.thumbnail-frame,.completed-thumb,.completed-thumb img{aspect-ratio:1;width:100%}.thumbnail-frame{background:#e5e4df;border-radius:3px;overflow:hidden}.completed-thumb img{object-fit:cover;height:auto;transition:filter .28s;display:block}.layout-card:hover .completed-thumb img{filter:saturate(1.025)contrast(1.01)}.expanded-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0b0ab8;place-items:center;padding:20px;animation:.18s both modal-backdrop-in;display:grid;position:fixed;inset:0}.expanded-preview{aspect-ratio:1;width:min(550px,100vw - 40px,100dvh - 110px);animation:.26s cubic-bezier(.22,1,.36,1) both modal-in;box-shadow:0 28px 80px #00000061}.expanded-preview button{cursor:zoom-out;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.expanded-preview .thumbnail-frame,.expanded-preview .completed-thumb img{height:100%}.license-backdrop{z-index:40;background:#17171747;place-items:center;padding:20px;animation:.18s both modal-backdrop-in;display:grid;position:fixed;inset:0}.license-dialog{background:#fcfbf8;border:1px solid #1717171f;border-radius:4px;width:min(360px,100%);padding:22px;animation:.26s cubic-bezier(.22,1,.36,1) both modal-in;box-shadow:0 26px 70px #0000003d}.license-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.license-dialog h2,.license-dialog p{margin:0}.license-dialog h2{letter-spacing:-.025em;font-size:15px}.license-dialog-head button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid}.license-dialog-head button:hover{background:#efeeea}.license-dialog-head svg{width:16px;height:16px}.license-dialog>p{margin-top:28px;font-size:14px;font-weight:700}.license-dialog .license-note{color:#75746e;margin-top:5px;font-size:12px;font-weight:500}.license-dialog a{color:inherit;text-underline-offset:3px;align-items:center;gap:5px;margin-top:19px;font-size:12px;display:inline-flex}.license-dialog a svg{width:13px;height:13px}@keyframes header-in{0%{opacity:0;transform:translateY(-10px)}}@keyframes controls-in{0%{opacity:0;transform:translateY(13px)}}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=720px){.site-header{height:58px;padding-inline:14px}.brand strong{font-size:14px}main{width:min(100% - 24px,1720px)}.gallery-controls{min-height:62px}.genre-filter{justify-content:space-between;width:100%}.genre-filter button{width:36px;height:36px}.layout-catalog{grid-template-columns:repeat(auto-fit,170px);gap:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.layout-card{opacity:1;transform:none}}
