.catalog-page{flex-direction:column;align-items:center;gap:3rem;min-height:100svh;padding:6rem 1.25rem 4rem;display:flex;position:relative}.catalog-page .back{font-family:var(--mono);color:var(--text-dim);z-index:10;font-size:.8rem;transition:color .15s;position:fixed;top:1.5rem;left:2rem}.catalog-page .back:hover{color:var(--accent)}.catalog-page .page-head{text-align:center;animation:fade-up .6s var(--ease-out) both;flex-direction:column;align-items:center;gap:.5rem;display:flex}.catalog-page .head-label{font-family:var(--mono);color:var(--accent);letter-spacing:.12em;overflow-wrap:anywhere;font-size:1.1rem;font-weight:400}.catalog-page .head-sub{font-family:var(--mono);color:var(--text-dim);letter-spacing:.05em;font-size:.78rem}.catalog-page .proj-list{flex-direction:column;gap:.85rem;width:min(640px,100%);list-style:none;display:flex}.catalog-page .proj-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;opacity:0;animation:fade-up .5s var(--ease-out) both;animation-delay:calc(.15s + var(--i,0) * 90ms);border-radius:8px;padding:1.1rem 1.25rem;text-decoration:none;transition:border-color .2s,background .2s;display:block;position:relative;overflow:hidden;transform:translateY(8px)}.catalog-page .proj-card:hover{background:#131313;border-color:#f5e6424d}.catalog-page .glitch-slice{background:var(--accent);opacity:0;pointer-events:none;mix-blend-mode:overlay;clip-path:inset(100% 0 0);transition:none;position:absolute;inset:0}.catalog-page .scan-line{pointer-events:none;background:#f5e6422e;height:1px;transition:none;position:absolute;top:-2px;left:0;right:0}@keyframes glitch-pass{0%{clip-path:inset(100% 0 0%);opacity:.7}15%{clip-path:inset(0% 0 85%);opacity:.5}30%{clip-path:inset(30% 0 55%);opacity:.6}50%{clip-path:inset(60% 0 20%);opacity:.4}70%{clip-path:inset(80% 0 5%);opacity:.3}to{clip-path:inset(100% 0 0%);opacity:0}}@keyframes scan-pass{0%{opacity:0;top:-2px}5%{opacity:1}95%{opacity:.6}to{opacity:0;top:calc(100% + 2px)}}.catalog-page .proj-card:hover .glitch-slice{animation:.4s step-end both glitch-pass}.catalog-page .proj-card:hover .scan-line{animation:.4s linear both scan-pass}.catalog-page .card-inner{z-index:1;flex-direction:column;gap:.55rem;display:flex;position:relative}.catalog-page .card-top{align-items:center;gap:.6rem;display:flex;position:relative}.catalog-page .card-right{flex-shrink:0;align-items:center;gap:.4rem;display:flex;position:absolute;top:0;right:0}.catalog-page .card-name{font-family:var(--mono);color:var(--text);padding-right:6rem;font-size:.88rem;font-weight:400;transition:color .15s}.catalog-page .proj-card:hover .card-name{color:var(--accent)}.catalog-page .card-status{font-family:var(--mono);letter-spacing:.06em;text-transform:lowercase;background:0 0;border:none;border-radius:0;padding:0;font-size:.62rem}.catalog-page .status--live{color:#4ade80}.catalog-page .status--wip{color:#999}.catalog-page .status--prog{color:#f97316}.catalog-page .status--priv{color:#ff212888}.catalog-page .card-arrow{color:var(--border);font-size:.8rem;transition:color .15s}.catalog-page .proj-card:hover .card-arrow{color:#f5e64280}.catalog-page .card-desc{font-family:var(--mono);color:var(--text-dim);font-size:.77rem;line-height:1.5}.catalog-page .card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.catalog-page .tag{font-family:var(--mono);color:#7a7a7a;letter-spacing:.04em;border:1px solid #2a2a2a;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;transition:color .15s,border-color .15s}.catalog-page .proj-card:hover .tag{color:#a0a0a0;border-color:#3a3a3a}.catalog-page .tag--git{color:#a08a00;border-color:#f5c80026}.catalog-page .proj-card:hover .tag--git{color:#c8aa00;border-color:#f5c80040}.catalog-page .rip-glitch{animation:4s step-end infinite rip-glitch;display:inline-block}@keyframes rip-glitch{0%,94%,to{text-shadow:none;transform:none}95%,97%{text-shadow:1px 0 var(--accent), -1px 0 #ff2128;transform:translate(-1px)}96%,98%{text-shadow:-1px 0 var(--accent);transform:translate(1px)}}@media (width<=480px){.catalog-page{padding-top:5rem}.catalog-page .card-name{font-size:.82rem}.catalog-page .card-desc{font-size:.73rem}}@media (prefers-reduced-motion:reduce){.catalog-page .rip-glitch,.catalog-page .page-head,.catalog-page .proj-card,.catalog-page .proj-card:hover .glitch-slice,.catalog-page .proj-card:hover .scan-line{animation:none}.catalog-page .proj-card{opacity:1;transform:none}}
