browser/components/genai/chat.css
Propagation: 78.18%
Back to Home
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
body {
display: flex;
flex-direction: column;
inset: 0;
margin: 0;
position: absolute;
}
#header {
align-items: center;
background-color: var(--sidebar-background-color);
display: flex;
flex-direction: row;
padding-inline: var(--space-large);
::part(button),
select {
border-radius: var(--border-radius-small);
margin: 0;
}
moz-button:first-of-type {
margin-inline-end: var(--space-xsmall);
}
select {
--caret-anchor: left;
--caret-padding: var(--space-xsmall);
--end-padding: 0px;
--start-padding: calc(var(--caret-padding) + var(--background-image-width) + var(--space-xsmall));
background-color: var(--button-background-color-ghost);
background-position-x: var(--caret-anchor) var(--caret-padding);
color: var(--button-text-color-ghost);
flex: 1;
height: var(--button-size-icon);
margin-block: var(--space-xsmall);
&:hover {
background-color: var(--button-background-color-ghost-hover);
color: var(--button-text-color-ghost-hover);
}
&:dir(rtl) {
--caret-anchor: right;
}
}
/* Hide some content, e.g., dropdown, when onboarding exists */
#multi-stage-message-root + & {
select {
background-image: none;
}
#header-more {
display: none;
}
}
}
#header-close {
position: relative;
z-index: 1;
/* stylelint-disable-next-line media-query-no-invalid */
@media not -moz-pref("sidebar.revamp") {
display: none;
}
}
browser {
flex: 1;
}
#multi-stage-message-root {
background-color: rgba(0, 0, 0, .5);
display: flex;
flex-direction: column;
inset: 0;
overflow: auto;
position: absolute;
.onboardingContainer {
height: unset;
margin: var(--space-large);
margin-top: max(36px, 10vh - 31px);
}
.screen {
border-radius: var(--border-radius-medium);
min-height: unset;
}
.main-content {
height: unset;
}
.main-content-inner {
max-width: initial;
padding: var(--space-large);
}
.welcome-text {
margin-bottom: var(--space-xlarge);
padding-inline: 0;
}
.tiles-single-select-container {
margin-top: 0;
/* stylelint-disable-next-line media-query-no-invalid */
@media not -moz-pref("browser.ml.chat.onboarding.unresponsive") {
--fade-height: 20px;
--fade-padding: 8px;
margin-block: calc(-1 * var(--fade-padding));
max-height: max(144px, 100vh - 310px);
overflow-y: auto;
&::after,
&::before {
content: "\00a0";
font-size: var(--fade-height);
margin-top: calc(-1 * var(--fade-height) + var(--fade-padding));
pointer-events: none;
position: sticky;
z-index: 1;
}
&::after {
background: linear-gradient(transparent, var(--in-content-page-background));
bottom: 0;
}
&::before {
background: linear-gradient(var(--in-content-page-background), transparent);
top: 0;
}
}
}
fieldset {
flex-direction: column;
gap: 6px;
margin: 0;
padding: 0;
}
label {
background-color: var(--background-color-box);
border: 0.5px solid var(--border-color-deemphasized);
border-radius: var(--border-radius-medium);
flex-direction: row;
margin: 1.5px; /* avoid shifting content when selected */
outline-offset: var(--focus-outline-offset);
padding: var(--space-small);
&:hover {
background-color: var(--button-background-color-hover);
}
&:has(.selected) {
background-color: var(--background-color-canvas);
border: var(--focus-outline);
margin: 0; /* border switches widths */
}
&:focus {
outline: var(--focus-outline);
}
}
.icon {
--icon-size: 30px;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
border-radius: 0;
height: var(--icon-size);
margin-inline: var(--space-small);
max-width: var(--icon-size);
min-width: var(--icon-size);
outline: none;
&.claude {
background-image: url(assets/brands/claude.svg);
}
&.chatgpt {
background-image: url(assets/brands/chatgpt.svg);
-moz-context-properties: fill;
fill: var(--in-content-page-color);
}
&.copilot {
background-image: url(assets/brands/copilot.svg);
}
&.gemini {
background-image: url(assets/brands/gemini.svg);
}
&.huggingchat {
background-image: url(assets/brands/huggingchat.svg);
}
&.lechat {
background-image: url(assets/brands/lechat.svg);
}
}
.text {
flex-direction: column;
font-weight: var(--font-weight-bold);
margin: 5px;
text-align: start;
> div {
color: var(--text-color-deemphasized);
font-weight: normal;
margin: -3px;
overflow-y: hidden;
padding: 3px; /* extra space to avoid outlines hidden by overflow */
@media (prefers-reduced-motion: no-preference) {
transition: max-height 0.6s;
}
}
ul {
margin: 0;
padding: 0;
}
li {
background-position: 0 50%;
background-repeat: no-repeat;
-moz-context-properties: fill;
fill: currentColor;
margin-block: var(--space-small);
padding-inline-start: 24px;
&[data-l10n-id*=generate] {
background-image: url(chrome://global/skin/icons/edit-outline.svg);
}
&[data-l10n-id*=analyze] {
background-image: url(chrome://global/skin/icons/eye.svg);
}
&[data-l10n-id*=switch] {
background-image: url(chrome://global/skin/icons/arrows-updown.svg);
}
&[data-l10n-id*=price] {
background-image: url(chrome://browser/skin/price.svg);
}
}
}
.link-paragraph {
color: var(--text-color-deemphasized);
font-size: .8em;
}
.inline-image {
background-image: url(assets/shortcuts-static.svg);
background-repeat: no-repeat;
background-size: contain;
@media (prefers-reduced-motion: no-preference) {
background-image: url(assets/shortcuts-animated.svg);
}
@media (prefers-color-scheme: dark) {
background-image: url(assets/shortcuts-static-dark.svg);
@media (prefers-reduced-motion: no-preference) {
background-image: url(assets/shortcuts-animated-dark.svg);
}
}
> img {
visibility: hidden;
}
}
}
Back to Home