.ccard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;text-decoration:none;transition:box-shadow .3s,transform .3s,border-color .3s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.ccard:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 8px 32px #0000001a}}@supports (color:color-mix(in srgb, red 50%, blue)){@media (hover:hover){.ccard:hover{box-shadow:0 8px 32px color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}}}.ccard:before{content:"";background:var(--accent);opacity:0;width:3px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}@media (hover:hover){.ccard:hover:before{opacity:1}}.ccard__img-wrap{aspect-ratio:16/9;background:var(--border-light);position:relative;overflow:hidden}.ccard__img{object-fit:cover;filter:grayscale(10%);width:100%;height:100%;transition:transform .45s}@media (hover:hover){.ccard:hover .ccard__img{transform:scale(1.04)}}.ccard__badge{letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(4px);border-radius:2px;padding:.2rem .55rem;font-size:.7rem;font-weight:600;position:absolute;top:.6rem;right:.6rem}.ccard__badge--active{background:var(--accent);color:#fff}.ccard__badge--paused{background:var(--badge-paused,#b48c28d9);color:#fff}.ccard__badge--closed{background:var(--badge-closed,#1c1b198c);color:var(--badge-closed-text,#ffffffb3)}.ccard__body{flex-direction:column;flex:1;gap:.35rem;padding:1rem 1.1rem 1.2rem;display:flex}.ccard__system{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.ccard__title{font-family:var(--font-serif);color:var(--text);font-size:.9375rem;font-weight:700;line-height:1.3}.ccard__setting{color:var(--text-subtle);align-items:center;gap:.3rem;font-size:.8rem;display:flex}.ccard__setting .icon,.ccard__sessions .icon{color:var(--accent);font-size:.7rem}.ccard__desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-top:.2rem;font-size:.8125rem;line-height:1.6;display:-webkit-box;overflow:hidden}.ccard__footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:.85rem;padding-top:.75rem;display:flex}.ccard__sessions{color:var(--text-subtle);align-items:center;gap:.3rem;font-size:.78rem;display:flex}.ccard__cta{color:var(--accent);align-items:center;gap:.3rem;font-size:.8rem;font-weight:500;transition:gap .25s,transform .25s;display:flex}@media (hover:hover){.ccard:hover .ccard__cta{gap:.55rem}}.ccard__cta:after{content:"→"}.ccard__tags{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.ccard__tag{color:var(--text-muted);background:var(--border-light);border-radius:3px;padding:.15rem .5rem;font-size:.7rem}.ccard__date{color:var(--text-subtle);font-size:.78rem}.ccard__stack{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.ccard__tech{color:var(--text-muted);background:var(--border-light);font-size:.7rem;font-family:var(--font-sans);border-radius:3px;padding:.15rem .5rem}.ccard__tag-cat{color:var(--text-subtle);font-size:.78rem}.ccard__badge--done,.ccard__badge--live{background:var(--badge-done,#2a6b4ad9);color:#fff}.ccard__badge--wip{background:var(--badge-wip,#e65100d9);color:#fff}.ccard__badge--archived{background:var(--badge-closed,#1c1b198c);color:var(--badge-closed-text,#ffffffb3)}@media (width<=480px){.ccard__body{padding:.85rem 1rem 1rem}.ccard__title{font-size:.875rem}.ccard__desc{-webkit-line-clamp:2}.ccard__footer{margin-top:.65rem;padding-top:.6rem}}.content-section{background:var(--bg);padding:2rem 2rem 4rem}.content-grid{gap:1.25rem;max-width:900px;margin:0 auto;display:grid}.content-grid--3col{grid-template-columns:repeat(3,1fr)}.content-grid--2col{grid-template-columns:repeat(2,1fr)}@media (width<=640px){.content-grid--3col{grid-template-columns:repeat(2,1fr)}.content-grid--2col{grid-template-columns:1fr}.content-section{padding-left:1.25rem;padding-right:1.25rem}}@media (width<=480px){.content-grid--3col{grid-template-columns:1fr}.content-section{padding:1.5rem 1rem 3rem}.content-grid{gap:1rem}}
