.project-accordion{border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition-default), box-shadow var(--transition-default);background:linear-gradient(135deg,#071a38d1,#030e22f0);overflow:clip;box-shadow:0 12px 36px #00040f2e}.project-accordion:hover,.project-accordion[open]{border-color:var(--border-strong);box-shadow:var(--shadow-glow)}.project-accordion__summary{min-height:78px;padding:var(--space-5) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-5);color:var(--text-primary);cursor:pointer;list-style:none;display:flex}.project-accordion__summary::-webkit-details-marker{display:none}.project-accordion__summary:focus-visible{outline:2px solid var(--primary-400);outline-offset:-3px}.project-accordion__heading{justify-content:space-between;align-items:center;gap:var(--space-5);flex:1;min-width:0;display:flex}.project-accordion__title{min-width:0;font-family:var(--font-display);font-size:clamp(1rem,2vw,1.25rem);font-weight:700;line-height:1.35}.project-accordion__version{border:1px solid var(--primary-400-alpha-22);border-radius:var(--radius-round);background:var(--primary-500-alpha-08);color:var(--primary-300);font-family:var(--font-code);font-size:var(--font-size-xs);white-space:nowrap;padding:6px 10px;font-weight:650}.project-accordion__chevron{width:20px;height:20px;color:var(--primary-300);transition:transform var(--transition-default);flex:none}.project-accordion[open] .project-accordion__chevron{transform:rotate(180deg)}.project-accordion__content{padding:0 var(--space-6) var(--space-6);border-top:1px solid var(--border-subtle)}.project-accordion__intro{padding-top:var(--space-6)}.project-accordion__role{margin:0 0 var(--space-3);color:var(--primary-300);font-family:var(--font-code);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:650}.project-accordion__lead{color:var(--text-primary);font-size:var(--font-size-md);margin:0;font-weight:600;line-height:1.55}.project-accordion__description{max-width:980px;margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.75}.project-accordion__section{margin-top:var(--space-6)}.project-accordion__section h3{margin:0 0 var(--space-4);color:var(--text-primary);font-size:var(--font-size-sm)}.project-accordion__contributions{gap:var(--space-3) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.project-accordion__contributions li{color:var(--text-secondary);font-size:var(--font-size-sm);grid-template-columns:17px minmax(0,1fr);gap:9px;line-height:1.6;display:grid}.project-accordion__contributions svg{width:15px;height:15px;color:var(--primary-400);margin-top:4px}.project-accordion__technologies{gap:var(--space-2);margin:var(--space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.project-accordion__technologies li{border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--primary-500-alpha-06);color:var(--text-secondary);font-family:var(--font-code);padding:6px 10px;font-size:10px}.project-accordion__actions{gap:var(--space-3);padding-top:var(--space-5);margin-top:var(--space-6);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.project-accordion__actions a{align-items:center;gap:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-round);min-height:42px;color:var(--text-soft);font-size:var(--font-size-xs);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);padding:0 14px;font-weight:650;text-decoration:none;display:inline-flex}.project-accordion__actions a:hover{border-color:var(--border-strong);background:var(--primary-500-alpha-08);color:var(--text-primary)}@media (max-width:820px){.project-accordion__contributions{grid-template-columns:1fr}}@media (max-width:520px){.project-accordion__summary{min-height:70px;padding:var(--space-4)}.project-accordion__heading{align-items:flex-start;gap:var(--space-2);flex-direction:column}.project-accordion__content{padding:0 var(--space-4) var(--space-5)}.project-accordion__actions a{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.project-accordion,.project-accordion__chevron,.project-accordion__actions a{transition:none}}
