.view-type-toggle{background-color:var(--surface-secondary);border:1px solid var(--border-tertiery);border-radius:2px;flex-shrink:0;align-items:center;gap:4px;padding:4px;display:flex}@media (max-width:900px){.view-type-toggle{display:none}}.view-type-btn{all:unset;cursor:pointer;width:24px;height:24px;color:var(--color-600);border-radius:2px;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:flex}.view-type-btn:hover{color:var(--color-900);background-color:var(--surface-on-surface)}.view-type-btn.is-active{background-color:var(--surface-on-surface);color:var(--color-900)}.view-type-btn svg{pointer-events:none;width:16px;height:16px;display:block}
.project-tile-card{background:var(--surface-secondary,#202020);border:1px solid var(--border-tertiery);cursor:pointer;border-radius:2px;flex-direction:column;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.project-tile-card:hover{border-color:var(--border-tile-card-hover)}.project-tile-card .overlay-link{z-index:1;position:absolute;inset:0}.project-tile-card .tile-image{aspect-ratio:1;background-color:var(--color-200);width:100%;position:relative;overflow:hidden}.project-tile-card .tile-image img{object-fit:cover;width:100%;height:100%;display:block}.project-tile-card .tile-image .tile-class-tag{background-color:var(--surface-secondary,#202020);border:1px solid var(--border-tertiery);height:20px;color:var(--text-pure);white-space:nowrap;pointer-events:none;border-radius:2px;padding:1px 6px 2px;font-size:12px;font-weight:500;line-height:16px;position:absolute;top:7px;left:7px}.project-tile-card .tile-info{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex}.project-tile-card .tile-name-block{flex-direction:column;gap:4px;display:flex;overflow:hidden}.project-tile-card .tile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:500;line-height:24px;overflow:hidden}.project-tile-card .tile-author{color:var(--color-600);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;line-height:20px;overflow:hidden}.project-tile-card .tile-tags{flex-wrap:nowrap;gap:4px;min-width:0;display:flex}.project-tile-card .tile-divider{border:none;border-top:1px solid var(--border-tertiery);margin:0}.project-tile-card .tile-details{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-tile-card .tile-detail{color:var(--text-primary);white-space:nowrap;align-items:center;gap:4px;font-size:12px;line-height:16px;display:flex}.project-tile-card .tile-detail--date .date-short{display:none}@media (max-width:900px){.project-tile-card .tile-detail--date .date-full{display:none}.project-tile-card .tile-detail--date .date-short{display:inline}}.tile-tag{background-color:var(--surface-on-surface);border:1px solid var(--border-tertiery);height:20px;color:var(--text-pure);white-space:nowrap;text-transform:capitalize;border-radius:2px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.tile-tag--main{text-overflow:ellipsis;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.tile-tag--count{flex-shrink:0;padding:0 4px}
.project-card{background:var(--surface-secondary,#202020);border:1px solid var(--border-tertiery);color:var(--color-700);cursor:pointer;border-radius:2px;grid-template:"art.name actions""art.author actions""art.desc desc"1fr"art.details-list details-list"/132px 20px minmax(0,1fr) auto;gap:0;height:156px;margin-bottom:12px;padding:12px;text-decoration:none;transition:background-color .2s;display:grid;position:relative}.project-card a,.project-card button{position:relative}.project-card:hover{background-color:var(--surface-on-surface-hover)}.project-card:has(.split-button.is-open){background-color:var(--surface-on-surface-hover)}.project-card .art{grid-area:art;width:132px;height:132px;position:relative}.project-card .art img{width:inherit;height:inherit;object-fit:contain}.project-card .class-tag-overlay{background:var(--surface-secondary,#202020);border-right:1px solid var(--border-tertiery,#ffffff29);border-bottom:1px solid var(--border-tertiery,#ffffff29);height:20px;color:var(--text-pure,#fff);font-family:var(--montserrat-font);text-transform:capitalize;white-space:nowrap;pointer-events:none;border-radius:0 0 2px;align-items:center;gap:10px;padding:1px 6px 2px;font-size:12px;font-style:normal;font-weight:500;line-height:16px;display:flex;position:absolute;top:0;left:0}.project-card .action-button.opacity{opacity:0}.project-card:hover .action-button.opacity{opacity:1}.project-card .split-button{opacity:0;grid-area:actions;margin-left:20px;transition:opacity .2s}.project-card .actions-container{grid-area:actions;align-self:center;gap:8px;display:flex}.project-card:hover .split-button,.project-card .split-button.is-open{opacity:1}.project-card .name{color:var(--text-primary);background:unset;grid-area:name;min-width:0;font-size:18px;font-weight:700;line-height:24px}.project-card .author{word-break:break-all;grid-area:author;align-items:center;min-width:0;margin-top:4px;font-size:14px;line-height:20px;display:flex}.project-card .author a{flex:1;width:fit-content;min-width:0;max-width:max-content;display:flex}.project-card .description{-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:desc;align-self:start;height:40px;margin-top:12px;font-size:14px;line-height:20px;display:-webkit-box;overflow:hidden}.project-card .details-list{grid-area:details-list;gap:12px;min-width:0;height:20px;font-size:12px}.project-card .details-list>li{flex-shrink:0;line-height:16px}.project-card .details-list .detail-flavor{font-weight:400}.project-card .details-list .detail-category-count{margin-left:-8px}.project-card .details-list .detail-category{flex:0 auto;min-width:0}.project-card .details-list .detail-category,.project-card .details-list .detail-category-count{align-items:center;min-width:0;padding-left:0;display:flex}.project-card .details-list .detail-category:after,.project-card .details-list .detail-category-count:after{content:none}.project-card .details-list .detail-category a,.project-card .details-list .detail-category span,.project-card .details-list .detail-category-count a,.project-card .details-list .detail-category-count span{background-color:var(--surface-on-surface);border:1px solid var(--border-tertiery);min-width:0;max-width:100%;font-family:var(--montserrat-font);color:var(--color-ff);text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:1px 8px;font-size:12px;font-weight:500;line-height:16px;text-decoration:none;display:block;overflow:hidden}.project-card .details-list .detail-category-count span{cursor:default;padding:1px 4px}.project-card .details-list .detail-badges{padding-left:0}.project-card .details-list .detail-badges:after{content:none}.project-card .details-list .detail-updated .date-short{display:none}@media (max-width:900px){.project-card .details-list .detail-game-version,.project-card .details-list .detail-flavor{display:none}}.project-card a{text-decoration:none}.project-card.loading{overflow:hidden}.project-card.loading .split-button,.project-card.loading .art img{display:none}.project-card.loading>*{background-color:var(--color-200);color:#0000!important}.project-card.loading .author{max-width:172px}.project-card.loading .description{max-width:490px}.project-card.loading .details-list{max-width:570px}.project-card.loading:after{content:"";background-image:linear-gradient(120deg,#0000 200px,#6464641a 500px,#0000 800px);background-repeat:no-repeat;animation:2s ease-out infinite animate-project-card-skeleton;position:absolute;inset:0}@keyframes animate-project-card-skeleton{0%{background-position-x:-800px}to{background-position-x:100vw}}
.project-preview{z-index:300;background-color:var(--surface-tertiery);border:1px solid var(--border-tertiery);box-sizing:border-box;pointer-events:all;cursor:pointer;opacity:0;border-radius:4px;width:434px;transition:opacity .15s ease-out;box-shadow:0 8px 24px #0009}.project-preview.is-visible{opacity:1}@media (prefers-reduced-motion:reduce){.project-preview{transition:none}}.project-preview .preview-image{aspect-ratio:16/9;background-color:var(--color-200);border-radius:4px 4px 0 0;flex-shrink:0;width:100%;display:block;position:relative;overflow:hidden}.project-preview .preview-image img{object-fit:cover;width:100%;height:100%;display:block}.project-preview .preview-image-link{width:100%;height:100%;display:block}.project-preview .preview-video{cursor:default;position:absolute;inset:0}.project-preview .preview-video .preview-video-poster{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.project-preview .preview-video .video-component{z-index:1;width:100%;height:100%;position:absolute;inset:0}.project-preview .preview-video iframe{border:0;width:100%;height:100%}.project-preview .preview-slider{position:absolute;inset:0;overflow:hidden}.project-preview .preview-slider-track{will-change:transform;width:100%;height:100%;transition:transform .4s;display:flex}.project-preview .preview-slide{flex:0 0 100%;width:100%;height:100%;position:relative}.project-preview .preview-slide .preview-image-link,.project-preview .preview-slide .preview-video{width:100%;height:100%}.project-preview .preview-slide img{object-fit:cover;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.project-preview .preview-slider-track{transition:none}}.project-preview .preview-class-tag{background-color:var(--surface-secondary,#202020);border:1px solid var(--border-tertiery);height:20px;color:var(--text-pure);white-space:nowrap;pointer-events:none;z-index:2;border-radius:2px;align-items:center;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex;position:absolute;top:8px;left:8px}.project-preview .preview-gallery-loading{pointer-events:none;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-preview .preview-gallery-nav{color:#fff;cursor:pointer;z-index:2;opacity:0;background:#0000008c;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;transition:opacity .15s ease-out,background .15s ease-out;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-preview .preview-gallery-nav:hover{background:#000000bf}.project-preview .preview-gallery-nav--prev{left:8px}.project-preview .preview-gallery-nav--next{right:8px}.project-preview:hover .preview-gallery-nav,.project-preview:focus-within .preview-gallery-nav,.project-preview .preview-gallery-nav:focus-visible{opacity:1}.project-preview .preview-gallery-dots{z-index:1;pointer-events:none;justify-content:center;gap:4px;display:flex;position:absolute;bottom:8px;left:0;right:0}.project-preview .preview-gallery-dot{background:#fff6;border-radius:50%;width:6px;height:6px}.project-preview .preview-gallery-dot.is-active{background:#fffffff2}.project-preview .preview-body{flex-direction:column;gap:12px;padding:12px;display:flex}.project-preview .preview-main-info{width:100%;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.project-preview .preview-thumbnail{border:1px solid var(--border-tertiery);background-color:var(--color-200);border-radius:2px;flex-shrink:0;width:48px;height:48px;overflow:hidden}.project-preview .preview-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.project-preview .preview-name-block{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.project-preview .preview-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:700;line-height:22px;overflow:hidden}.project-preview .preview-author{color:var(--color-600);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;line-height:18px;overflow:hidden}.project-preview .preview-tags{flex-wrap:wrap;gap:4px;display:flex}.project-preview .preview-description{color:var(--color-600);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:18px;display:-webkit-box;overflow:hidden}.project-preview .preview-details{border-top:1px solid var(--border-tertiery);flex-wrap:wrap;gap:8px 16px;height:auto;margin:0;padding:12px 0 0;font-size:14px;line-height:20px;list-style:none;display:flex}.project-preview .preview-details>li{color:var(--text-primary);white-space:nowrap;background-image:none;align-items:center;gap:8px;padding-left:0;display:flex}.project-preview .preview-details>li:before,.project-preview .preview-details>li:after{top:auto;bottom:100%}.project-preview .preview-details>li:before{margin-top:0;margin-bottom:10px}.project-preview .preview-details>li:after{border-width:6px 6px 0;border-color:var(--color-300) #0000 #0000;margin-top:0;margin-bottom:4px}.project-preview .preview-details .detail-flavor{color:var(--text-primary)}.project-preview .preview-actions{z-index:2;width:100%;display:flex;position:relative}.project-preview .preview-actions .split-button{gap:12px;width:100%}.project-preview .preview-actions .split-button>*{flex:1 1 0;min-width:0}.project-preview .preview-actions .split-button .download-cta,.project-preview .preview-actions .split-button .btn-cta{flex:1 1 0;justify-content:center;width:100%}