/* vim:set ts=2 sw=2 sts=2 et: */
/* 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 {
  background: url(background-noise-toolbar.png), hsl(208,11%,27%);
}

/* Network requests table */

#requests-menu-empty-notice {
  background: url(background-noise-toolbar.png), hsl(208,11%,27%);
  padding: 12px;
  font-size: 110%;
  color: #fff;
}

#requests-menu-toolbar {
  height: 32px;
  padding: 0;
}

.requests-menu-header:first-child {
  -moz-padding-start: 4px;
}

.requests-menu-subitem {
  padding: 4px;
}

.requests-menu-header:not(:last-child):-moz-locale-dir(ltr),
.requests-menu-subitem:not(:last-child):-moz-locale-dir(ltr) {
  -moz-border-end: 1px solid hsla(210,8%,5%,.25);
  box-shadow: 1px 0 0 hsla(210,16%,76%,.1);
}

.requests-menu-header:not(:last-child):-moz-locale-dir(rtl),
.requests-menu-subitem:not(:last-child):-moz-locale-dir(rtl) {
  -moz-border-end: 1px solid hsla(210,8%,5%,.25);
  box-shadow: -1px 0 0 hsla(210,16%,76%,.1);
}

.requests-menu-header-button {
  -moz-appearance: none;
  background: none;
  min-width: 20px;
  min-height: 31px; /* Remaining 1px comes from border of the toolbar. */
  margin: 0;
  border: none;
  padding: 0;
  color: inherit;
  font-weight: inherit !important;
  transition: background-color 0.1s ease-in-out;
}

.requests-menu-header-button:hover {
  background: rgba(0,0,0,0.10);
}

.requests-menu-header-button:hover:active {
  background: rgba(0,0,0,0.25);
}

.requests-menu-header-button:not(:active)[sorted] {
  background: rgba(0,0,0,0.15);
}

.requests-menu-header-button:not(:active)[sorted=ascending] {
  background-image: radial-gradient(farthest-side at center top, hsla(200,100%,70%,.7), hsla(200,100%,70%,0.3));
  background-size: 100% 1px;
  background-repeat: no-repeat;
}

.requests-menu-header-button:not(:active)[sorted=descending] {
  background-image: radial-gradient(farthest-side at center bottom, hsla(200,100%,70%,.7), hsla(200,100%,70%,0.3));
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: bottom;
}

/* Network requests table: specific column dimensions */

.requests-menu-status-and-method {
  width: 8em;
}

.requests-menu-status {
  width: 10px;
  height: 10px;
}

.requests-menu-method {
  text-align: center;
  font-weight: 600;
}

.requests-menu-file {
  width: 20vw;
  min-width: 4em;
}

.requests-menu-domain {
  width: 14vw;
  min-width: 10em;
}

.requests-menu-type {
  text-align: center;
  width: 4em;
}

.requests-menu-size {
  text-align: center;
  width: 8em;
}

/* Network requests table: status codes */

box.requests-menu-status {
  background: #fff;
  -moz-margin-start: 5px;
  -moz-margin-end: 5px;
  border-radius: 20px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.4) inset,
    0 -6px 4px 0 rgba(32,32,32,1.0) inset,
    0 0 8px 0 rgba(32,0,0,0.4);
  transition: box-shadow 0.5s ease-in-out;
}

box.requests-menu-status[code^="1"] {
  box-shadow:
    0 0 2px 1px rgba(255,255,255,0.8) inset,
    0 -6px 4px 0 rgba(0,0,64,1.0) inset,
    0 0 8px 0 rgba(0,0,128,1.0);
}

box.requests-menu-status[code^="2"] {
  box-shadow:
    0 0 2px 1px rgba(255,255,255,0.8) inset,
    0 -6px 4px 0 rgba(0,64,0,1.0) inset,
    0 0 8px 0 rgba(0,128,0,1.0);
}

box.requests-menu-status[code^="3"] {
  box-shadow:
    0 0 2px 1px rgba(255,255,255,0.8) inset,
    0 -6px 4px 0 rgba(64,32,0,1.0) inset,
    0 0 8px 0 rgba(128,128,0,1.0);
}

box.requests-menu-status[code^="4"] {
  box-shadow:
    0 0 2px 1px rgba(255,255,255,0.8) inset,
    0 -6px 4px 0 rgba(64,0,0,1.0) inset,
    0 0 8px 0 rgba(128,0,0,1.0);
}

box.requests-menu-status[code^="5"] {
  box-shadow:
    0 0 2px 1px rgba(255,255,255,0.8) inset,
    0 -6px 4px 0 rgba(64,0,64,1.0) inset,
    0 0 8px 0 rgba(128,0,128,1.0);
}

