.projects-page,.project-entry,.project-identity,.project-details{min-width:0}.projects-page{--projects-showcase-width:60rem}.projects-featured{width:min(100% - (2 * var(--gutter)), var(--projects-showcase-width));margin-inline:auto}.projects-section-head{align-items:center}.repository-rails{gap:.625rem;display:grid}.repository-rail{max-width:100%;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.repository-track{will-change:transform;gap:.75rem;width:max-content;animation:196s linear infinite repository-forward;display:flex}.repository-rail[data-direction=reverse] .repository-track{animation-name:repository-reverse;animation-duration:182.4s}.repository-rail:hover .repository-track,.repository-rail:active .repository-track{animation-play-state:paused}.repository-rail:focus-within .repository-track{animation:none;transform:none}.repository-sequence{flex:none;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.repository-chip{--repository-color:var(--signal);border:1px solid var(--signal-border);border-radius:var(--radius-lg);min-height:3rem;color:var(--foreground);background:color-mix(in oklch, var(--repository-color) 5%, var(--background));transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);grid-template-columns:auto minmax(8rem,auto) auto auto;align-items:center;gap:.625rem;padding:.5rem .75rem;display:grid}a.repository-chip:hover,a.repository-chip:focus-visible{border-color:var(--repository-color);background:color-mix(in oklch, var(--repository-color) 8%, var(--background))}.repository-chip .github-icon{width:1rem;color:var(--repository-color);filter:drop-shadow(0 0 .35rem color-mix(in oklch, var(--repository-color) 65%, transparent))}.repository-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.repository-language{color:var(--muted-foreground);font-family:var(--font-geist-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.625rem}@keyframes repository-forward{to{transform:translate(calc(-50% - .375rem))}}@keyframes repository-reverse{0%{transform:translate(calc(-50% - .375rem))}to{transform:translate(0)}}.projects-grid{display:grid}.project-entry{border-top:1px solid var(--border);scroll-margin-top:calc(var(--header-height) + 1rem);transition:border-color var(--motion-fast) var(--ease-standard);outline:none;grid-template-columns:minmax(14rem,.8fr) minmax(0,1.2fr);grid-template-areas:"identity details";gap:.4rem clamp(1.25rem,4vw,2.5rem);padding:1.5rem .75rem;display:grid}.project-entry[data-has-media=true],.project-entry[data-has-media=false]{grid-template:"media identity"max-content"media details"max-content/minmax(0,58fr) minmax(18rem,42fr);align-content:start;align-items:start;row-gap:.875rem}.project-entry:target,.project-entry:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.project-identity,.project-details{align-content:start;display:grid}.project-media{grid-area:media;align-self:start;min-width:0;margin:0}.project-media-trigger{border:1px solid var(--border);background:var(--background);width:100%;display:block}:is(a,button).project-media-trigger{cursor:pointer}.project-media-trigger:is(:hover,:focus-visible){border-color:var(--signal-border)}.project-gallery video{pointer-events:none}.project-media-dialog{grid-template-rows:minmax(0,1fr) auto;gap:0;width:min(70rem,100vw - 2rem);max-width:70rem;height:min(88dvh,54rem);max-height:88dvh;padding:0;overflow:hidden}.project-media-dialog-close{z-index:3;border-color:color-mix(in oklch, var(--foreground) 20%, transparent);color:var(--foreground);background:color-mix(in oklch, var(--background) 82%, transparent);backdrop-filter:blur(12px);position:absolute;top:.75rem;right:.75rem}.project-media-dialog-stage{background:var(--background);place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.project-media-dialog-stage :is(img,video){object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.project-media-dialog-footer{border-top:1px solid var(--border);min-height:3.75rem;color:var(--muted-foreground);font-family:var(--font-geist-mono);font-size:var(--text-label);justify-content:center;align-items:center;padding:.625rem 1rem;display:flex}.project-media-dialog-gallery{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;width:min(100%,32rem);display:grid}.project-media-dialog-thumbnails{justify-content:center}.project-media-dialog-footer :is(.project-media-dialog-previous,.project-media-dialog-next){border-radius:999px;width:2.5rem;height:2.5rem}.project-media-controller-sentinel{width:1px;height:1px;display:block;overflow:hidden}.project-gallery-track{margin-left:0}.project-gallery-slide{padding-left:0}.project-gallery-stage{position:relative}.project-gallery-controls{color:var(--muted-foreground);font-family:var(--font-geist-mono);font-size:var(--text-label);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;margin-top:.75rem;display:grid}.project-gallery-thumbnails{scrollbar-width:none;justify-content:center;gap:.375rem;min-width:0;display:flex;overflow-x:auto}.project-gallery-thumbnails::-webkit-scrollbar{display:none}.project-gallery-thumbnail{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);background:var(--background);cursor:pointer;flex:0 0 4.25rem;padding:0;position:relative;overflow:hidden}.project-gallery-thumbnail[aria-current=true]{border-color:var(--signal);box-shadow:inset 0 0 0 1px var(--signal)}.project-gallery-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.project-gallery-thumbnail-play{width:1rem;height:1rem;color:var(--foreground);background:color-mix(in oklch, var(--background) 78%, transparent);border-radius:999px;padding:.15rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-gallery-controls :is(.project-gallery-previous,.project-gallery-next){border-radius:999px;width:2.5rem;height:2.5rem}.project-gallery-previous{justify-self:start}.project-gallery-next{justify-self:end}.project-preview-status{z-index:2;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:.625rem;right:.625rem}.project-sound-trigger svg{width:1rem}.project-preview-status [data-slot=button]{background:color-mix(in oklch, var(--background) 86%, transparent);backdrop-filter:blur(10px)}.project-identity{grid-area:identity;justify-items:start;gap:.55rem}.project-title-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.project-identity h3{overflow-wrap:anywhere;transition:color var(--motion-fast) var(--ease-standard);margin:0;font-size:1.25rem;line-height:1.2}.project-type{border-color:var(--signal-border);color:color-mix(in oklch, var(--signal) 78%, var(--foreground));font-family:var(--font-geist-mono);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase}.project-pitch{line-height:var(--leading-body);color:var(--foreground);margin:0;font-weight:520}.project-details{grid-area:details;gap:.75rem}.project-entry[data-has-media=true] .project-details{transform:translateY(-1.75rem)}.project-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.project-actions .project-destination{white-space:normal;justify-content:space-between;width:100%;height:auto;min-height:4rem;padding:.75rem .875rem}.project-destination-copy{text-align:left;gap:.1rem;min-width:0;display:grid}.project-destination-label{color:var(--foreground);font-size:.9375rem}.project-destination-action{color:var(--muted-foreground);font-family:var(--font-geist-mono);font-size:var(--text-label);font-weight:450}.project-destination [data-destination-cue]{color:var(--signal);filter:drop-shadow(0 0 .4rem var(--signal-glow))}@media (hover:hover){.project-actions .project-destination:hover{border-color:var(--signal-border);background:color-mix(in oklch, var(--signal) 5%, var(--background))}}@media (width<=840px){.section-head.projects-section-head{grid-template-columns:minmax(0,1fr)}.project-entry,.project-entry[data-has-media=true],.project-entry[data-has-media=false]{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity""media""details";row-gap:1rem}.project-entry[data-has-media=true] .project-details{transform:none}.project-media-dialog{grid-template-rows:auto auto;width:calc(100vw - 1rem);height:auto;max-height:88dvh}.project-media-dialog-stage{aspect-ratio:16/11}.project-gallery-thumbnails{justify-content:flex-start}.project-media-dialog-footer{padding-inline:.5rem}.project-media-dialog-gallery{width:100%}}@media (prefers-reduced-motion:reduce){.repository-rail{scrollbar-width:thin;overflow-x:auto;mask-image:none}.repository-track{animation:none;transform:none}.repository-sequence-duplicate{display:none}}@media (forced-colors:active){.repository-chip,a.repository-chip:hover,a.repository-chip:focus-visible{color:linktext;background:canvas;border-color:canvastext}.repository-chip .github-icon{color:linktext;filter:none}}@media (pointer:coarse){.project-gallery-thumbnail,.project-actions [data-slot=button],.projects-section-head>a,.repository-chip{min-height:44px}}
