
.flow{container-type:inline-size;margin:18px 0 0}
.flow-svg{display:block;width:100%;height:auto;overflow:visible}
.flow-wide{display:none}
@container (min-width:520px){.flow-wide{display:block}.flow-narrow{display:none}}
.flow figcaption{margin-top:10px;color:#405069;font-size:.84rem;line-height:1.45}
.flow-node rect{stroke-width:1.4}
.flow-label{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;fill:#041E3A}
.flow-sub{font-size:10px;fill:#405069}
.flow-io rect{fill:#FAF9F6;stroke:#8795A5;stroke-dasharray:4 3}
.flow-code rect{fill:#041E3A;stroke:#041E3A}
.flow-code .flow-label{fill:#FAF9F6}.flow-code .flow-sub{fill:#CDD3D8}
.flow-llm rect{fill:#FFF4EA;stroke:#BE6C20}
.flow-judge rect{fill:#F6D3B0;stroke:#BE6C20;stroke-width:2}
.flow-human rect{fill:#FAF9F6;stroke:#041E3A;stroke-width:2.4}
.flow-out rect{fill:#E8ECEF;stroke:#354250}
.flow-edge{fill:none;stroke:#354250;stroke-width:1.5}
.flow-edge-loop{stroke:#BE6C20;stroke-dasharray:5 4}
.flow-edge-skip{stroke:#8795A5;stroke-dasharray:3 4}
.flow-arrow{fill:#354250}
.flow-edge-label{font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:700;fill:#9A5418;paint-order:stroke;stroke:#FAF9F6;stroke-width:4px}
.flow-dot{fill:#E08A3C;stroke:#FAF9F6;stroke-width:1.5}
.flow-dot-skip{fill:#8795A5}
.flow-legend-text{font-size:10px;fill:#405069}
.flow-judge:not(.flow-legend) rect{animation:flowGate 2.6s ease-in-out infinite}
@keyframes flowGate{50%{stroke-width:3.4}}
@media (prefers-reduced-motion:reduce){.flow-dots{display:none}.flow-judge rect{animation:none}}

.hackathon-section{padding:88px 0;background:var(--ink)}
.hack-intro{max-width:68ch;margin-bottom:28px;color:#c7ced5;font-size:1rem}
.hack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hack-card{display:flex;flex-direction:column;border:1px solid var(--line-dark);border-top:3px solid var(--orange);padding:24px;background:#08111e}
.hack-card .card-index{min-height:2.6em;margin-bottom:12px;font-size:.74rem;line-height:1.3}
.hack-card h3{margin-bottom:12px;color:var(--paper);font-size:1.5rem;letter-spacing:-.03em;text-transform:none}
.hack-what{margin-bottom:14px;color:#c7ced5;font-size:.92rem;line-height:1.55}
.hack-team{margin-bottom:14px;color:var(--paper);font-size:.86rem}
.hack-stack{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.hack-stack span{border:1px solid #718092;padding:6px 9px;color:#E8ECEF;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:600;line-height:1}
.hack-note{margin-bottom:16px;border-left:2px solid var(--orange);padding-left:10px;color:#D8DEE3;font-size:.82rem;line-height:1.45}
.hack-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.hack-link{display:inline-flex;min-height:44px;align-items:center;gap:6px;border:1px solid var(--paper);padding:0 16px;background:var(--paper);color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none}
.hack-link:hover{background:var(--orange);border-color:var(--orange)}
.hack-link+.hack-link{background:transparent;color:var(--paper)}
.hack-link+.hack-link:hover{background:transparent;border-color:var(--orange);color:var(--paper)}
@media (max-width:760px){.hackathon-section{padding:64px 0}.hack-grid{grid-template-columns:1fr}
.nav-links a[href="#hackathons"],.nav-links a[href="#capabilities"]{display:none}}
