michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: * { michael@0: margin: 0; michael@0: padding: 0; michael@0: box-sizing: border-box; michael@0: font-size: 0.9rem; michael@0: } michael@0: michael@0: html, body { michael@0: height: 100%; michael@0: } michael@0: michael@0: template { michael@0: display: none; michael@0: } michael@0: michael@0: body { michael@0: display: flex; michael@0: color: #333; michael@0: background-color: white; michael@0: font-family: Lucida Grande, Helvetica, Helvetica Neue, sans-serif; michael@0: overflow: hidden; michael@0: } michael@0: michael@0: body:not(.connected) button.device-action { michael@0: display: none; michael@0: } michael@0: michael@0: strong { michael@0: color: #111; michael@0: } michael@0: michael@0: michael@0: /********* SIDEBAR ***********/ michael@0: michael@0: michael@0: michael@0: #sidebar { michael@0: display: flex; michael@0: flex-direction: column; michael@0: flex: 0 0 350px; michael@0: overflow: hidden; michael@0: z-index: 100; michael@0: background-color: #E9EAEB; michael@0: position: relative; michael@0: box-shadow: 3px 0 1.5px rgba(0,0,0,0.08); michael@0: } michael@0: michael@0: #project-list { michael@0: height: 100%; michael@0: overflow: auto; michael@0: } michael@0: michael@0: #project-list:not([projects-count="0"]) > #no-project { michael@0: display: none; michael@0: } michael@0: michael@0: #no-project { michael@0: padding: 100px 20px 0; michael@0: font-weight: bold; michael@0: color: #BBB; michael@0: font-size: 22px; michael@0: } michael@0: michael@0: michael@0: /********* PROJECT MENU ***********/ michael@0: michael@0: michael@0: .project-item { michael@0: padding: 10px 0; michael@0: background-color: #F0F1F2; michael@0: box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1); michael@0: color: #666; michael@0: line-height: 120%; michael@0: cursor: pointer; michael@0: display: flex; michael@0: position: relative; michael@0: } michael@0: michael@0: .project-item:hover { michael@0: background-color: #EEE; michael@0: } michael@0: michael@0: .project-item > * { michael@0: flex-shrink: 0; michael@0: } michael@0: michael@0: .project-item.selected { michael@0: background-color: #46AFE3; michael@0: } michael@0: michael@0: .project-item.selected strong { michael@0: color: #FFF; michael@0: } michael@0: michael@0: .project-item.selected p, michael@0: .project-item.selected span { michael@0: color: #C1DCF0; michael@0: } michael@0: michael@0: .button-remove { michael@0: background-image: url('remove.svg'); michael@0: background-size: 20px; michael@0: width: 20px; michael@0: height: 20px; michael@0: position: absolute; michael@0: right: 5px; michael@0: bottom: 5px; michael@0: visibility: hidden; michael@0: opacity: 0.5; michael@0: } michael@0: michael@0: .project-item:hover .button-remove { michael@0: visibility: visible; michael@0: } michael@0: michael@0: .project-item-status { michael@0: width: 6px; michael@0: margin: -10px 0; michael@0: border-right: 1px solid rgba(0,0,0,0.1); michael@0: box-shadow: inset 0 0 1px 1px rgba(255,255,255,0.2), inset 0 -1px 0 0 rgba(0,0,0,0.2); michael@0: } michael@0: michael@0: .project-item-status[status="valid"] { michael@0: background-color: #70BF53; michael@0: } michael@0: michael@0: .project-item-status[status~="warning"] { michael@0: background-color: #F2B33F; michael@0: } michael@0: michael@0: .project-item-status[status~="error"] { michael@0: background-color: #ED4C62; michael@0: } michael@0: michael@0: .project-item-icon { michael@0: width: 32px; michael@0: height: 32px; michael@0: margin: 0 10px; michael@0: } michael@0: michael@0: .project-item-meta { michael@0: flex-grow: 1; michael@0: flex-shrink: 1 !important; michael@0: } michael@0: michael@0: .project-item-type { michael@0: font-size: 10px; michael@0: line-height: 20px; michael@0: float: right; michael@0: padding-right: 10px; michael@0: color: #7597B9; michael@0: text-transform: uppercase; michael@0: } michael@0: michael@0: .project-item-description { michael@0: color: #888; michael@0: font-size: 90%; michael@0: } michael@0: michael@0: /********* ADD PROJECT ***********/ michael@0: michael@0: #new-packaged-project { michael@0: box-shadow: 0 -1px 5px rgba(0,0,0,0.1); michael@0: background-position: calc(100% - 10px) 10px; michael@0: } michael@0: michael@0: #new-packaged-project, michael@0: #new-hosted-project { michael@0: background-color: #EEE; michael@0: border: none; michael@0: border-top: 1px solid #DDD; michael@0: padding: 10px; michael@0: font-weight: bold; michael@0: } michael@0: michael@0: #new-packaged-project:hover, michael@0: #new-hosted-project:hover { michael@0: background-color: #DDD; michael@0: } michael@0: michael@0: #new-hosted-project-wrapper { michael@0: display: flex; michael@0: align-items: center; michael@0: } michael@0: michael@0: #new-packaged-project, michael@0: #new-hosted-project-click { michael@0: background-image: url('plus.svg'); michael@0: background-size: 20px; michael@0: background-repeat: no-repeat; michael@0: cursor: pointer; michael@0: } michael@0: michael@0: #new-hosted-project-click { michael@0: background-position: top right; michael@0: width: 20px; michael@0: height: 20px; michael@0: margin-left: 5px; michael@0: } michael@0: michael@0: #url-input { michael@0: flex-grow: 1; michael@0: width: 90%; michael@0: box-shadow: none; michael@0: border-radius: 3px; michael@0: border: 1px solid #DDD; michael@0: padding: 4px; michael@0: margin-top: 4px; michael@0: } michael@0: michael@0: michael@0: /********* LENSE ***********/ michael@0: michael@0: michael@0: #lense { michael@0: height: 100%; michael@0: flex-grow: 1; michael@0: display: flex; michael@0: z-index: 1; michael@0: overflow: hidden; michael@0: background-color: rgb(225, 225, 225); michael@0: background-image: url('rocket.svg'), url('noise.png'); michael@0: background-repeat: no-repeat, repeat; michael@0: background-size: 35%, auto; michael@0: background-position: center center, top left; michael@0: } michael@0: michael@0: #lense > div { michael@0: display: flex; michael@0: flex-grow: 1; michael@0: flex-direction: column; michael@0: } michael@0: michael@0: michael@0: /********* PROJECT ***********/ michael@0: michael@0: michael@0: .project-details { michael@0: background-color: rgb(225, 225, 225); michael@0: padding: 10px; michael@0: line-height: 160%; michael@0: display: flex; michael@0: flex-direction: column; michael@0: } michael@0: michael@0: .project-metadata { michael@0: flex-grow: 1; michael@0: } michael@0: michael@0: .project-status { michael@0: display: flex; michael@0: } michael@0: michael@0: .project-title { michael@0: flex-direction: row; michael@0: display: flex; michael@0: align-items: flex-start; michael@0: padding-bottom: 10px; michael@0: border-bottom: 1px solid #CCC; michael@0: margin-bottom: 10px; michael@0: } michael@0: michael@0: .project-title > h1 { michael@0: flex-grow: 1; michael@0: font-size: 24px; michael@0: } michael@0: michael@0: .project-location { michael@0: color: gray; michael@0: font-size: 10px; michael@0: cursor: pointer; michael@0: font-family: monospace; michael@0: } michael@0: michael@0: .project-location:hover { michael@0: text-decoration: underline; michael@0: } michael@0: michael@0: .project-header { michael@0: display: flex; michael@0: border-bottom: 1px solid #CCC; michael@0: margin: 10px 20px 10px 20px; michael@0: padding-bottom: 10px; michael@0: } michael@0: michael@0: .project-icon { michael@0: flex-shrink: 0; michael@0: width: 64px; michael@0: height: 64px; michael@0: margin-right: 10px; michael@0: } michael@0: michael@0: .project-location { michael@0: font-size: 11px; michael@0: color: #999; michael@0: } michael@0: michael@0: .project-description { michael@0: font-style: italic; michael@0: color: #333; michael@0: } michael@0: michael@0: .project-status > p { michael@0: text-transform: uppercase; michael@0: font-size: 10px; michael@0: padding: 2px 10px; michael@0: border-radius: 2px; michael@0: margin-top: 6px; michael@0: line-height: 10px; michael@0: } michael@0: michael@0: .project-validation { michael@0: color: #FFF; michael@0: display: none; michael@0: margin-left: 10px; michael@0: } michael@0: michael@0: .project-validation.valid { michael@0: background-color: #70BF53; michael@0: } michael@0: michael@0: .project-validation.warning { michael@0: background-color: #F2B33F; michael@0: } michael@0: michael@0: .project-validation.error { michael@0: background-color: #ED4C62; michael@0: } michael@0: michael@0: [status="valid"] > .project-validation.valid, michael@0: [status~="warning"] > .project-validation.warning, michael@0: [status~="error"] > .project-validation.error { michael@0: display: inline; michael@0: } michael@0: michael@0: .project-type { michael@0: display: none; michael@0: margin-left: 10px; michael@0: } michael@0: [type="hosted"] > .project-type.hosted, michael@0: [type="packaged"] > .project-type.packaged { michael@0: display: inline; michael@0: } michael@0: michael@0: /********* PROJECT BUTTONS ***********/ michael@0: michael@0: michael@0: michael@0: .project-buttons { michael@0: display: flex; michael@0: margin-left: 20px; michael@0: color: #BBB; michael@0: } michael@0: michael@0: .project-buttons > button { michael@0: margin: 0; michael@0: font-size: 11px; michael@0: border: 1px solid #CCC; michael@0: border-left-width: 0; michael@0: padding: 5px 15px; michael@0: cursor: pointer; michael@0: background: rgba(255,255,255,0.4); michael@0: text-transform: uppercase; michael@0: } michael@0: michael@0: .project-buttons > button[disabled] { michael@0: background-color: transparent; michael@0: opacity: 0.4; michael@0: pointer-events: none; michael@0: } michael@0: michael@0: .project-buttons > button:first-child { michael@0: border-left-width: 1px; michael@0: } michael@0: michael@0: .project-button-debug { michael@0: color: #3498DB; michael@0: } michael@0: michael@0: .project-button-debug:hover { michael@0: background-color: #3498DB; michael@0: color: #FFF; michael@0: } michael@0: michael@0: .project-button-debug[disabled] { michael@0: color: #3498DB; michael@0: } michael@0: michael@0: .project-button-update { michael@0: color: #777; michael@0: } michael@0: michael@0: .project-button-update:hover { michael@0: background-color: #777; michael@0: color: #FFF; michael@0: } michael@0: michael@0: .project-button-update[disabled] { michael@0: color: #777; michael@0: } michael@0: michael@0: michael@0: michael@0: /********* ERRORS AND WARNINGS ***********/ michael@0: michael@0: .project-warnings, michael@0: .project-errors, michael@0: .project-item-warnings, michael@0: .project-item-errors { michael@0: display: none; michael@0: } michael@0: michael@0: [status~="warning"] .project-item-warnings, michael@0: [status~="error"] .project-item-errors { michael@0: display: inline-block; michael@0: } michael@0: michael@0: [status~="warning"] > .project-warnings, michael@0: [status~="error"] > .project-errors { michael@0: display: block; michael@0: } michael@0: michael@0: .project-warnings, michael@0: .project-errors { michael@0: margin: 20px 20px 0; michael@0: padding: 10px 10px; michael@0: font-family: monospace; michael@0: } michael@0: michael@0: .project-warnings { michael@0: border-left: 3px solid #ECB51E; michael@0: background-color: rgba(236, 181, 20, 0.1); michael@0: } michael@0: michael@0: .project-errors { michael@0: border-left: 3px solid #ED4C62; michael@0: background-color: rgba(237,76,98,0.1); michael@0: } michael@0: michael@0: .project-item-warnings { michael@0: background-image: url('warning.svg'); michael@0: } michael@0: michael@0: .project-item-errors { michael@0: background-image: url('error.svg'); michael@0: color: rgb(227, 79, 34); michael@0: } michael@0: michael@0: .project-item-warnings, michael@0: .project-item-errors { michael@0: background-repeat: no-repeat; michael@0: background-size: 12px; michael@0: background-position: left center; michael@0: margin-top: 6px; michael@0: } michael@0: michael@0: .project-item-warnings > span, michael@0: .project-item-errors > span { michael@0: font-size: 11px; michael@0: padding-left: 16px; michael@0: font-weight: bold; michael@0: } michael@0: michael@0: michael@0: /********* MANIFEST EDITOR ***********/ michael@0: michael@0: .manifest-editor { michael@0: display: flex; michael@0: flex-direction: column; michael@0: flex-grow: 1; michael@0: background-color: #E1E1E1; michael@0: } michael@0: michael@0: .manifest-header { michael@0: display: flex; michael@0: flex-direction: row; michael@0: } michael@0: michael@0: .manifest-header > h2 { michael@0: font-size: 18px; michael@0: margin: 1em 15px 1em 30px; michael@0: display: none; michael@0: } michael@0: michael@0: .manifest-header > button { michael@0: margin: 18px 0; michael@0: font-size: 11px; michael@0: border: 1px solid #CCC; michael@0: border-right-width: 0; michael@0: padding: 2px; michael@0: cursor: pointer; michael@0: background: rgba(255,255,255,0.4); michael@0: text-transform: uppercase; michael@0: display: none; michael@0: } michael@0: michael@0: .manifest-header > button[disabled] { michael@0: background-color: transparent; michael@0: opacity: 0.4; michael@0: pointer-events: none; michael@0: } michael@0: michael@0: .manifest-header > button:last-child { michael@0: border-right-width: 1px; michael@0: } michael@0: michael@0: [type="packaged"] > .editable { michael@0: display: block; michael@0: } michael@0: michael@0: [type="hosted"] > .viewable { michael@0: display: block; michael@0: } michael@0: michael@0: .manifest-button-save { michael@0: color: #777; michael@0: } michael@0: michael@0: .manifest-button-save:hover { michael@0: background-color: #777; michael@0: color: #FFF; michael@0: } michael@0: michael@0: .manifest-button-save[disabled] { michael@0: color: #777; michael@0: } michael@0: michael@0: .variables-view { michael@0: flex-grow: 1; michael@0: border: 0; michael@0: border-top: 5px solid #C9C9C9; michael@0: } michael@0: michael@0: /* Bug 925921: Remove when the manifest editor is always on */ michael@0: michael@0: .manifest-editor { michael@0: display: none; michael@0: } michael@0: michael@0: .project-details { michael@0: flex-grow: 1; michael@0: } michael@0: michael@0: #lense[manifest-editable] .manifest-editor { michael@0: display: flex; michael@0: } michael@0: michael@0: #lense[manifest-editable] .project-details { michael@0: flex-grow: 0; michael@0: } michael@0: michael@0: /* End blocks to remove */