/* Network requests table: waterfall header */

#requests-menu-waterfall-label {
  -moz-padding-start: 8px;
  -moz-padding-end: 8px;
}

.requests-menu-timings-division {
  width: 100px;
  padding-top: 2px;
  -moz-padding-start: 4px;
  -moz-border-start: 1px dotted #999;
  font-size: 75%;
  pointer-events: none;
}

.requests-menu-timings-division:not(:first-child) {
  -moz-margin-start: -100px !important; /* Don't affect layout. */
}

.requests-menu-timings-division:-moz-locale-dir(ltr) {
  transform-origin: left center;
}

.requests-menu-timings-division:-moz-locale-dir(rtl) {
  transform-origin: right center;
}

/* Network requests table: waterfall items */

.requests-menu-subitem.requests-menu-waterfall {
  -moz-padding-start: 4px;
  -moz-padding-end: 4px;
  background-repeat: repeat-y; /* Background created on a <canvas> in js. */
  margin-top: -1px; /* Compensate borders. */
  margin-bottom: -1px;
}

.requests-menu-subitem.requests-menu-waterfall:-moz-locale-dir(rtl) {
  background-position: right center;
}

.requests-menu-timings:-moz-locale-dir(ltr) {
  transform-origin: left center;
}

.requests-menu-timings:-moz-locale-dir(rtl) {
  transform-origin: right center;
}

.requests-menu-timings-total:-moz-locale-dir(ltr) {
  transform-origin: left center;
}

.requests-menu-timings-total:-moz-locale-dir(rtl) {
  transform-origin: right center;
}

.requests-menu-timings-total {
  -moz-padding-start: 8px;
  font-size: 85%;
  font-weight: 600;
}

.requests-menu-timings-cap {
  width: 4px;
  height: 10px;
  border: 1px solid #fff;
}

.requests-menu-timings-cap.start {
  -moz-border-end: none;
}

.requests-menu-timings-cap.end {
  -moz-border-start: none;
}

.requests-menu-timings-cap.start:-moz-locale-dir(ltr) {
  border-radius: 4px 0 0 4px;
  transform-origin: right center;
}

.requests-menu-timings-cap.start:-moz-locale-dir(rtl) {
  border-radius: 0 4px 4px 0;
  transform-origin: left center;
}

.requests-menu-timings-cap.end:-moz-locale-dir(ltr) {
  border-radius: 0 4px 4px 0;
  transform-origin: left center;
}

.requests-menu-timings-cap.end:-moz-locale-dir(rtl) {
  border-radius: 4px 0 0 4px;
  transform-origin: right center;
}

.requests-menu-timings-box {
  height: 10px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.requests-menu-timings-box.blocked,
.requests-menu-timings-cap.blocked {
  background-color: rgba(255,32,32,0.8);
  box-shadow: 0 0 8px 0 rgba(128,32,32,0.8),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

.requests-menu-timings-box.dns,
.requests-menu-timings-cap.dns {
  background-color: rgba(255,128,255,0.6);
  box-shadow: 0 0 8px 0 rgba(128,128,255,1.0),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

.requests-menu-timings-box.connect,
.requests-menu-timings-cap.connect {
  background-color: rgba(255,128,16,0.4);
  box-shadow: 0 0 8px 0 rgba(128,128,16,0.8),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

.requests-menu-timings-box.send,
.requests-menu-timings-cap.send {
  background-color: rgba(255,255,128,0.4);
  box-shadow: 0 0 8px 0 rgba(128,255,128,0.8),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

.requests-menu-timings-box.wait,
.requests-menu-timings-cap.wait {
  background-color: rgba(255,255,255,0.2);
  box-shadow: 0 0 8px 0 rgba(128,255,255,0.4),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

.requests-menu-timings-box.receive,
.requests-menu-timings-cap.receive {
  background-color: rgba(255,255,255,1.0);
  box-shadow: 0 0 8px 0 rgba(128,255,255,1.0),
              0 0 4px 0 rgba(255,255,255,1.0) inset;
}

/* SideMenuWidget */

.side-menu-widget-item[odd] {
  background: rgba(255,255,255,0.05);
}

.side-menu-widget-item-contents {
  padding: 0;
}

/* Network request details */

#details-pane {
  background: hsl(208,11%,27%);
  max-width: 500px;
}

#details-pane-toggle {
  background: none;
  box-shadow: none;
  border-color: transparent;
  list-style-image: url("chrome://browser/skin/devtools/debugger-collapse.png");
  -moz-image-region: rect(0px,16px,16px,0px);
}

#details-pane-toggle[pane-collapsed] {
  list-style-image: url("chrome://browser/skin/devtools/debugger-expand.png");
}

#details-pane-toggle:active {
  -moz-image-region: rect(0px,32px,16px,16px);
}

/* Network request details tabpanels */

.tabpanel-content {
  background: url(background-noise-toolbar.png), #3e4750;
  box-shadow: 0 1px 0 hsla(204,45%,98%,.05) inset;
  color: #fff;
}

.tabpanel-summary-container {
  padding: 1px;
}

.tabpanel-summary-label {
  -moz-padding-start: 4px;
  -moz-padding-end: 3px;
  font-weight: 600;
  text-shadow: 0 1px 0 #000;
  color: hsl(210,30%,85%);
}

.tabpanel-summary-value {
  -moz-padding-start: 3px;
  font-family: Menlo, Monaco, monospace;
}

.variable-or-property:not(:focus) > .title > .token-string {
  color: #10c !important;
}

/* Headers tabpanel */

#headers-summary-status,
#headers-summary-version {
  padding-bottom: 2px;
}

#headers-summary-size {
  padding-top: 2px;
}

