:root{--bg:#090d16;--ink:#f1f5f9;--muted:#94a3b8;--surface:#11182773;--line:#ffffff14;--accent:#10b981;--accent-glow:#10b98126;--secondary:#6366f1;--btn-secondary-bg:#ffffff0d;--btn-secondary-hover:#ffffff1a}*{box-sizing:border-box}html{color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at top,#0f172a 0%,#090d16 70%,#030712 100%);min-height:100vh;font-size:16px}body{min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.catalog{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem 5rem}.catalog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem;padding-bottom:1.5rem;display:flex}.eyebrow{color:var(--secondary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.catalog-header h1{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 30%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:.3rem 0 .8rem;font-size:clamp(2rem,1.2rem + 2.5vw,3.2rem);font-weight:800}.subtitle{color:var(--muted);max-width:52ch;margin:0;font-size:1.05rem;line-height:1.6}.subtitle strong{color:#fff;border-bottom:1px dashed var(--accent);padding-bottom:1px;font-weight:600}.admin-link{background:var(--btn-secondary-bg);border:1px solid var(--line);color:#fff;border-radius:12px;align-items:center;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-link:hover{background:var(--ink);color:#090d16;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff1a}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.75rem;display:grid}.empty-state{background:var(--surface);border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:16px;grid-column:1/-1;padding:3rem 2rem;font-size:1.1rem}.empty-subtext{opacity:.7;margin-top:.5rem;font-size:.9rem}.project-card{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;min-height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003}.project-card:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#ffffff05);border-radius:16px;padding:1px;transition:all .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project-card:hover{border-color:#6366f140;transform:translateY(-6px)scale(1.005);box-shadow:0 20px 40px #00000059}.project-card:hover:before{background:linear-gradient(135deg,#6366f166,#10b9811a)}.thumbnail-wrapper,.gradient-placeholder{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.thumbnail{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .thumbnail{transform:scale(1.05)}.gradient-placeholder{justify-content:center;align-items:center;display:flex;position:relative}.gradient-placeholder .initials{letter-spacing:-.05em;color:#ffffffe6;text-shadow:0 4px 10px #0003;font-size:2.5rem;font-weight:800}.category-badge{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#0f172abf;border-radius:99px;padding:.3rem .65rem;font-size:.72rem;font-weight:700;position:absolute;top:1rem;right:1rem}.project-content{flex-direction:column;flex-grow:1;padding:1.25rem;display:flex}.card-header h2{color:#fff;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.35rem;font-weight:700}.description{color:var(--muted);flex-grow:1;margin:0 0 1.25rem;font-size:.92rem;line-height:1.55}.tags-container{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.tag{color:#a5b4fc;background:#6366f114;border:1px solid #6366f126;border-radius:6px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.project-links{gap:.75rem;margin-top:auto;display:flex}.btn{text-align:center;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:.6rem .8rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#030712;border:1px solid var(--accent)}.btn-primary:hover{background:#059669;border-color:#059669;box-shadow:0 0 15px #10b98166}.btn-secondary{background:var(--btn-secondary-bg);color:#fff;border:1px solid var(--line)}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:#fff3}.header-info{flex-direction:column;gap:1rem;display:flex}.header-title-container{align-items:center;gap:1.25rem;display:flex}.header-logo{border:1px solid var(--line);background:var(--surface);object-fit:contain;border-radius:14px;padding:4px;box-shadow:0 4px 12px #00000040}.recognition-badge-card{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:6px;align-self:flex-start;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.recognition-badge-card .trophy-icon{font-size:.85rem}@media (max-width:720px){.catalog{padding:2rem 1rem 3rem}.catalog-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1.2rem}.admin-link{justify-content:center;width:100%}.header-title-container{gap:1rem}.header-logo{width:48px;height:48px}}
