Files
securebit-chat/node_modules/pngjs/coverage/lcov-report/base.css
lockbitchat 0f8399ec88 feat(security,ui): self-host React deps, Tailwind, fonts; strict CSP; local QR; better selection state
Replace CDN React/ReactDOM/Babel with local libs; remove Babel and inline scripts
Build Tailwind locally, add safelist; switch to assets/tailwind.css
Self-host Font Awesome and Inter (CSS + woff2); remove external font CDNs
Implement strict CSP (no unsafe-inline/eval; scripts/styles/fonts from self)
Extract inline handlers; move PWA scripts to external files
Add local QR code generation (qrcode lib) and remove api.qrserver.com
Improve SessionTypeSelector visual selection (highlighted background and ring)
Keep PWA working with service worker and offline assets
Refs: CSP hardening, offline-first, no external dependencies
2025-09-08 16:04:58 -04:00

355 lines
5.3 KiB
CSS

body,
html {
margin: 0;
padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color: #333;
}
.small {
font-size: 12px;
}
*,
*:after,
*:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
h1 {
font-size: 20px;
margin: 0;
}
h2 {
font-size: 14px;
}
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a {
color: #0074d9;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.strong {
font-weight: bold;
}
.space-top1 {
padding: 10px 0 0 0;
}
.pad2y {
padding: 20px 0;
}
.pad1y {
padding: 10px 0;
}
.pad2x {
padding: 0 20px;
}
.pad2 {
padding: 20px;
}
.pad1 {
padding: 10px;
}
.space-left2 {
padding-left: 55px;
}
.space-right2 {
padding-right: 20px;
}
.center {
text-align: center;
}
.clearfix {
display: block;
}
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.fl {
float: left;
}
@media only screen and (max-width: 640px) {
.col3 {
width: 100%;
max-width: 100%;
}
.hide-mobile {
display: none !important;
}
}
.quiet {
color: #7f7f7f;
color: rgba(0, 0, 0, 0.5);
}
.quiet a {
opacity: 0.7;
}
.fraction {
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #e8e8e8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link,
div.path a:visited {
color: #333;
}
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width: 20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ,
.skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr {
border-bottom: 1px solid #bbb;
}
.keyline-all {
border: 1px solid #ddd;
}
.coverage-summary td,
.coverage-summary th {
padding: 10px;
}
.coverage-summary tbody {
border: 1px solid #bbb;
}
.coverage-summary td {
border-right: 1px solid #bbb;
}
.coverage-summary td:last-child {
border-right: none;
}
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file {
border-right: none !important;
}
.coverage-summary th.pct {
}
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs {
text-align: right;
}
.coverage-summary td.file {
white-space: nowrap;
}
.coverage-summary td.pic {
min-width: 120px !important;
}
.coverage-summary tfoot td {
}
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line {
height: 10px;
}
/* yellow */
.cbranch-no {
background: yellow !important;
color: #111;
}
/* dark red */
.red.solid,
.status-line.low,
.low .cover-fill {
background: #c21f39;
}
.low .chart {
border: 1px solid #c21f39;
}
.highlighted,
.highlighted .cstat-no,
.highlighted .fstat-no,
.highlighted .cbranch-no {
background: #c21f39 !important;
}
/* medium red */
.cstat-no,
.fstat-no,
.cbranch-no,
.cbranch-no {
background: #f6c6ce;
}
/* light red */
.low,
.cline-no {
background: #fce1e5;
}
/* light green */
.high,
.cline-yes {
background: rgb(230, 245, 208);
}
/* medium green */
.cstat-yes {
background: rgb(161, 215, 106);
}
/* dark green */
.status-line.high,
.high .cover-fill {
background: rgb(77, 146, 33);
}
.high .chart {
border: 1px solid rgb(77, 146, 33);
}
/* dark yellow (gold) */
.status-line.medium,
.medium .cover-fill {
background: #f9cd0b;
}
.medium .chart {
border: 1px solid #f9cd0b;
}
/* light yellow */
.medium {
background: #fff4c2;
}
.cstat-skip {
background: #ddd;
color: #111;
}
.fstat-skip {
background: #ddd;
color: #111 !important;
}
.cbranch-skip {
background: #ddd !important;
color: #111;
}
span.cline-neutral {
background: #eaeaea;
}
.coverage-summary td.empty {
opacity: 0.5;
padding-top: 4px;
padding-bottom: 4px;
line-height: 1;
color: #888;
}
.cover-fill,
.cover-empty {
display: inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com {
color: #999 !important;
}
.ignore-none {
color: #999;
font-weight: normal;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer,
.push {
height: 48px;
}