.project-showcase__dialog{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);width:min(1120px,100vw - 64px);max-width:none;max-height:min(900px,100dvh - 64px);color:var(--ink);font-family:var(--font-stack);margin:auto;padding:0;overflow:hidden;box-shadow:0 32px 100px -22px #0006}.project-showcase__dialog[open]{animation:appear .22s var(--ease-out);flex-direction:column;display:flex}.project-showcase__dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a1ca3}.project-showcase__header{border-bottom:1px solid var(--line);background:var(--paper);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 24px;display:flex}.project-showcase__headerIdentity{color:var(--muted);align-items:center;gap:10px;font-size:.82rem;font-weight:600;display:flex}.project-showcase__headerIdentity svg{color:var(--blue-700)}.project-showcase__iconButton{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;place-items:center;transition:border-color .16s,background-color .16s;display:grid}.project-showcase__iconButton:hover{background:var(--blue-50);border-color:var(--blue)}.project-showcase__iconButton:disabled{opacity:.35;cursor:default}.project-showcase__scroll{overscroll-behavior:contain;min-height:0;padding:clamp(20px,3vw,36px);overflow:auto}.project-showcase__titleRow{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.project-showcase__titleRow>div{min-width:0}.project-showcase__eyebrow{color:var(--muted);font-family:var(--font-mono-stack);overflow-wrap:anywhere;margin-bottom:7px;font-size:.72rem}.project-showcase__title{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.75rem);font-weight:800;line-height:1.1}.project-showcase__body{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:clamp(22px,3vw,36px);display:grid}.project-showcase__bodyNoMedia{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.project-showcase__gallery{min-width:0}.project-showcase__galleryHead{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:.72rem;font-weight:600;display:flex}.project-showcase__viewer{aspect-ratio:16/10;border:1px solid var(--line);background:var(--paper);border-radius:8px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.project-showcase__mainImage{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.project-showcase__video{background:var(--night);border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.project-showcase__caption{color:var(--muted);justify-content:space-between;align-items:start;gap:12px;margin-top:12px;font-size:.78rem;display:flex}.project-showcase__caption p{overflow-wrap:anywhere}.project-showcase__original{color:var(--blue-700);flex:none;align-items:center;gap:4px;min-height:24px;text-decoration:none;display:inline-flex}.project-showcase__original:hover{text-underline-offset:4px;text-decoration:underline}.project-showcase__galleryControls{align-items:center;gap:10px;margin-top:18px;display:flex}.project-showcase__thumbnails{scrollbar-width:thin;flex:1;gap:8px;min-width:0;padding:4px;display:flex;overflow-x:auto}.project-showcase__thumbnail{border:1px solid var(--line);background:var(--paper);width:76px;height:56px;color:var(--muted);cursor:pointer;border-radius:5px;flex:none;place-items:center;padding:3px;display:grid;position:relative}.project-showcase__thumbnail[aria-pressed=true]{border:2px solid var(--blue);box-shadow:0 0 0 2px var(--blue-50)}.project-showcase__thumbnail img{object-fit:contain;width:100%;height:100%}.project-showcase__thumbnailNumber{bottom:1px;background:var(--surface);color:var(--muted);font-family:var(--font-mono-stack);border-radius:2px;padding:0 3px;font-size:.56rem;position:absolute;inset-inline-end:2px}.project-showcase__play{cursor:pointer;background:var(--night);color:#fff;isolation:isolate;border:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;font-size:.95rem;font-weight:600;display:flex;position:absolute;inset:0}.project-showcase__playIcon{background:var(--blue);border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 6px 30px #0003}.project-showcase__playIcon svg{margin-inline-start:3px}.project-showcase__poster{object-fit:cover;opacity:.35;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.project-showcase__info{gap:24px;min-width:0;display:grid}.project-showcase__sectionLabel{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:700}.project-showcase__summary{color:var(--ink-2);overflow-wrap:anywhere;text-wrap:pretty;font-size:.95rem;line-height:1.7}.project-showcase__highlights{gap:10px;display:grid}.project-showcase__highlights li{color:var(--ink-2);overflow-wrap:anywhere;align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.65;display:flex}.project-showcase__highlights svg{color:var(--blue-700);flex:none;margin-top:5px}.project-showcase__chips{flex-wrap:wrap;gap:6px;display:flex}.project-showcase__chips li{background:var(--paper);border:1px solid var(--line);max-width:100%;color:var(--ink-2);font-family:var(--font-mono-stack);overflow-wrap:anywhere;border-radius:999px;padding:5px 9px;font-size:.7rem}.project-showcase__actions{flex-wrap:wrap;gap:10px;padding-top:8px;display:flex}.project-showcase__empty{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-direction:column;justify-content:center;gap:16px;min-height:260px;padding:clamp(22px,3vw,36px);display:flex}.project-showcase__empty>svg{color:var(--blue-700)}.project-showcase__empty h3{font-size:clamp(1.4rem,2vw,1.85rem);font-weight:750;line-height:1.25}.project-showcase__empty p{color:var(--muted);font-size:.88rem;line-height:1.65}.project-showcase__sourceNote{color:var(--muted);align-items:center;gap:7px;margin-top:8px;font-size:.68rem;display:inline-flex}.project-showcase__loading{background:var(--paper);color:var(--muted);border-radius:8px;align-items:center;gap:10px;margin-bottom:24px;padding:22px;font-size:.88rem;display:flex}.project-showcase__loading svg{color:var(--blue-700);flex:none;animation:1s linear infinite spin}.project-showcase__error{border:1px solid var(--line-2);color:var(--ink-2);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding:20px;font-size:.9rem;display:flex}.project-showcase__error button{border:1px solid var(--line-2);background:var(--paper);min-height:44px;color:var(--blue-700);cursor:pointer;border-radius:5px;padding:8px 14px;font-weight:600}.project-showcase__mediaFailure{text-align:center;color:var(--muted);justify-items:center;gap:14px;padding:28px;font-size:.85rem;display:grid}.project-showcase__documentation{border-top:1px solid var(--line);margin-top:30px}.project-showcase__documentationToggle{width:100%;min-height:54px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:.95rem;font-weight:650;display:flex}.project-showcase__documentationToggle>span:first-child{align-items:center;gap:9px;display:inline-flex}.project-showcase__documentationToggle>span:last-child{color:var(--blue-700);font-size:1.3rem}.project-showcase__footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;font-size:.72rem;display:flex}.project-showcase__footer span,.project-showcase__footer a{align-items:center;gap:6px;display:inline-flex}.project-showcase__footer a{color:var(--blue-700);min-height:24px;text-decoration:none}.project-showcase__footer a:hover{text-decoration:underline}.project-showcase__readme{color:var(--ink-2);overflow-wrap:anywhere;padding-block:4px 20px;font-size:.9rem;line-height:1.8}.project-showcase__readme>*+*{margin-top:16px}.project-showcase__readme h1,.project-showcase__readme h2,.project-showcase__readme h3,.project-showcase__readme h4{color:var(--ink);margin-top:24px;font-weight:700;line-height:1.3}.project-showcase__readme h1{font-size:1.7rem}.project-showcase__readme h2{font-size:1.4rem}.project-showcase__readme h3{font-size:1.15rem}.project-showcase__readme ul,.project-showcase__readme ol{list-style:revert;padding-inline-start:24px}.project-showcase__readme li+li{margin-top:5px}.project-showcase__readme a{color:var(--blue-700);text-underline-offset:3px;text-decoration:underline}.project-showcase__readme pre{border:1px solid var(--line);background:var(--paper);font-family:var(--font-mono-stack);direction:ltr;border-radius:5px;padding:16px;font-size:.75rem;overflow-x:auto}.project-showcase__readme code{font-family:var(--font-mono-stack);background:var(--paper);font-size:.85em}.project-showcase__readme blockquote{border-inline-start:2px solid var(--blue);color:var(--muted);padding-inline-start:16px}.project-showcase__readme table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.project-showcase__readme th,.project-showcase__readme td{border:1px solid var(--line);text-align:start;padding:9px}.project-showcase__readme hr{border:0;border-top:1px solid var(--line)}.project-showcase__dialog button:focus-visible,.project-showcase__dialog a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.project-showcase__dialog[dir=rtl] .project-showcase__iconButton svg{transform:scaleX(-1)}.project-showcase__dialog[dir=rtl] .project-showcase__sectionLabel{letter-spacing:0;text-transform:none;font-size:.85rem}.project-showcase__dialog[dir=rtl] .project-showcase__title{letter-spacing:0}@keyframes appear{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:800px){.project-showcase__body,.project-showcase__bodyNoMedia{grid-template-columns:minmax(0,1fr)}.project-showcase__info{gap:20px}.project-showcase__empty{min-height:180px}}@media (max-width:600px){.project-showcase__dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.project-showcase__header{min-height:60px;padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top))}.project-showcase__scroll{padding:22px 18px max(22px, env(safe-area-inset-bottom))}.project-showcase__titleRow{margin-bottom:22px}.project-showcase__title{font-size:1.8rem}.project-showcase__caption{flex-wrap:wrap;gap:4px}.project-showcase__viewer{aspect-ratio:4/3}.project-showcase__thumbnails{gap:6px}}@media (prefers-reduced-motion:reduce){.project-showcase__dialog[open],.project-showcase__loading svg{animation:none}}@media (prefers-reduced-transparency:reduce){.project-showcase__dialog::backdrop{background:var(--night);-webkit-backdrop-filter:none;backdrop-filter:none}}
