mirror of
https://github.com/zen-browser/desktop.git
synced 2026-05-20 12:01:27 +00:00
816 lines
14 KiB
CSS
816 lines
14 KiB
CSS
/*
|
|
* 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/.
|
|
*/
|
|
|
|
#zenBoostWindow {
|
|
/* For the mica effect we want a white tint */
|
|
@media not (-moz-platform: linux) {
|
|
color-scheme: light;
|
|
}
|
|
appearance: none;
|
|
border: none;
|
|
}
|
|
|
|
.source-editor-frame {
|
|
max-width: 1000px;
|
|
max-height: 1000px;
|
|
width: 100%;
|
|
height: 100%;
|
|
border: none;
|
|
}
|
|
|
|
#zen-boost-code-top-bar {
|
|
top: 0;
|
|
z-index: 10;
|
|
|
|
width: 100%;
|
|
height: 40px;
|
|
background-color: #f6f6f8;
|
|
@media (-moz-windows-mica) {
|
|
background-color: #f6f6f8c0;
|
|
}
|
|
|
|
border: solid 0 #ededef;
|
|
border-bottom-width: 1px;
|
|
}
|
|
|
|
#zen-boost-name-container {
|
|
background-image: url("chrome://global/skin/icons/arrow-down.svg");
|
|
background-repeat: no-repeat;
|
|
background-position: calc(100% - 2px) calc(50% + 2px);
|
|
background-size: 12px 12px;
|
|
padding: 4px 18px 4px 2px;
|
|
margin-left: 4px;
|
|
border-radius: 8px;
|
|
|
|
opacity: 0.75;
|
|
background-color: transparent;
|
|
|
|
transition:
|
|
0.25s opacity cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.25s background-color cubic-bezier(0.075, 0.82, 0.165, 1);
|
|
|
|
-moz-window-dragging: no-drag;
|
|
}
|
|
|
|
#zen-boost-name-container:hover {
|
|
opacity: 0.8;
|
|
background-color: #aaaaaa22;
|
|
}
|
|
|
|
#zen-boost-code-bottom-bar {
|
|
bottom: 0;
|
|
z-index: 10;
|
|
|
|
width: 100%;
|
|
height: 60px;
|
|
background-color: #f6f6f8;
|
|
@media (-moz-windows-mica) {
|
|
background-color: #f6f6f8c0;
|
|
}
|
|
|
|
border: solid 0 #ededef;
|
|
border-top-width: 1px;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 10px;
|
|
}
|
|
|
|
#zen-boost-code-editor {
|
|
width: 100%;
|
|
height: calc(100% - 100px);
|
|
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
body {
|
|
overflow: clip;
|
|
display: flex;
|
|
margin: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
#zen-boost-editor-root,
|
|
#zen-boost-code-editor-root {
|
|
user-select: none;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
padding: 0;
|
|
margin: 0;
|
|
|
|
& button {
|
|
border-radius: 6px;
|
|
@media (-moz-platform: macos) {
|
|
border-radius: 10px;
|
|
}
|
|
|
|
padding: 0 !important;
|
|
min-width: fit-content !important;
|
|
|
|
border: solid 6px transparent;
|
|
|
|
transition: background 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
|
|
appearance: none;
|
|
|
|
&:active {
|
|
transform: none !important;
|
|
}
|
|
|
|
&:hover {
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
|
|
& .button-text {
|
|
display: none;
|
|
}
|
|
|
|
&[disabled] {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
}
|
|
|
|
.subviewbutton {
|
|
color: #3a3a3b;
|
|
}
|
|
|
|
#zen-boost-editor-view {
|
|
gap: 10px;
|
|
}
|
|
|
|
#zen-boost-code-top-bar {
|
|
-moz-window-dragging: drag; /* Allow dragging the window with the custom titlebar for the code view */
|
|
}
|
|
|
|
#zen-boost-head-wrapper {
|
|
-moz-window-dragging: drag; /* Allow dragging the window with the custom titlebar */
|
|
|
|
height: 40px;
|
|
min-height: 40px;
|
|
max-height: 40px;
|
|
align-items: center;
|
|
background-color: #f6f6f8;
|
|
border: solid 1px #e7e7e7ab;
|
|
|
|
@media (-moz-windows-mica) {
|
|
background-color: #f6f6f8c0;
|
|
border: none;
|
|
}
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row-reverse;
|
|
@media (-moz-platform: macos) {
|
|
flex-direction: row;
|
|
}
|
|
|
|
& button {
|
|
height: 24px !important;
|
|
width: 24px !important;
|
|
aspect-ratio: 1/1 !important;
|
|
background-color: transparent;
|
|
opacity: 0.45;
|
|
|
|
transition: 0.25s opacity cubic-bezier(0.075, 0.82, 0.165, 1);
|
|
|
|
&:hover {
|
|
opacity: 0.6;
|
|
}
|
|
}
|
|
|
|
& #zen-boost-name {
|
|
transition: color 0.2s ease-in-out;
|
|
background-color: transparent;
|
|
border: none;
|
|
outline: none;
|
|
appearance: none;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
#zen-boost-name-text {
|
|
width: 100%;
|
|
justify-content: center;
|
|
font-size: 100%;
|
|
font-weight: 600;
|
|
|
|
max-width: 100px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#zen-boost-name-text {
|
|
text-align: center;
|
|
margin: auto !important;
|
|
height: min-content;
|
|
}
|
|
|
|
#zen-boost-font-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(5, 1fr);
|
|
gap: 0;
|
|
width: 100%;
|
|
|
|
padding: 2px;
|
|
|
|
& button {
|
|
padding: auto;
|
|
margin: auto;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
#zen-boost-filter-wrapper {
|
|
padding: 20px;
|
|
gap: 14px;
|
|
padding-top: 10px;
|
|
|
|
background-color: #fcfcfe;
|
|
|
|
-moz-window-dragging: drag;
|
|
& > * {
|
|
-moz-window-dragging: no-drag;
|
|
}
|
|
}
|
|
|
|
.big-button {
|
|
width: 100% !important;
|
|
margin: auto;
|
|
text-indent: 6px;
|
|
vertical-align: middle;
|
|
font-size: 10pt;
|
|
|
|
list-style-position: right;
|
|
|
|
& p {
|
|
width: 75%;
|
|
margin: auto;
|
|
}
|
|
}
|
|
|
|
#zen-boost-back {
|
|
width: 60px !important;
|
|
margin: 5px;
|
|
left: 5px;
|
|
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
|
|
& hbox {
|
|
scale: 0.75;
|
|
margin-right: -7px;
|
|
margin-top: 2px;
|
|
}
|
|
}
|
|
|
|
#zen-boost-code-bottom-bar button {
|
|
content: "";
|
|
width: auto !important;
|
|
aspect-ratio: 1/1 !important;
|
|
|
|
margin: 5px;
|
|
left: 5px;
|
|
}
|
|
|
|
#zen-boost-zap {
|
|
& #zen-boost-zap-value {
|
|
text-align: right;
|
|
right: 8px;
|
|
margin: auto;
|
|
position: relative;
|
|
}
|
|
|
|
& hbox {
|
|
margin-right: 8px;
|
|
}
|
|
}
|
|
|
|
#zen-boost-zap[hideicon="true"] {
|
|
list-style: none;
|
|
list-style-type: none;
|
|
|
|
& hbox {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
.zen-boost-panel-disabled {
|
|
filter: grayscale(1);
|
|
}
|
|
|
|
.title-button {
|
|
scale: 0.9;
|
|
}
|
|
|
|
.mod-button {
|
|
height: 38px !important;
|
|
|
|
border-radius: 6px;
|
|
@media (-moz-platform: macos) {
|
|
border-radius: 12px;
|
|
}
|
|
|
|
background-color: #ebebed;
|
|
|
|
transition:
|
|
0.4s background-color cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.4s opacity cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.4s filter cubic-bezier(0.075, 0.82, 0.165, 1) !important;
|
|
|
|
&:hover {
|
|
opacity: 0.85;
|
|
}
|
|
|
|
&:active {
|
|
transform: none !important;
|
|
|
|
opacity: 0.9;
|
|
filter: brightness(0.9);
|
|
}
|
|
}
|
|
|
|
#zen-boost-case:not([case-mode="none"]) {
|
|
background-color: #ebebed;
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
#zen-boost-case[case-mode="uppercase"] {
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
#zen-boost-case[case-mode="lowercase"] {
|
|
text-transform: lowercase;
|
|
}
|
|
|
|
#zen-boost-code-top-bar .mod-button {
|
|
height: auto !important;
|
|
}
|
|
|
|
#zen-boost-code-bottom-bar button {
|
|
margin: 0;
|
|
}
|
|
|
|
#zen-boost-name {
|
|
height: 26px;
|
|
font-size: 8pt;
|
|
text-indent: 2px;
|
|
vertical-align: middle;
|
|
color: #3a3a3b;
|
|
|
|
justify-content: center;
|
|
}
|
|
|
|
#zen-boost-close {
|
|
margin-left: 0;
|
|
margin-right: 6px;
|
|
@media (-moz-platform: macos) {
|
|
margin-left: 6px;
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
#zen-boost-shuffle {
|
|
margin-right: 0;
|
|
margin-left: 4px;
|
|
@media (-moz-platform: macos) {
|
|
margin-right: 10px;
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
.zen-boost-button-active {
|
|
background-color: #3a3a3a;
|
|
color: #fcfcfe;
|
|
}
|
|
|
|
.zen-boost-button-active:hover {
|
|
background-color: #5b5b5c;
|
|
}
|
|
|
|
.zen-boost-button-active-transparent {
|
|
opacity: 0.35;
|
|
}
|
|
|
|
.zen-boost-button-active-transparent:hover {
|
|
opacity: 0.5 !important;
|
|
}
|
|
|
|
#zen-boost-magic-theme {
|
|
width: 18px;
|
|
height: 24px !important;
|
|
margin-top: 12px;
|
|
|
|
z-index: 4;
|
|
box-shadow: 0 2px 4px #00000010;
|
|
|
|
position: relative;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
|
|
& image {
|
|
width: 12px;
|
|
}
|
|
|
|
&:not(.zen-boost-button-active) {
|
|
background: white;
|
|
}
|
|
}
|
|
|
|
.footer {
|
|
background-color: #F6F6F8;
|
|
padding: 20px;
|
|
}
|
|
|
|
#zen-boost-toolbar-wrapper,
|
|
#zen-boost-toolbar-wrapper-colors {
|
|
width: 100%;
|
|
margin: auto;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 8px;
|
|
|
|
& .small {
|
|
margin: 0;
|
|
flex: 1 1 30%;
|
|
}
|
|
|
|
& .med {
|
|
margin: 0;
|
|
flex: 1 1 50%;
|
|
|
|
& p {
|
|
text-align: center;
|
|
width: 100%;
|
|
text-indent: initial;
|
|
margin: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
#zen-boost-font-select {
|
|
width: 120px;
|
|
height: 20px !important;
|
|
|
|
transition: 0.2s opacity ease-in-out;
|
|
|
|
color: #727272;
|
|
background: none;
|
|
|
|
font-size: 9pt;
|
|
|
|
padding: 0;
|
|
text-indent: 2px;
|
|
|
|
margin-left: 8px;
|
|
margin-right: 3px;
|
|
margin-top: 8px;
|
|
opacity: 0.75;
|
|
|
|
&:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
&[has-selection="true"] {
|
|
opacity: 1;
|
|
background-color: #ebebed;
|
|
}
|
|
}
|
|
|
|
#zen-boost-font-toolbar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
|
|
& button {
|
|
border-radius: 6px;
|
|
min-width: fit-content;
|
|
height: 20px !important;
|
|
|
|
margin-left: 8px;
|
|
margin-right: 8px;
|
|
margin-top: 8px;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
#zen-boost-font-wrapper {
|
|
box-shadow: 0 2px 6px rgba(0,0,0,.15);
|
|
background-color: #ffffff;
|
|
|
|
border-radius: 6px;
|
|
@media (-moz-platform: macos) {
|
|
border-radius: 8px;
|
|
}
|
|
|
|
padding-top: 4px;
|
|
padding-bottom: 4px;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
& .visible-separator {
|
|
content: "";
|
|
height: 1px;
|
|
width: auto;
|
|
|
|
margin-right: 12px;
|
|
margin-left: 12px;
|
|
margin-top: 2px;
|
|
|
|
opacity: 0.25;
|
|
|
|
border-top: solid 1px #9a9a9a;
|
|
}
|
|
|
|
& button {
|
|
filter: none;
|
|
color: rgba(0, 0, 0, 0.6);
|
|
border-radius: 50px;
|
|
transition: 0.1s transform ease;
|
|
font-size: 12px;
|
|
padding: 2px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
display: flex;
|
|
height: 26px;
|
|
width: 26px;
|
|
transform-origin: center center;
|
|
|
|
&:hover {
|
|
background-color: #9a9a9a30;
|
|
transform: scale(1.1);
|
|
}
|
|
}
|
|
}
|
|
|
|
@property --mod-button-c1 {
|
|
syntax: "<color>";
|
|
inherits: false;
|
|
initial-value: #ebebed;
|
|
}
|
|
|
|
@property --mod-button-c2 {
|
|
syntax: "<color>";
|
|
inherits: false;
|
|
initial-value: #ebebed;
|
|
}
|
|
|
|
.mod-button[mode="orange"] {
|
|
color: #e3e9e4;
|
|
--mod-button-c1: #ffbb5d;
|
|
--mod-button-c2: #ffa01d;
|
|
}
|
|
.mod-button[mode="orange-red"] {
|
|
color: #e3e9e4;
|
|
--mod-button-c1: #ff8758;
|
|
--mod-button-c2: #ff5b1b;
|
|
}
|
|
.mod-button[mode="red"] {
|
|
color: #e3e9e4;
|
|
--mod-button-c1: #ff595f;
|
|
--mod-button-c2: #ff121b;
|
|
}
|
|
.mod-button[mode="blue"] {
|
|
color: #e3e9e4;
|
|
--mod-button-c1: #6650fc;
|
|
--mod-button-c2: #4125ff;
|
|
}
|
|
.mod-button[mode] {
|
|
background: linear-gradient(180deg, var(--mod-button-c1) 0%, var(--mod-button-c2) 100%) border-box;
|
|
transition:
|
|
0.4s background-color cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.4s opacity cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.4s filter cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.75s --mod-button-c1 cubic-bezier(0.075, 0.82, 0.165, 1),
|
|
0.55s --mod-button-c2 cubic-bezier(0.075, 0.82, 0.165, 1) !important;
|
|
}
|
|
|
|
#zen-boost-back {
|
|
background-color: transparent;
|
|
|
|
&:hover {
|
|
background-color: #e3e3e6;
|
|
}
|
|
}
|
|
|
|
#zen-boost-code-editor-root button {
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.toggleable-button[enabled="true"] {
|
|
filter: invert();
|
|
opacity: 0.9;
|
|
|
|
&:active {
|
|
filter: invert();
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
|
|
.zen-boost-color-picker-gradient::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: 8px;
|
|
margin: 8px;
|
|
|
|
z-index: 2;
|
|
|
|
background: #fbfbfdea;
|
|
|
|
background-position: -23px -23px;
|
|
backdrop-filter: saturate(2) blur(15px);
|
|
|
|
background-size: 6px 6px;
|
|
background-image: radial-gradient(#e3e9e4, 1px, transparent 0);
|
|
|
|
@media (-moz-platform: macos) {
|
|
background-size: 4px 4px;
|
|
background-image: radial-gradient(#e3e9e4 0.5px, transparent 0);
|
|
}
|
|
}
|
|
|
|
.zen-boost-color-picker-gradient::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: inherit;
|
|
|
|
z-index: 1;
|
|
|
|
background: conic-gradient(
|
|
rgba(255, 0, 0, 1) 0%,
|
|
rgba(255, 162, 0, 1) 10%,
|
|
rgba(255, 242, 0, 1) 20%,
|
|
rgba(89, 255, 0, 1) 30%,
|
|
rgba(0, 255, 128, 1) 40%,
|
|
rgba(0, 255, 247, 1) 50%,
|
|
rgba(0, 89, 255, 1) 60%,
|
|
rgba(8, 0, 255, 1) 70%,
|
|
rgba(204, 0, 255, 1) 80%,
|
|
rgba(255, 0, 144, 1) 90%,
|
|
rgba(255, 0, 8, 1) 100%
|
|
)
|
|
border-box;
|
|
|
|
pointer-events: none;
|
|
}
|
|
|
|
.zen-boost-color-picker-gradient {
|
|
position: relative;
|
|
overflow: hidden;
|
|
border-radius: 16px;
|
|
box-shadow: 0 4px 12px #00000021;
|
|
width: 100%;
|
|
aspect-ratio: 1 /1;
|
|
margin: 10px 0 4px 0;
|
|
|
|
min-height: calc(var(--panel-width) - var(--panel-padding) * 2 - 2px);
|
|
|
|
& [animated="true"] {
|
|
transition: all 0.4s cubic-bezier(0.14, 1.43, 0.56, 1.01) !important;
|
|
}
|
|
|
|
& .zen-boost-color-picker-circle {
|
|
position: absolute;
|
|
z-index: 3;
|
|
transform-origin: center center;
|
|
transform: translate(-50%, -50%);
|
|
|
|
opacity: 0;
|
|
transition: opacity 0.4s ease;
|
|
|
|
left: 50%;
|
|
top: 50%;
|
|
|
|
outline: solid 1px #9a9a9a88;
|
|
border-radius: 100%;
|
|
}
|
|
|
|
& .zen-boost-color-picker-arc-svg {
|
|
opacity: 0;
|
|
transition: opacity 0.4s ease;
|
|
}
|
|
|
|
& .zen-boost-color-picker-dot {
|
|
box-shadow: 0 2px 4px #00000022;
|
|
position: absolute;
|
|
z-index: 5;
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
background: var(--zen-theme-picker-dot-color);
|
|
|
|
/* Move away until initialized */
|
|
left: -100px;
|
|
top: -100px;
|
|
|
|
@media (-prefers-color-scheme: dark) {
|
|
box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
cursor: pointer;
|
|
border: 3px solid #ffffff;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: top left;
|
|
pointer-events: all;
|
|
|
|
&:first-of-type {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-width: 3px;
|
|
transition: transform 0.2s;
|
|
z-index: 4;
|
|
&:hover {
|
|
transform: scale(1.05) translate(-50%, -50%);
|
|
}
|
|
}
|
|
|
|
&[dragging="true"] {
|
|
transform: scale(1.2) translate(-50%, -50%);
|
|
}
|
|
}
|
|
}
|
|
|
|
#zen-boost-editor-root:hover {
|
|
& .zen-boost-color-picker-circle, .zen-boost-color-picker-arc-svg {
|
|
opacity: 0.4;
|
|
}
|
|
}
|
|
|
|
.zen-boost-font-button-active {
|
|
background-color: #5454572f !important;
|
|
}
|
|
|
|
.zen-boost-font-button-active:hover {
|
|
background-color: #5b5b5c28 !important;
|
|
}
|
|
|
|
/** Import animation */
|
|
/** From zen-single-components.css:211 */
|
|
|
|
@property --background-top {
|
|
syntax: "<percentage>";
|
|
inherits: false;
|
|
initial-value: -50%;
|
|
}
|
|
|
|
#import-animation {
|
|
position: fixed;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.5) 40%, rgba(255, 255, 255, 0.6) 60%, transparent 100%);
|
|
left: 0;
|
|
z-index: 999;
|
|
opacity: 0;
|
|
transform: translateY(-50%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
#import-animation-shadow {
|
|
position: fixed;
|
|
mix-blend-mode: multiply;
|
|
background: #00000040;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
z-index: 998;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
#import-animation-border {
|
|
position: absolute;
|
|
border-radius: var(--zen-border-radius);
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
z-index: 1000;
|
|
}
|
|
|
|
#import-animation-border::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: inherit;
|
|
padding: 4px; /* thickness of border */
|
|
z-index: 1000;
|
|
|
|
background: radial-gradient(ellipse 100% 50% at center var(--background-top), rgba(255, 255, 255, 0.9) 80%, transparent);
|
|
|
|
/* Punch out the inside once (not animated) */
|
|
mask:
|
|
linear-gradient(#fff 0 0) content-box,
|
|
linear-gradient(#fff 0 0);
|
|
mask-composite: exclude;
|
|
}
|