/* Response tabpanel */

#response-content-info-header {
  background:
    url(background-noise-toolbar.png),
    linear-gradient(hsl(0,61%,40%), hsl(0,61%,31%)) repeat-x top left;
  box-shadow:
    inset 0 1px 0 hsla(210,40%,83%,.15),
    inset 0 -1px 0 hsla(210,40%,83%,.05);
  margin: 0;
  padding: 5px 8px;
}

#response-content-image-box {
  padding-top: 10px;
  padding-bottom: 10px;
}

#response-content-image {
  background: #fff;
  border: 1px dashed GrayText;
  margin-bottom: 10px;
}

/* Timings tabpanel */

#timings-tabpanel .tabpanel-summary-label {
  width: 10em;
}

#timings-tabpanel .requests-menu-timings-box {
  transition: transform 0.2s ease-out;
  min-width: 1px;
}

#timings-tabpanel .requests-menu-timings-total {
  transition: transform 0.2s ease-out;
}

/* Footer */

#requests-menu-footer {
  box-shadow: inset 0 1px 16px hsla(210,8%,5%,.3);
}

.requests-menu-footer-button,
.requests-menu-footer-label {
  min-width: 1em;
  margin: 0;
  border: none;
  padding: 2px 1.5vw;
  color: #fff;
}

.requests-menu-footer-spacer {
  min-width: 2px;
}

.requests-menu-footer-spacer,
.requests-menu-footer-button {
  -moz-border-end: 1px solid hsla(210,8%,5%,.25);
  box-shadow: 1px 0 0 hsla(210,16%,76%,.1);
}

.requests-menu-footer-button {
  -moz-appearance: none;
  background: rgba(0,0,0,0.025);
}

.requests-menu-footer-button:hover {
  background: rgba(0,0,0,0.20);
}

.requests-menu-footer-button:hover:active {
  background: rgba(0,0,0,0.35);
}

.requests-menu-footer-button:not(:active)[checked] {
  background-color: rgba(0,0,0,0.25);
  background-image: radial-gradient(farthest-side at center top, hsla(200,100%,70%,.7), hsla(200,100%,70%,0.3));
  background-size: 100% 1px;
  background-repeat: no-repeat;
}

.requests-menu-footer-label {
  font-weight: 600;
}

/* Responsive sidebar */
@media (max-width: 700px) {
  #requests-menu-toolbar {
    height: 24px;
  }

  .requests-menu-header-button {
    min-height: 23px; /* Remaining 1px comes from border of the toolbar. */
  }

  .requests-menu-footer-button,
  .requests-menu-footer-label {
    padding: 2px 2vw;
  }

  #details-pane {
    max-width: none;
    margin: 0 !important;
    /* To prevent all the margin hacks to hide the sidebar. */
  }

  .requests-menu-status-and-method {
    width: 16vw;
  }

  .requests-menu-file,
  .requests-menu-domain {
    width: 30vw;
  }

  .requests-menu-type {
    width: 8vw;
  }

  .requests-menu-size {
    width: 16vw;
    border-width: 0 !important;
    box-shadow: none !important;
    /* The "Timeline" header is not visible anymore, and thus the
       right border and box-shadow of "Size" column should be hidden. */
  }
}

@media (min-width: 701px) {
  #network-table[type-overflows] .requests-menu-domain {
    border-width: 0 !important;
    box-shadow: none !important;
    /* The "Type" header is not visible anymore, and thus the
       right border and box-shadow of "Domain" column should be hidden. */
  }

  #network-table[domain-overflows] .requests-menu-file {
    border-width: 0 !important;
    box-shadow: none !important;
    /* The "Domain" header is not visible anymore, and thus the
       right border and box-shadow of "File" column should be hidden. */
  }
}
