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