.project-media{margin:0}.project-media-well{align-items:center;aspect-ratio:16 / 10;background:var(--color-surface-muted);border-radius:calc(var(--radius-panel) - var(--space-1));display:flex;justify-content:center;overflow:hidden;position:relative}.project-media-image{block-size:100%;inline-size:100%;object-fit:contain}.project-media figcaption,.project-media-pending,.project-media-unavailable{color:var(--color-text-muted);font-size:var(--type-small);margin:var(--space-2) 0 0}.project-media figcaption,.project-figure-grid figcaption{text-align:center}.project-media-pending{color:var(--color-warning);font-family:var(--font-mono);font-size:var(--type-meta)}.project-media--unavailable .project-media-pending{margin:0;max-inline-size:var(--prose-max);padding:var(--space-4);text-align:center}.project-media-unavailable{padding:var(--space-4);text-align:center}.project-media[data-media-error=true] .project-media-well{border:1px solid var(--color-border-strong)}.project-explorer{margin-block-start:var(--space-12)}.project-filter-bar{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);display:grid;gap:var(--space-2);padding:var(--space-3)}.project-filter-field{display:grid;gap:var(--space-2)}.project-filter-field>span{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-meta)}.project-filter-field select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);font:inherit;min-block-size:var(--target-size);min-inline-size:0;padding:var(--space-2) var(--space-3)}.project-filter-summary{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between;margin-block-start:var(--space-3)}.project-filter-status{color:var(--color-text-muted);font-size:var(--type-small);margin:0}.project-filter-clear{background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);font:inherit;min-block-size:var(--target-size);padding:var(--space-2) var(--space-3)}.project-filter-clear:disabled{color:var(--color-text-subtle);cursor:not-allowed;opacity:.7}.project-empty-source{background:var(--color-surface-muted);border-radius:var(--radius-panel);color:var(--color-text-muted);margin-block-start:var(--space-12);padding:var(--space-6)}.project-card-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-6)}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);display:grid;min-inline-size:0;overflow:hidden;scroll-margin-block-start:calc(var(--header-height) + (var(--target-size) * 2) + var(--space-20));text-decoration:none}@media(hover:hover)and (pointer:fine){.project-card:hover{border-color:var(--color-border-strong)}}.project-card:focus-visible{outline:.125rem solid var(--color-focus);outline-offset:.125rem}.project-card .project-media-well{border-radius:0}.project-card .project-media-pending,.project-card .project-media>figcaption{margin-inline:var(--space-4)}.project-card-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.project-card-meta{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--type-meta);gap:var(--space-2) var(--space-4);justify-content:space-between;margin:0}.project-card h2{font-family:var(--font-display);font-size:var(--type-h3);line-height:1.28;margin:0}.project-card-claim,.project-card-achievements,.project-card-open{margin:0}.project-card-achievements{display:grid;gap:var(--space-1)}.project-card-claim{color:var(--color-text-muted)}.project-card-achievements,.project-card-open{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--type-meta)}.project-state{color:var(--color-accent);display:none;font-family:var(--font-mono);font-size:var(--type-meta)}.project-record:target .project-current-state,.project-record[data-active=true] .project-current-state,.project-dialog[data-active=true] .project-current-state,.project-record[data-evidence-origin=true] .project-origin-state,.project-dialog[data-evidence-origin=true] .project-origin-state{display:inline-flex}.project-records{display:grid;gap:var(--space-10);margin-block-start:var(--space-6)}.dialog-surface.project-dialog{inline-size:min(calc(100vw - var(--space-8)),var(--prose-max));overflow:hidden;padding:0;position:relative}.project-dialog>.dialog-close{inset-block-start:var(--space-6);inset-inline-end:var(--space-6);position:absolute;z-index:2}.project-dialog>[data-project-dialog-content]{max-block-size:calc(100dvh - var(--space-8));overflow-y:auto;overscroll-behavior:contain;padding:var(--space-6);scrollbar-gutter:stable both-edges}.project-dialog .project-record-header{padding-inline-end:calc(var(--target-size) + var(--space-3))}.project-dialog .project-record-header h2{padding-inline-end:0}.project-record{background:var(--color-surface);border:1px solid var(--color-border);border-inline-start:.25rem solid transparent;border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);min-inline-size:0;padding:var(--space-4);scroll-margin-block-start:calc(var(--header-height) + (var(--target-size) * 2) + var(--space-20))}.project-record:target,.project-record[data-active=true],.project-record[data-evidence-origin=true]{border-inline-start-color:var(--color-accent)}.project-record-meta,.project-record-states{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.project-record-meta{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-meta);justify-content:space-between}.project-dialog .project-record-meta,.project-dialog .project-media figcaption,.project-dialog .project-state{color:var(--color-text)}.project-record-states{margin-block-start:var(--space-2)}.project-record-header h2{font-family:var(--font-display);font-size:var(--type-h2);line-height:1.16;margin:var(--space-3) 0 0}.project-record-header h2:focus-visible{outline:.125rem solid var(--color-focus);outline-offset:.125rem}.project-record-claim{font-size:var(--type-lead);margin:var(--space-3) 0 0;max-inline-size:var(--prose-max)}.project-record>.project-media{margin-block-start:var(--space-5)}.project-record>.project-media .project-media-well{aspect-ratio:16 / 9}.project-dialog .project-media figcaption{inline-size:100%;text-align:center}.project-figure-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-block-start:var(--space-3)}.project-figure-control{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-meta);max-inline-size:100%;min-block-size:var(--target-size);overflow-wrap:anywhere;padding:var(--space-2) var(--space-3)}.project-figure-control[aria-pressed=true]{background:var(--color-surface-strong);color:var(--color-on-strong);font-weight:700}@media(hover:hover)and (pointer:fine){.project-figure-control:not([aria-pressed=true]):hover{color:var(--color-control-hover)}}.project-figure-control:active{transform:translateY(.0625rem)}.project-record-body{margin-block-start:var(--space-5)}.project-record-summary,.project-record-section p{margin:0;max-inline-size:var(--prose-max)}.project-tag-list,.project-links ul{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:var(--space-4) 0 0;padding:0}.project-tag-list li{background:var(--color-surface-muted);border-radius:var(--radius-control);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-overline);padding:var(--space-1) var(--space-2)}.project-card-tags{margin:0}.project-record-section{margin-block-start:var(--space-8)}.project-outcome-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.project-template-unavailable{color:var(--color-text-muted)}.project-outcome{background:var(--color-surface-muted);border-radius:var(--radius-control);min-inline-size:0;padding:var(--space-4)}.project-outcome p,.project-outcome h4{margin:0}.project-outcome h4{font-family:var(--font-display);font-size:var(--type-h3);line-height:1.28}.project-outcome p{color:var(--color-text-muted);margin-block-start:var(--space-2)}.project-outcome .certificate-control{margin-block-start:var(--space-3)}.project-record-section h3{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--type-meta);letter-spacing:.04em;margin:0 0 var(--space-3)}.project-figure-grid{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.project-figure-grid figure{margin:0;min-inline-size:0}.project-figure-grid img{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);inline-size:100%;object-fit:contain}.project-figure-grid figcaption,.project-figure-unavailable p{color:var(--color-text-muted);font-size:var(--type-small);margin-block-start:var(--space-2)}.project-figure-unavailable{background:var(--color-surface-muted);border-radius:var(--radius-control);padding:var(--space-4)}.project-figure-unavailable figcaption,.project-figure-unavailable p{margin:0}.project-figure-unavailable p{margin-block-start:var(--space-2)}.project-link-unavailable{color:var(--color-text-subtle)}.project-links a{align-items:baseline;display:inline-flex;gap:var(--space-2)}.project-links [data-project-link-marker]{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--type-overline)}@media(min-width:48rem){.project-filter-bar{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));inset-block-start:calc(var(--header-height) + var(--space-2));padding:var(--space-3);position:sticky;z-index:8}.project-filter-field{align-items:center;grid-template-columns:auto minmax(0,1fr)}.project-record{padding:var(--space-6);scroll-margin-block-start:calc(var(--header-height) + var(--target-size) + var(--space-20) + var(--space-6))}.project-card-grid,.project-outcome-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{scroll-margin-block-start:calc(var(--header-height) + var(--target-size) + var(--space-20) + var(--space-6))}.project-figure-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.project-filter-bar{padding:var(--space-4)}.project-record{padding:var(--space-8)}}
