bbpro
Version:
BrowserBox - remote browser isolation tool
758 lines (631 loc) • 13.2 kB
CSS
.bang-el:not(.bang-styled):not([incremental-load]) {
visibility: hidden;
}
:not(:defined) {
visibility: hidden;
}
:not(script, noscript, style, datalist, option, head, head *, select, meter, input, label), input:not([type="radio"], input[type="checkbox"], input[type="range"]) {
all: unset;
}
p, h1, h2, h3, h4, h5, h6, blockquote, div, article, section, nav, header, main, aside, footer, br, hr {
display: block;
}
p {
padding: .5em 0;
}
:root, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
form fieldset {
flex-direction: column;
display: flex;
}
:root {
--special: pink;
--special: peachpuff;
--special: lavendar;
--special: deepskyblue;
--special: gold;
--special: turquoise;
--special: darkturquoise;
--special: lightsteelblue;
--special: mediumaquamarine;
--special: mediumturquoise;
--special: palegreen;
--special: paleturquoise;
--special: thistle;
--special: tomato;
--special: whitesmoke;
--special: skyblue;
--special-contrast: dodgerblue;
--neutral: whitesmoke;
--light-contrast: whitesmoke;
--light-super-contrast: lavender;
--light-ultra-contrast: silver;
--dark-contrast: #28292a;
--dark-super-contrast: #38393a;
--dark-ultra-contrast: #464848;
--contrast: var(--light-contrast);
--super-contrast: var(--light-super-contrast);
--ultra-contrast: var(--light-ultra-contrast);
--light-text: var(--dark-super-contrast);
--inactive-bg: silver;
--inactive-fg: darkslategray;
--ft: 16px;
--lh: 1.618;
--dark: #15141a;
--light: #fbfbfe;
--bg: var(--light);
--fg: var(--dark);
--fg-pure: black;
--bg-pure: white;
--nav-loading-gap: 2px;
--mid: gray;
accent-color: var(--special);
font: normal normal 400 var(--ft) / var(--lh) system-ui;
color: var(--fg);
background: var(--bg);
}
@media screen and (prefers-color-scheme: dark) {
:root {
--special: teal;
--special: darkcyan;
--special: steelblue;
--bg: var(--dark);
--fg: var(--light);
--special: royalblue;
--light-text: var(--light-super-contrast);
--contrast: var(--dark-contrast);
--super-contrast: var(--dark-super-contrast);
--ultra-contrast: var(--dark-ultra-contrast);
--fg-pure: white;
--bg-pure: black;
}
span.tab-selector bb-favicon {
filter: invert();
}
aside.modals legend img, button img {
filter: invert();
}
}
button {
cursor: default;
box-sizing: border-box;
text-align: center;
background: none;
border: thin solid #0000;
margin: 0 .5em;
padding: 0;
transition: all .1s;
}
nav button {
aspect-ratio: 1;
border-radius: 100%;
}
button:hover:not([disabled]) {
background: radial-gradient(var(--contrast) 90%, var(--super-contrast));
}
input {
padding: 1px .25rem;
background: var(--super-contrast) ;
}
a, a:link, a:visited {
cursor: pointer;
color: var(--special-contrast);
}
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
color: var(--fg);
accent-color: var(--fg);
cursor: pointer;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
width: 24px;
height: 24px;
margin-left: .4em;
}
form.url input[type="search"] {
border-radius: 2em;
padding: 0 1em;
}
[hidden] {
display: none;
}
[disabled] {
cursor: not-allowed;
background: var(--contrast);
filter: grayscale();
opacity: .6;
}
input:focus {
background: var(--contrast);
}
button, bb-select-tab {
box-sizing: border-box;
border: thin solid #0000;
}
:is(button, bb-select-tab):active:not([disabled]) {
background: var(--special);
}
:is(button, bb-select-tab):focus:not(:active) {
border: thin dotted var(--special);
}
a:hover {
text-decoration: underline;
}
button:not(:active, :hover, :focus) {
opacity: .618;
}
::selection {
background-color: var(--special);
}
:root, body, main, bb-view {
height: 100%;
max-height: 100%;
}
:root {
overscroll-behavior: none;
display: block;
position: relative;
overflow: hidden;
}
body {
display: flex;
}
iframe {
display: none;
}
hr {
border-bottom: thin solid var(--ultra-contrast);
}
main, bb-view {
width: 100%;
position: relative;
}
main {
grid-template: "info info info info info" 1rem
"tabs tabs tabs tabs tabs" 2rem
"ctrl ctrl ctrl ctrl ctrl" 2rem
"screen screen screen screen screen" minmax(0, 1fr)
/ auto 1fr auto auto auto;
display: grid;
}
main.no-chrome {
grid-template: "screen screen screen screen screen" 1fr
/ auto 1fr auto auto auto;
width: 100%;
height: 100%;
display: grid;
position: relative;
}
main.no-chrome :is(header, nav) {
display: none;
}
bb-top-bar {
grid-area: info;
max-height: 1rem;
}
header.topbar {
color: #555;
max-height: 100%;
font-size: smaller;
}
header.topbar span {
vertical-align: super;
font-size: .8rem;
line-height: 1.3;
}
header.topbar span.network-status.offline {
color: red;
}
header.topbar span.connection-status {
color: orange;
}
header.topbar span.webrtc-status {
color: #1e90ff;
opacity: .8;
}
header.topbar span.audio-status {
color: purple;
opacity: .8;
}
bb-tabs {
grid-area: tabs;
max-width: 100%;
position: relative;
}
nav.targets {
scroll-behavior: smooth;
scrollbar-width: none;
-ms-overflow-style: none;
overflow: scroll hidden;
}
nav.targets::-webkit-scrollbar {
display: none;
}
nav.targets {
white-space: nowrap;
width: auto;
height: 100%;
max-height: 100%;
display: flex;
}
nav.targets bb-select-tab {
border-top: thin solid var(--ultra-contrast);
border-right: thin solid var(--ultra-contrast);
background: var(--contrast);
border-top-left-radius: .25em;
border-top-right-radius: .25em;
width: min(30%, 300px);
min-width: 125px;
padding-left: .5em;
overflow: hidden;
}
nav.targets bb-select-tab.active {
background: var(--super-contrast);
}
nav.targets span:not(.new) {
padding-left: .25rem;
}
nav.targets span.new button {
box-sizing: border-box;
width: 2rem;
}
span.tab-selector button.close {
opacity: .618;
background: none;
border-color: #0000;
}
span.tab-selector button.close:is(:active, :hover, :focus) {
opacity: 1;
}
span.tab-selector {
text-overflow: ellipsis;
align-items: center;
width: 100%;
height: 100%;
display: inline-flex;
position: relative;
overflow: hidden;
}
span.tab-selector:not(.active) {
opacity: .618;
}
span.tab-selector:not(.active):hover {
opacity: .85;
}
span.tab-selector a {
text-overflow: ellipsis;
flex-grow: 1;
max-width: 100%;
overflow: hidden;
}
bb-favicon, img.favicon {
vertical-align: middle;
width: 1.25rem;
}
button img {
pointer-events: none;
object-fit: cover;
width: 100%;
height: 100%;
display: block;
transform: scale(.618);
}
bb-favicon {
align-items: center;
height: 100%;
margin-right: .25rem;
display: flex;
}
bb-omni-box {
grid-area: omni;
}
nav.history {
grid-area: history;
width: calc(2px + 4rem);
padding-left: 2px;
}
nav.url {
align-items: center;
height: 100%;
display: flex;
}
nav.url form {
width: 100%;
display: flex;
}
nav.url form input:not(:focus) {
opacity: .618;
}
nav.url form input {
flex-grow: 1;
}
nav.url form * {
margin: 0;
}
bb-resize-button {
grid-area: reset;
}
bb-settings-button {
grid-area: menu;
height: 100%;
padding-right: 1px;
}
nav.viewport-reset-button {
width: 2rem;
height: 100%;
}
nav.settings-button, nav.sidebar-menu-button {
grid-area: menu;
width: 2rem;
height: 100%;
}
article.tab-viewport {
flex-direction: column;
grid-area: screen;
display: flex;
position: relative;
}
article.tab-viewport canvas {
-webkit-user-select: none;
user-select: none;
-webkit-touch-callout: none;
height: 100%;
}
article.tab-viewport select {
opacity: .75;
z-index: 1000;
text-align: center;
min-width: 10em;
padding: .5em;
font-size: xx-large;
position: absolute;
top: 19.1%;
left: 50%;
transform: translate(-50%, -50%);
}
article.tab-viewport select:not(.open) {
display: none;
}
bb-loading-indicator, aside.loading-indicator {
max-height: var(--nav-loading-gap);
height: var(--nav-loading-gap);
width: 100%;
position: absolute;
top: 0;
}
bb-loading-indicator {
transform: translate(0, -150%);
}
aside.loading-indicator {
overflow: hidden;
}
aside.loading-indicator meter {
height: var(--nav-loading-gap);
vertical-align: top;
background: none;
width: 105%;
height: 30px;
position: absolute;
top: -14px;
left: -2.5%;
}
aside.loading-indicator meter::-webkit-meter-bar {
background: none;
}
aside.loading-indicator meter::-webkit-meter-optimum-value {
background: var(--special-contrast);
}
aside.loading-indicator meter::-moz-meter-optimum-value {
background: var(--special-contrast);
}
nav.keyinput {
position: absolute;
top: 0;
right: 0;
}
nav.sidebar-menu {
display: none;
}
nav :is(form, button) {
height: 100%;
}
nav button {
margin: 0;
}
bb-ctrl {
grid-area: ctrl;
}
div.ctrl {
grid-template-columns: auto 1fr 1fr auto auto;
grid-template-areas: "history omni omni reset menu";
grid-template-rows: calc(2rem - var(--nav-loading-gap));
display: grid;
}
bb-context-menu {
visibility: hidden;
z-index: 10;
background: var(--bg);
color: var(--fg);
-webkit-user-select: none;
user-select: none;
box-shadow: 1px 1px 1px var(--fg);
-webkit-touch-callout: none;
flex-direction: column;
padding: .25rem 0;
display: flex;
position: fixed;
}
aside.context-menu menu {
flex-direction: column;
display: flex;
}
aside.context-menu li {
cursor: default;
padding: 0 1.5rem;
font-size: smaller;
}
aside.context-menu li:hover {
background-color: var(--ultra-contrast);
}
aside.context-menu li:active {
background-color: var(--special);
}
aside.context-menu #load-test {
display: contents;
}
bb-modals, aside.modals, ::backdrop, dialog::backdrop {
z-index: 2147483647;
background: #1e1e1e80;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
display: flex;
position: absolute;
top: 0;
left: 0;
}
aside.modals :is(article, dialog) {
box-sizing: border-box;
box-shadow: 1px 1px 1px var(--contrast);
background: var(--bg);
flex-direction: row;
justify-content: space-around;
min-width: max(30%, 300px);
max-width: min(600px, 61.8%);
min-height: 130px;
max-height: min(61.8%, 400px);
margin: 0 auto;
padding: .81em .81em .4em 1.31em;
display: flex;
position: relative;
overflow: hidden auto;
}
aside.modals :is(article, dialog):not(.notice) {
word-break: break-all;
}
aside.modals p:last-of-type {
justify-content: end;
display: flex;
}
aside.modals :is(a, button) {
margin: 0 2px;
padding: .25em .81em;
}
bb-modals:not(.open), aside.modals :is(article, dialog):not(.open) {
display: none;
}
aside.modals :is(article, dialog) :is(form, fieldset) {
border: 0;
width: 100%;
height: 100%;
display: flex;
}
aside.modals :is(article, dialog) fieldset {
flex-direction: column;
justify-content: space-between;
}
aside.modals legend {
color: var(--contrast);
width: 100%;
margin-bottom: 1em;
}
aside.modals legend h1 {
color: var(--fg);
filter: contrast(.4);
align-items: center;
display: flex;
}
aside.modals legend h1 img {
margin-top: -2px;
padding-right: .5em;
}
aside.modals legend i {
color: var(--mid);
margin-top: 1.5em;
font-size: smaller;
font-style: italic;
display: block;
}
aside.modals h1 {
color: var(--light-text);
}
aside.modals:not(.active), aside.modals > article:not(.open) {
display: none;
}
aside.modals :is(textarea, input:not([type="checkbox"], [type="radio"], [type="range"]), select) {
box-sizing: border-box;
width: 100%;
}
aside.modals input[type="range"].radio {
width: 2rem;
}
aside.modals form p:last-of-type {
text-align: right;
}
nav.keyinput {
opacity: 0;
pointer-events: none;
}
span.tab-selector button.close {
aspect-ratio: 1;
box-sizing: border-box;
flex-shrink: 0;
width: 1.2rem;
margin: .5rem;
padding: 0;
}
span.tab-selector button.close img {
transform: scale(.7);
}
.switch {
width: 60px;
height: 34px;
display: inline-block;
position: relative;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
cursor: pointer;
background-color: #ccc;
transition: all .2s;
position: absolute;
inset: 0;
}
.slider:before {
content: "";
background-color: #fff;
width: 26px;
height: 26px;
transition: all .2s;
position: absolute;
bottom: 4px;
left: 4px;
}
input:checked + .slider {
background-color: #2196f3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196f3;
}
input:checked + .slider:before {
transform: translateX(26px);
}
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
#debugBox {
display: none;
}
/*# sourceMappingURL=image.a05aaebc.css.map */