/* Homepage composition: typography and colors inherit the global design. */
.home-landing { padding-block:50px 0; }
.home-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-block:18px 64px; }
.home-intro-copy { min-width:0; }
.home-intro-eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:700; letter-spacing:.13em; color:var(--muted); margin:0 0 15px; }
.home-brand-mark { display:grid; place-items:center; flex:0 0 28px; height:28px; background:linear-gradient(135deg,#ff71c625,#80d8ff25); border:1px solid #ffffff25; border-radius:6px; font-size:21px; color:var(--gold-bright); font-weight:800; letter-spacing:-.08em; }
.home-intro h1 { margin:0 0 17px; font-size:clamp(28px,3.1vw,42px); line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.home-intro-text { font-size:16px; line-height:1.75; color:var(--muted); max-width:520px; margin:0 0 25px; }
.home-intro-actions { display:flex; gap:12px; flex-wrap:wrap; }
.home-outline-button { display:inline-flex; gap:12px; align-items:center; min-height:43px; padding:10px 15px; border:1px solid color-mix(in srgb,var(--gold) 48%,transparent); border-radius:5px; color:var(--gold); font-size:12px; font-weight:700; transition:background .2s,border-color .2s; }
.home-outline-button:hover { background:color-mix(in srgb,var(--gold) 12%,transparent); border-color:var(--gold); }
.home-outline-cyan { color:var(--gold-bright); border-color:color-mix(in srgb,var(--gold-bright) 40%,transparent); }
.home-outline-cyan:hover { background:color-mix(in srgb,var(--gold-bright) 12%,transparent); border-color:var(--gold-bright); }
.home-guide-card { display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:5px; padding:11px 13px; margin-top:22px; max-width:380px; transition:border-color .2s; }
.home-guide-card:hover { border-color:var(--gold); }
.home-guide-icon { display:grid; place-items:center; color:var(--gold-bright); background:#80d8ff0c; border-radius:4px; width:43px; height:36px; font-size:26px; flex-shrink:0; }
.home-guide-card strong { display:block; font-size:12px; margin-bottom:3px; }
.home-guide-card small { display:block; font-size:11px; color:var(--muted); line-height:1.4; }
.home-guide-card > span:last-child { margin-left:auto; color:var(--muted); font-size:12px; }
.home-intro-media { min-width:0; }
.home-hero-image { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:9px; border:1px solid var(--line); }
.home-stream-art { aspect-ratio:16/9; min-height:270px; border-radius:9px; border:1px solid #ffffff21; overflow:hidden; position:relative; isolation:isolate; padding:20px 24px; background:radial-gradient(ellipse at 100% 0%,#80d8ff28,transparent 65%),radial-gradient(ellipse at 10% 100%,#ff71c636,transparent 65%),#14121f; }
.home-stream-art::before { content:''; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px); background-size:26px 26px; mask-image:linear-gradient(135deg,#000,transparent); }
.home-art-top,.home-art-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:8px; letter-spacing:.13em; color:#aaa2bb; }
.home-art-top > span:first-child { color:#fff; font-size:13px; letter-spacing:-.03em; font-weight:800; }
.home-art-top > span:first-child > span { color:var(--gold-bright); }
.home-art-top i { display:inline-block; width:6px; height:6px; background:var(--gold); border-radius:50%; margin-right:6px; box-shadow:0 0 15px var(--gold); }
.home-art-title { margin-top:23px; position:relative; z-index:1; font-size:clamp(23px,2.7vw,37px); font-weight:900; line-height:1.06; letter-spacing:-.04em; color:#fff; }
.home-art-title > span { color:var(--gold-bright); }
.home-art-orbit { position:absolute; width:240px; height:240px; border:1px solid #ff71c640; border-radius:50%; right:-90px; top:35px; box-shadow:0 0 0 25px #ff71c608,0 0 0 55px #80d8ff06; }
.home-art-chip { display:flex; align-items:center; gap:10px; position:absolute; z-index:2; padding:12px 14px; background:#171525ed; border:1px solid #ffffff24; border-radius:7px; box-shadow:0 12px 30px #0005; transform:rotate(-5deg); }
.home-art-chip > .mdi { font-size:23px; color:var(--gold-bright); }
.home-art-chip > span:nth-child(2) { font-size:12px; color:#f6f5fa; font-weight:700; }
.home-art-chip small { display:block; margin-top:4px; font-size:6px; letter-spacing:.12em; font-weight:500; color:#b8b7cb; }
.home-art-chip-one { right:22px; top:86px; width:210px; }
.home-art-chip-two { right:44px; top:163px; width:205px; transform:rotate(4deg); }
.home-art-chip-two > .mdi { color:var(--gold); }
.home-art-dot { margin-left:auto; width:6px; height:6px; background:var(--gold); border-radius:50%; }
.home-art-bars { display:flex; gap:3px; align-items:center; height:22px; margin-left:auto; }
.home-art-bars i { width:3px; height:12px; background:var(--gold-bright); border-radius:2px; }
.home-art-bars i:nth-child(2) { height:22px; }.home-art-bars i:nth-child(3) { height:16px; }
.home-art-bottom { position:absolute; bottom:20px; left:24px; right:24px; font-size:7px; }
.home-landing .extension-explorer { padding-block:50px; border-bottom:0; scroll-margin-top:140px; }
.home-landing .extension-explorer-heading { margin-bottom:30px; }
.home-landing .extension-explorer-heading h2,.home-section-heading h2 { margin:0 0 7px; font-size:clamp(23px,2.6vw,31px); line-height:1.2; letter-spacing:-.03em; }
.home-landing .extension-explorer-heading p,.home-section-heading p { margin:0; font-size:14px; color:var(--muted); line-height:1.6; }
.home-landing .extension-explorer-icon,.home-section-icon { width:44px; height:44px; border:1px solid currentColor; border-radius:5px; flex-shrink:0; }
.home-content-section { border-top:1px solid var(--line); padding-block:50px; }
.home-section-heading { display:flex; align-items:center; gap:16px; margin-bottom:30px; }
.home-section-icon { display:grid; place-items:center; font-size:26px; color:var(--gold-bright); }
.home-community .home-section-icon { color:var(--gold); }
.home-news-item { --news-color:#93c5fd; position:relative; display:grid; grid-template-columns:125px minmax(0,1fr) auto; gap:22px; padding:24px 0; border-bottom:1px solid var(--line); }
.home-news-release { --news-color:#c084fc; }
.home-news-announcement { --news-color:#67e8f9; }
.home-news-highlight::before { content:''; position:absolute; left:-12px; top:24px; bottom:24px; width:2px; background:#f4d477; }
.home-news-item:last-child { border-bottom:0; padding-bottom:0; }
.home-news-meta { padding-top:2px; font-size:12px; line-height:1.6; color:var(--muted); }
.home-news-meta time { display:block; font-size:var(--news-description-size,13px); }
.home-news-meta > span { display:block; font-size:10px; font-weight:700; text-transform:uppercase; color:var(--news-color); letter-spacing:.08em; margin-top:6px; }
.home-news-copy h3 { margin:0 0 8px; font-size:15px; line-height:1.4; }
.home-news-copy h3 span,.home-community-person h3 span { font-size:11px; color:var(--muted); margin-left:4px; }
.home-news-copy p,.home-community-person p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.home-news-image { display:block; width:108px; cursor:zoom-in; }
.home-news-image img { width:100%; height:72px; object-fit:contain; display:block; border-radius:4px; }
.home-news-lightbox { position:fixed; inset:0; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:64px 32px 32px; border:0; background:transparent; overflow:hidden; }
.home-news-lightbox[open] { display:grid; place-items:center; }
.home-news-lightbox::backdrop { background:rgb(5 5 12 / .92); }
.home-news-lightbox-image { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 96px); object-fit:contain; border-radius:5px; }
.home-news-lightbox-close { position:absolute; top:16px; right:20px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #ffffff55; border-radius:6px; background:#191923; color:#fff; font-family:inherit; font-size:32px; line-height:1; cursor:pointer; }
.home-news-lightbox-close:hover { background:#333345; border-color:#fff; }
.home-lightbox-open { overflow:hidden; }
.home-news-copy a:hover,.home-community-person a:hover { color:var(--gold-bright); }
.home-empty-note { font-size:14px; color:var(--muted); line-height:1.7; margin:0; padding:12px 0; }
.home-faq-item { border-bottom:1px solid var(--line); }
.home-faq-item:last-child { border-bottom:0; }
.home-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; padding:19px 0; cursor:pointer; font-size:14px; font-weight:600; }
.home-faq-item summary::-webkit-details-marker { display:none; }
.home-faq-item summary:hover { color:var(--gold-bright); }
.home-faq-plus { width:12px; height:12px; flex-shrink:0; position:relative; color:var(--muted); }
.home-faq-plus::before,.home-faq-plus::after { content:''; background:currentColor; position:absolute; top:5px; left:0; width:12px; height:1px; }
.home-faq-plus::after { transform:rotate(90deg); transition:transform .2s; }
.home-faq-item[open] .home-faq-plus::after { transform:rotate(0); }
.home-faq-item[open] summary { color:var(--gold-bright); }
.home-faq-answer { max-width:850px; padding:0 25px 20px 0; color:var(--muted); font-size:14px; line-height:1.8; }
.home-faq-answer p { margin:0 0 10px; }.home-faq-answer p:last-child { margin-bottom:0; }
.home-community-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 42px; }
.home-community-person { display:flex; align-items:flex-start; gap:14px; padding:22px 0; border-bottom:1px solid var(--line); }
.home-community-avatar { flex:0 0 48px; width:48px; height:48px; border-radius:6px; overflow:hidden; background:var(--panel); border:1px solid var(--line); display:grid; place-items:center; color:var(--gold-bright); font-size:29px; }
.home-community-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.home-community-person h3 { font-size:14px; margin:0 0 7px; }
.home-help { border-top:1px solid var(--line); padding-block:65px 78px; text-align:center; }
.home-help h2 { font-size:clamp(28px,3vw,37px); letter-spacing:-.03em; margin:0 0 17px; line-height:1.2; }
.home-help > p { max-width:660px; color:var(--muted); font-size:15px; line-height:1.8; margin:0 auto 28px; }
.home-discord-button { --discord-fill:#A5B4FC; position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:12px; box-sizing:border-box; width:185.14px; min-height:54px; padding:14px 28px; border:1px solid #A5B4FC; border-radius:5px; background:transparent; color:#A5B4FC; font-family:inherit; font-size:16px; font-weight:600; line-height:24px; cursor:pointer; transition:color .3s,border-color .3s; }
.home-discord-button::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--discord-fill); transform:scaleY(0); transform-origin:bottom; transition:transform .35s cubic-bezier(.22,.61,.36,1); }
.home-discord-button > * { flex-shrink:0; white-space:nowrap; }
.home-discord-button:hover::before,.home-discord-button:focus-visible::before { transform:scaleY(1); }
.home-discord-button:hover,.home-discord-button:focus-visible { color:#101019; border-color:var(--discord-fill); }
.home-discord-button:disabled { cursor:default; }
.home-discord-pending { display:block; margin-top:12px; color:var(--muted); font-size:11px; }
.home-landing a:focus-visible,.home-landing button:focus-visible,.home-landing summary:focus-visible { outline:2px solid var(--gold-bright); outline-offset:4px; }
@media(min-width:1500px) { .home-stream-art { min-height:300px; } .home-art-chip-one { top:90px; right:35px; } .home-art-chip-two { top:175px; right:58px; } }
@media(max-width:1000px) { .home-intro { gap:30px; } .home-intro-text { font-size:14px; } .home-stream-art { min-height:260px; padding:18px; } .home-art-title { font-size:27px; } .home-art-chip-one { width:175px; right:13px; top:110px; } .home-art-chip-two { width:175px; right:25px; top:180px; } .home-art-chip { padding:10px; } .home-art-chip small { font-size:5px; } .home-art-bottom { display:none; } }
@media(max-width:760px) { .home-landing { padding-top:32px; } .home-intro { grid-template-columns:1fr; gap:30px; padding-block:0 35px; } .home-intro h1 { font-size:32px; } .home-intro-text { max-width:none; font-size:15px; } .home-guide-card { max-width:420px; } .home-stream-art { min-height:280px; } .home-art-title { font-size:38px; } .home-art-chip-one { top:95px; right:28px; width:210px; } .home-art-chip-two { top:173px; right:46px; width:210px; } .home-art-chip small { font-size:6px; } .home-art-bottom { display:flex; } .home-community-grid { gap:0 25px; } }
@media(max-width:540px) { .home-content-section,.home-landing .extension-explorer { padding-block:35px; } .home-section-heading { align-items:flex-start; gap:12px; margin-bottom:22px; } .home-section-icon { width:37px; height:37px; font-size:23px; } .home-section-heading h2 { font-size:24px; } .home-section-heading p { font-size:13px; } .home-news-item { grid-template-columns:1fr auto; gap:10px 16px; padding-block:20px; } .home-news-meta { grid-column:1/-1; display:flex; align-items:center; gap:12px; } .home-news-meta > span { margin-top:0; } .home-news-copy { grid-column:1; } .home-news-image { width:75px; } .home-news-image img { height:52px; } .home-community-grid { grid-template-columns:1fr; } .home-help { padding-block:45px 55px; } .home-stream-art { min-height:255px; } .home-art-title { font-size:31px; } .home-art-chip-one { right:16px; top:110px; width:190px; } .home-art-chip-two { right:30px; top:180px; width:190px; } .home-art-bottom { display:none; } }
@media(prefers-reduced-motion:reduce) { .home-discord-button,.home-discord-button::before,.home-faq-plus::after,.home-outline-button,.home-guide-card { transition:none; } }
@media(max-width:540px) { .home-news-meta { display:block; } .home-news-meta > span { margin-top:6px; } }
/* Rich text inherits site typography unless a size is explicitly chosen. */
.home-section-description,.extension-explorer-description { color:var(--muted); font-size:14px; line-height:1.6; }
.home-rich-description { color:var(--muted); font-size:13px; line-height:1.7; }
.home-help-description { max-width:660px; color:var(--muted); font-size:15px; line-height:1.8; margin:0 auto 28px; }
.home-intro-text > :first-child,.home-section-description > :first-child,.extension-explorer-description > :first-child,.home-rich-description > :first-child,.home-help-description > :first-child { margin-top:0; }
.home-intro-text > :last-child,.home-section-description > :last-child,.extension-explorer-description > :last-child,.home-rich-description > :last-child,.home-help-description > :last-child { margin-bottom:0; }
.home-landing .home-section-heading h2 span,.home-news-copy h3 span,.home-community-person h3 span { font-size:inherit; color:inherit; margin-left:0; }
.home-rich-description a,.home-faq-answer a,.home-intro-text a,.home-help-description a { color:var(--gold-bright); text-decoration:underline; }
.home-rich-description ul,.home-rich-description ol,.home-faq-answer ul,.home-faq-answer ol { padding-left:1.5em; }

.home-button-icon { display:block; width:18px; height:18px; flex-shrink:0; }
img.home-button-icon { object-fit:contain; }
