.route-label { color: var(--cyan); font-family: var(--mono); font-size: var(--step--1); font-weight: 650; letter-spacing: 0.08em; line-height: 1.3; } .portfolio-section > h2 { margin-block: var(--space-1) var(--space-2); font-size: var(--step-2); } .portfolio-section > p:not(.route-label), .portfolio-section article > p, .portfolio-section dd { color: var(--text-muted); } .portfolio-section > * + *, .portfolio-section article > * + *, .portfolio-section li + li { margin-block-start: var(--space-2); } .portfolio-section article { min-width: 0; margin-block-start: var(--space-3); padding-block-start: var(--space-3); border-block-start: 1px solid var(--line); } .portfolio-section article h3, .portfolio-section section h3 { font-size: var(--step-1); } .portfolio-section ul, .portfolio-section ol { padding-inline-start: 1.2rem; } .portfolio-section dl { display: grid; gap: var(--space-1) var(--space-2); margin-block-start: var(--space-3); } .portfolio-section dt { color: var(--cyan); font-family: var(--mono); font-size: var(--step--1); font-weight: 650; letter-spacing: 0.04em; } .portfolio-section dd { min-width: 0; margin-inline-start: 0; } .portfolio-section figure { min-width: 0; margin-block-start: var(--space-3); padding: var(--space-2); border: 1px solid var(--line); background: var(--surface-raised); } .portfolio-section figcaption { margin-block-start: var(--space-1); color: var(--text-muted); font-size: var(--step--1); } .project-media { overflow: hidden; } .project-media img, .project-media video { inline-size: 100%; block-size: auto; border: 1px solid var(--line); background: var(--canvas); } .media-description, .chart-description, .video-controls, .chart-values { margin-block-start: var(--space-2); } .chart-description { display: grid; grid-template-columns: minmax(6rem, auto) minmax(0, 1fr); } .chart-values { inline-size: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; } .chart-values caption { padding-block-end: var(--space-1); color: var(--text); font-weight: 650; text-align: start; } .chart-values th, .chart-values td { padding: 0.45rem; border: 1px solid var(--line); text-align: start; } .video-controls { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; } .video-controls button { min-inline-size: 8rem; min-block-size: 44px; padding-inline: var(--space-2); border: 1px solid var(--cyan); background: var(--cyan-deep); color: var(--text); font-family: var(--mono); font-weight: 650; } .video-controls button:disabled { border-color: var(--line); color: var(--text-muted); } @media (max-width: 420px) { .chart-description { grid-template-columns: 1fr; } } .portfolio-section svg { inline-size: 100%; block-size: auto; } .portfolio-section svg rect { fill: #172432; stroke: var(--cyan); stroke-width: 2; } .portfolio-section svg text { fill: var(--text); font-family: var(--sans); font-size: 19px; } .portfolio-section > div { display: grid; gap: var(--space-3); margin-block-start: var(--space-3); } .portfolio-section > div > section { min-width: 0; padding-block-start: var(--space-2); border-block-start: 1px solid var(--line); } .portfolio-section > div > section ul { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-block-start: var(--space-2); padding: 0; list-style: none; } .portfolio-section > div > section li { display: inline-flex; gap: 0.45rem; align-items: center; min-block-size: 2rem; padding: 0.25rem 0.55rem; border: 1px solid var(--line); color: var(--text-muted); font-size: var(--step--1); } .portfolio-section > div > section li span[aria-hidden='true'] { inline-size: 0.5rem; block-size: 0.5rem; border: 1px solid var(--cyan); border-radius: 50%; }