diff --git a/ShadowDOM/explainer.md b/ShadowDOM/explainer.md
new file mode 100644
index 00000000..8f1d9f8c
--- /dev/null
+++ b/ShadowDOM/explainer.md
@@ -0,0 +1,397 @@
+# Declarative shadow DOM style sharing
+
+## Authors
+
+- Kurt Catti-Schmidt
+- Daniel Clark
+- Alex Russell
+- Tien Mai
+
+## Participate
+- [Discussion forum](https://github.com/WICG/webcomponents/issues/939)
+
+## Status of this Document
+
+This document is intended as a starting point for engaging the community and
+standards bodies in developing collaborative solutions fit for standardization.
+As the solutions to problems described in this document progress along the
+standards-track, we will retain this document as an archive and use this section
+to keep the community up-to-date with the most current standards venue and
+content location of future work and discussions.
+
+* This document status: **Active**
+* Expected venue: [Web Components CG](https://w3c.github.io/webcomponents-cg/)
+* Current version: this document
+## Table of Contents
+ - [Authors](#authors)
+ - [Participate](#participate)
+ - [Status of this Document](#status-of-this-document)
+ - [Background](#background)
+ - [Problem](#problem)
+ - [Goals](#goals)
+ - [Non-goals](#non-goals)
+ - [Use case](#use-case)
+ - [Media site control widgets](#media-site-control-widgets)
+ - [Anywhere web components are used](#anywhere-web-components-are-used)
+ - [Alternatives to using style in DSD](#alternatives-to-using-style-in-dsd)
+ - [Proposal: Inline, declarative SS module scripts](#proposal-inline-declarative-css-module-scripts)
+ - [Alternate proposals](#alternate-proposals)
+ - [Summary](#summary)
+ - [Open issues](#open-issues)
+ - [References and acknowledgements](#references-and-acknowledgements)
+
+
+## Background
+With the use of web components in web development, web authors often encounter challenges in managing styles, such as distributing global styles into shadow roots and sharing styles across different shadow roots. Markup-based shadow DOM, or [Declarative shadow DOM (DSD)](https://developer.chrome.com/docs/css-ui/declarative-shadow-dom), is a new concept that makes it easier and more efficient to create a shadow DOM definition directly in HTML, without needing JavaScript for setup. [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM) provides isolation for CSS, JavaScript, and HTML. Each shadow root has its own separate scope, which means styles defined inside one shadow root do not affect another or the main document.
+
+## Problem
+Sites that make use of Declarative Shadow DOM (DSD) have reported that the lack of a way to reference repeated stylesheets creates large payloads that add large amounts of latency. Authors have repeatedly asked for a way to reference stylesheets from other DSD instances in the same way that frameworks leverage internal data structures to share constructable style sheets via `adoptedStyleSheets`. This Explainer explores several potential solutions.
+
+Relying on JavaScript for styling is not ideal for DSD for several reasons:
+* One of the main goals of DSD is to not rely on JavaScript [for performance and accessibility purposes](https://web.dev/articles/declarative-shadow-dom).
+* Adding stylesheets via script may cause an FOUC (Flash of Unstyled Content).
+* The current `adoptedStylesheets` property only supports Constructable Stylesheets, not inline stylesheets or stylesheets from tags [(note that the working groups have recently decided to lift this restriction)](https://github.com/w3c/csswg-drafts/issues/10013#issuecomment-2165396092).
+
+While referencing an external file via the tag for shared styles in DSD works today [(and is currently recommended by DSD implementors)](https://web.dev/articles/declarative-shadow-dom#server-rendering_with_style), it is not ideal for several reasons:
+* If the linked stylesheet has not been downloaded and parsed, there may be an FOUC.
+* External stylesheets are considered “render blocking”, and Google’s Lighthouse guidelines for high-performance web content recommends [using inline styles instead](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources#how_to_eliminate_render-blocking_stylesheets).
+* Google’s Lighthouse guidelines recommend minimizing network requests for best performance. Stylesheets included via tags are always external resources that may initiate a network request (note that the network cache mitigates this for repeated requests to the same file).
+
+This example shows how a developer might use DSD to initialize a shadow root without JavaScript.
+
+```html
+
+
+
+
+
+```
+While this approach is acceptable for a single component, a rich web application may define many `` elements. Since pages often use a consistent set of visual styles, these `` instances must each include `
+
+```
+Meanwhile, the styles defined within the Shadow DOM are specific to the media control widget. These styles ensure that the widget looks consistent and isn't affected by other styles on the page.
+```js
+class MediaControl extends HTMLElement {
+ constructor() {
+ super();
+
+ // Attach a shadow root to the element.
+ const shadow = this.attachShadow({ mode: 'open' });
+
+ // Create elements
+
+ // Style the elements within the shadow DOM
+ const sheet = new CSSStyleSheet();
+ sheet.replaceSync(`
+ .media-control-container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border: 1px solid #ccc;
+ padding: 16px;
+ background-color: #fff;
+ }
+ .controls {
+ margin-top: 8px;
+ display: flex;
+ gap: 8px;
+ align-items: center;
+ }
+ button, input[type="range"] {
+ cursor: pointer;
+ margin: 5px;
+ }
+ `);
+ shadow.adoptedStyleSheets.push(sheet);
+
+ // Initialize content from template here
+ }
+}
+customElements.define("media-control", MediaControl);
+document.body.appendChild(document.createElement("media-control"));
+```
+Both the controls in the parent document and the controls inside the media control widget share the same base styles for cursor and margin.
+
+### Anywhere web components are used
+When asked about pain points in [Web Components](https://2023.stateofhtml.com/en-US/features/web_components/), the number one issue, with 13% of the vote, is styling and customization. Many respondents specifically mentioned the difficulty of style sharing issues within the shadow DOM:
+* "I want to use shadow DOM to keep the light DOM tidy and use slots, but I don't always want style isolation"
+* "Inheriting/passing CSS styles from the main DOM to a shadow DOM"
+* "Shadow dom is a nightmare due to inability to style with global styles"
+* "I love to write my custom web components. It is supper easy to write, maintain. It organizes project structure in some small chunks. But I don't use shadow dom, because of css styles which i don't know how to share between web components"
+* "Shadow DOM encapsulation is too much. E.g. No way to adopt form styling from the surrounding page for common elements (buttons, inputs, etc) unless I'm willing to put them in light DOM"
+
+For additional use cases, please see issue [939](https://github.com/WICG/webcomponents/issues/939)
+
+## Alternatives to using style in DSD
+### Constructable Stylesheets
+Developers can create stylesheets that can be applied to multiple shadow roots, using existing JavaScript, as outlined by the example below.
+
+Step 1: Create a new Constructable Stylesheet:
+```js
+const constructableStylesheet = new CSSStyleSheet();
+```
+Step 2: Add styles to the Constructable Stylesheet:
+```js
+constructableStylesheet.replaceSync(`
+ .my-button {
+ background-color: #0074D9;
+ }
+`);
+```
+Step 3: Attach the Constructable Stylesheet to the shadow root:
+```js
+shadow.adoptedStyleSheets = [constructableStylesheet];
+```
+The downside of this approach is a potential FOUC, where the element is initially painted without styles, and then repainted with the Constructable Stylesheet.
+
+### Using `rel="stylesheet"` attribute
+Using `` to share styles across Shadow DOM boundaries helps maintain consistent design, reducing style duplication and potentially shrinking component sizes for faster load times. However, it can cause redundant network requests since each component that uses `` within its Shadow DOM may trigger an expensive operation such as a network request or a disk access.
+
+### CSS `@import` rules
+Global styles can be included in a single stylesheet, which is then importable into each shadow root to avoid redundancy. Inline `
+
+
+
+
+
+
+
+
+```
+In this example, the `adoptstyles` attribute on the `` specifies that the shadow DOM should inherit styles from two outer context layers, using a list of style references, `inherit.theme` and `inherit.base`.
+
+A similar `adoptstyles` JavaScript API can set and return a `styleReferenceList`, which is a list of style references associated with the shadow root. This list can be set and retrieved, with specific formats for inheriting, renaming, or reverting styles.
+
+The method aims to support both declarative and imperative shadow trees and work seamlessly with existing CSS features like `@layer` and `@scope`. However, there may be a FOUC issue with loading external stylesheets.
+
+Since CSS is scoped per Shadow Root, nested Shadow DOM elements would need to inherit at each level.
+
+### [`@Sheet`](https://github.com/w3c/csswg-drafts/issues/5629#issuecomment-1407059971)
+This proposal builds on [using multiple sheets per file](https://github.com/w3c/csswg-drafts/issues/5629#issuecomment-1407059971) that introduces a new `@sheet` rule to address the difficulties arising when using JavaScript modules to manage styles. The main idea is to enhance the way CSS is imported, managed, and bundled in JavaScript by allowing multiple named stylesheets to exist within a single CSS file. We can expand on this proposal to allow stylesheets being directly specified within the HTML markup using `adoptedStylesheets` property without requiring JavaScript:
+
+```html
+
+
+
+ I'm in the shadow DOM
+
+ ```
+
+In this example, developers could define styles in a `
+```
+
+or
+
+```html
+
+```
+Web authors can use the `adoptedstylesheets` property on the `` element to associate the stylesheets with a declarative shadow root.
+```html
+
+
+
+```
+One requirement of this approach is that the current `adoptedStylesheets` JavaScript property would need to lift the “constructable” requirement for `adoptedStylesheets`. This was recently agreed upon by the CSSWG but has not been implemented yet: [ Can we lift the restriction on constructed flag for adoptedStylesheets?](https://github.com/w3c/csswg-drafts/issues/10013#issuecomment-2165396092)
+
+One limitation of this approach is that shared styles that need to be applied exclusively to shadow roots (and not the main document) will need to include a CSS `:host` selector. This is not necessary for JavaScript-based adopedStylesheets but will be necessary for declarative stylesheets, as there is currently no way in HTML to create stylesheets without applying them to the document they are defined in. This could also be addressed via a new type value on `