@charset "utf-8";

/*============================
Shared components
============================*/

.md_storeLinks { display: flex; justify-content: center; align-items: center; gap: var(--space-8); flex-wrap: wrap; }
.md_storeBadgeLink { box-sizing: border-box; display: inline-flex; flex: 0 0 auto; width: auto; min-width: 0; min-height: 5.5rem; padding: var(--space-18) var(--space-12); align-items: center; justify-content: center; position: relative; isolation: isolate; border: 0; border-radius: 0; background: transparent; text-decoration: none; line-height: 0; cursor: pointer; transform: none; filter: none; box-shadow: none; transition: none; }
.md_storeBadgeLink:hover { transform: none; filter: none; background: transparent; box-shadow: none; }
.md_storeBadgeLink:active { transform: none; filter: none; background: transparent; box-shadow: none; }
.md_storeBadgeLink::before { content: ""; position: absolute; inset: 0.625rem 0.5rem; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at center,var(--color-tone65A7FFAlpha30),var(--color-accentAlpha12) 45%,transparent 76%); filter: blur(0.75rem); opacity: 0; transition: opacity .2s ease; }
.md_storeBadgeLink:hover::before, .md_storeBadgeLink:focus-visible::before { opacity: 1; }
.md_storeBadgeLink:active::before { opacity: .75; }
.md_storeBadgeImage { display: block; width: auto; height: 3rem; max-width: none; object-fit: contain; border-radius: 0; flex-shrink: 0; filter: none; transform: none; }
.md_storeBadgeLink:focus-visible { outline: 2px solid var(--blue-hi,var(--color-accentLight)); outline-offset: 5px; }
@media (prefers-reduced-motion:reduce) {
.md_storeBadgeLink, .md_storeBadgeLink::before { transition: none; }
}
.md_storeBadgeLink { font-size: 1rem; font-weight: inherit; line-height: 0; }
.md_visuallyHidden { position: absolute; width: 0.0625rem; height: 0.0625rem; padding: 0; margin: var(--space-negative1); overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.md_madeIn { margin: var(--space-14) 0 0; font-size: var(--fs-11); color: var(--color-tone7D8A9C); letter-spacing: .04em; }

/* Shared plan information: static HTML remains readable without JavaScript. */
.md_planNotice { margin:1rem 0; padding:.85rem 1rem; border-left:3px solid var(--color-accentLight); background:var(--color-accentAlpha12); color:var(--color-text); font-size:.9rem; line-height:1.85; }
.md_planSummary { width:100%; max-width:100%; min-width:0; margin:1.5rem 0; text-align:left; }
.md_planSummary h3 { font-size:1.15rem; margin:0 0 1rem; }
.md_planSummary p { font-size:.875rem; line-height:1.9; margin:.8rem 0; }
.md_planSummary a,.md_planNotice a { color:var(--color-accentLight); text-decoration:underline; }
.md_planTableWrap { max-width:100%; overflow-x:auto; border:1px solid var(--color-tone7EA0D6Alpha16); }
.md_planTableWrap table { width:100%; min-width:36rem; border-collapse:collapse; font-size:.875rem; line-height:1.7; }
.md_planTableWrap caption { text-align:left; padding:1rem; font-weight:700; }
.md_planTableWrap th,.md_planTableWrap td { padding:.85rem; border-top:1px solid var(--color-tone7EA0D6Alpha16); text-align:left; vertical-align:top; }
.md_planTableWrap thead { background:var(--color-accentAlpha12); }
.md_planTableWrap tbody th { width:34%; }
.md_entryPaths { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; margin:1.25rem 0; }
.md_entryPaths a { padding:1rem; border:1px solid var(--color-accentLight); color:var(--color-text); text-decoration:none; font-weight:700; line-height:1.7; }
.md_entryPaths span { display:block; color:var(--color-accentLight); font-size:.85rem; margin-top:.4rem; }
.md_storeBadgeLink:has(.md_storeReleaseLabel) { flex-direction:column; gap:.5rem; min-height:6.5rem; line-height:1.4; }
.md_storeReleaseLabel { font-size:.7rem; color:var(--color-textSub); line-height:1.4; }

/* Store launch announcement shared by all official-site pages. */
.md_storeDialog { box-sizing:border-box; width:min(28rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; margin:auto; padding:2.5rem 1.5rem 1.75rem; color:#edf5ff; border:1px solid #638bc680; border-radius:1.25rem; background:radial-gradient(ellipse at 50% 0%,#244a7355,transparent 65%),#0c1520; text-align:center; box-shadow:0 20px 80px #0009,0 0 50px #348aff18; }
.md_storeDialog::backdrop { background:#030810c9; backdrop-filter:blur(7px); }
.md_storeDialogArt { display:grid; place-items:center; width:4rem; height:4rem; margin:0 auto 1.25rem; border:1px solid #86beff66; border-radius:50%; color:#c3e4ff; font-size:2rem; background:radial-gradient(circle,#77baff33,transparent 70%); box-shadow:0 0 35px #63afff26; }
.md_storeDialogEyebrow { margin:0 0 .75rem; color:#8bbfff; font-size:.6875rem; font-weight:700; letter-spacing:.2em; }
.md_storeDialogTitle { margin:0 0 1rem; font-size:clamp(1.4rem,5vw,1.8rem); line-height:1.5; font-weight:800; }
.md_storeDialogMessage { margin:0; color:#b5c8dc; font-size:.875rem; line-height:2; }
.md_storeDialogDate { display:inline-block; margin:1.5rem 0; padding:.4rem .9rem; border:1px solid #638bc64d; border-radius:999px; color:#bdddff; font-size:.75rem; }
.md_storeDialogForm { margin:0; }
.md_storeDialogClose { width:100%; min-height:46px; padding:.75rem 1rem; border:1px solid #7eafff; border-radius:.5rem; background:#315b9a; color:#fff; font:inherit; font-size:.875rem; font-weight:700; cursor:pointer; transition:background .2s,box-shadow .2s; }
.md_storeDialogClose:hover { background:#3d6db3; box-shadow:0 0 22px #70b5ff26; }
.md_storeDialogClose:focus-visible { outline:2px solid #bdddff; outline-offset:4px; }
