• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15:root {
16  --record-text-color: #333;
17}
18
19// The whole record page.
20.record-page {
21  position: relative;
22  overflow-y: scroll;
23  background-color: #fefefe;
24  padding: 40px 20px;
25}
26
27// The always-visible centered box that has menu and sections on the right.
28.record-container {
29  position: relative;
30  max-width: 900px;
31  min-height: 500px;
32  margin: auto;
33  border-radius: 5px;
34  box-shadow: 0 1px 2px 0#aaa, 0 1px 3px 1px #eee;
35  background-color: #fff;
36  display: grid;
37  grid-template-columns: 2fr 5fr;
38  grid-template-rows: auto 1fr;
39  grid-template-areas: "header header"
40                       "sidebar section";
41  overflow: hidden;
42  z-index: 6;
43}
44
45.hider {
46  @include transition(0.2s);
47  position: fixed;
48  left: 0;
49  top: 0;
50  bottom: 0;
51  right: 0;
52  background: #000;
53  opacity: 0.2;
54  z-index: 5;
55}
56
57.record-header {
58  grid-area: header;
59  padding: 10px;
60  display: flex;
61  flex-direction: column;
62  border-bottom: 1px solid #eee;
63
64  .top-part {
65    display: flex;
66    justify-content: space-between;
67    align-items: center;
68
69    // Connect/start/stop tracing buttons.
70    .button {
71      display: flex;
72      justify-content: flex-end;
73      align-items: center;
74      width: auto;
75      height: 50px;
76      margin: 0;
77      >* {
78        @include transition(0.2s);
79        cursor: pointer;
80        border-radius: 10px;
81        margin: 10px;
82        text-align: center;
83        background-color: #eee;
84        font-family: 'Raleway', sans-serif;
85        font-size: 17px;
86        @media (max-width: 1280px) {
87          font-size: 1.6vw;
88        }
89        padding: 7px;
90
91        &:hover {
92          background-color: hsl(88, 50%, 84%);
93          box-shadow: 0 0 4px 0px #999;
94        }
95
96        &.selected {
97          background-color: hsl(88, 50%, 67%);
98          box-shadow: 0 0 4px 0px #999;
99        }
100
101        &.disabled {
102          background-color: hsl(0, 0%, 97%);
103        }
104      }
105    }
106
107    .target-and-status {
108      display: flex;
109      flex-direction: column;
110      justify-content: space-evenly;
111
112      .target {
113        display: flex;
114        flex-direction: row;
115        align-items: center;
116      }
117
118      label, select, button {
119        font-weight: 100;
120        margin: 3px;
121        color: #333;
122        font-size: 17px;
123        font-family: 'Roboto', sans-serif;
124        align-items: center;
125
126        &.error-label {
127          max-width: 500px;
128          color: rgb(255, 0, 0);
129          font-size: 15px;
130        }
131      }
132      .chip {
133        @include transition();
134        display: flex;
135        align-items: center;
136        border: 1px solid #eee;
137        outline: none;
138        margin: 4px;
139        border-radius: 20px;
140        padding: 4px;
141        height: 30px;
142        &:hover, &:active {
143          box-shadow: 0 0 4px 0px #ccc;
144          background-color: #fafafa;
145        }
146        i {
147          margin: 3px;
148          align-items: center;
149        }
150      }
151    }
152  }
153
154  .note {
155    border-radius: 3px;
156    margin-bottom: 5px;
157    background: #f9eeba;
158    padding: 10px;
159    font-family: 'Roboto', sans-serif;
160    font-size: 14px;
161    line-height: 20px;
162  }
163
164  select {
165    @include transition();
166    margin-left: 10px;
167    border-radius: 0;
168    border: 1px solid #eee;
169    outline: none;
170    &:hover, &:active {
171      box-shadow: 0 0 6px #ccc;
172    }
173  }
174}
175
176// The left-hand-side menu with 'Cpu', 'Memory' etc.
177.record-menu {
178  grid-area: sidebar;
179  .rec { color: #ee3326; }
180
181  background-color: #fcfcfc;
182  border-right: 1px solid #eee;
183  padding-bottom: 1em;
184
185  header {
186    font-family: 'Roboto', sans-serif;
187    font-size: 14px;
188    font-weight: 700;
189    margin: 1em;
190  }
191
192  ul {
193    list-style-type: none;
194    margin: 0;
195    padding: 0;
196  }
197
198  a, a:link, a:visited {
199    text-decoration: none;
200  }
201
202  li {
203    @include transition();
204    display: block;
205    height: 55px;
206    padding: 0 1em;
207    font-size: 15px;
208    letter-spacing: 0.5px;
209    font-family: 'Raleway', sans-serif;
210    font-weight: 600;
211    color: #666;
212    display: grid;
213    grid-template-columns: 50px 1fr;
214    grid-template-rows: 40px 1fr;
215    grid-template-areas: "icon title" "icon subtext";
216    cursor: pointer;
217    overflow: hidden;
218
219    i {
220      margin: auto;
221      border-radius: 100%;
222      font-size: 32px;
223      width: 38px;
224      height: 38px;
225      padding: 3px;
226      background: #eee;
227      grid-area: icon;
228    }
229
230    .title {
231      transition: line-height .25s ease;
232      grid-area: title;
233      line-height: 55px;
234      display: block;
235    }
236
237    .sub {
238      @include transition(0.5s);
239      grid-area: subtext;
240      font-size: 10px;
241      line-height: 12.5px;
242      margin-top: -5px;
243      opacity: 0;
244    }
245
246    &:hover {
247      background-color: hsl(214, 0%, 90%);
248      .title { line-height: 50px; }
249      .sub {
250        opacity: 1;
251        transition-duration: 0.25s;
252        transition-delay: 0.0s;
253      }
254    }
255
256    &.active {
257      background-color: hsl(214, 80%, 70%);
258      .title, .sub {
259        color: white;
260      }
261    }
262  }  // li
263
264  &.disabled {
265    opacity: 0.50;
266    pointer-events: none;
267  }
268}  // record-menu
269
270
271.record-section {
272  grid-area: section;
273  background: #fff;
274  transition: opacity 0.25s ease;
275  opacity: 0;
276  display: none;
277
278  &:not(.active) {
279    max-height: 0;
280  }
281
282  &.active {
283    display: block;
284    opacity: 1;
285  }
286
287  .config {
288    &:nth-of-type(2n) {
289      background-color: #e7e7e7;
290    }
291
292    height: auto;
293    width: 100%;
294    padding: 0px;
295    display: flex;
296    align-items: center;
297  }
298
299  .title-config {
300    display: inline-block;
301    margin: var(--record-section-padding);
302    flex-grow: 1;
303    word-break: break-all;
304  }
305
306  .config-button {
307    border-radius: 10px;
308    margin-right: 10px;
309    text-align: center;
310    justify-items: center;
311    font-family: 'Raleway', sans-serif;
312    padding: 7px;
313    width: 75px;
314
315    &:hover {
316      box-shadow: 0 0 4px 0px #999;
317    }
318
319    &.load {
320      background-color: hsl(88, 50%, 67%);
321    }
322
323    &.delete {
324      background-color: hsl(0, 50%, 67%);
325    }
326
327    &.save {
328      width: 160px;
329      background-color: hsl(197, 50%, 67%);
330    }
331  }
332
333  .input-config {
334    margin-top: 20px;
335    margin-bottom: 20px;
336    display: flex;
337    align-items: center;
338    padding: 0px;
339
340    input {
341      border-radius: 20px;
342      border-color: #0000003d;
343      line-height: 36px;
344      padding: 0 10px;
345      font-size: 18px;
346      font-family: 'Roboto Condensed', sans-serif;
347      font-weight: 300;
348      color: #666;
349      flex-grow: 1;
350      margin-right: 10px;
351      margin-left: 10px;
352
353      background-color: transparent;
354      &:focus {
355        outline: none;
356      }
357      &::placeholder {
358        color: #b4b7ba;
359        font-family: 'Raleway', sans-serif;
360        font-weight: 400;
361      }
362    }
363  }
364
365  // By default space all section elements by the same amount.
366  --record-section-padding: 20px;
367
368  >* {
369    padding-left: var(--record-section-padding);
370    padding-right: var(--record-section-padding);
371    &:first-child { padding-top: 20px; }
372    &:last-child { padding-bottom: 20px; }
373  }
374
375  >header {
376    text-align: center;
377    font-family: 'Raleway', sans-serif;
378    font-size: 20px;
379    padding: 15px 10px;
380    color: #333;
381    letter-spacing: 0.5px;
382  }
383
384  .hide {
385    opacity: 0;
386    visibility: hidden;
387  }
388
389  .probe {
390    display: grid;
391    grid-template-rows: 40px 1fr;
392    grid-template-columns: 220px 1fr;
393    grid-template-areas: "label label" "img descr";
394    transition: color 0.2s ease;
395    padding-top: var(--record-section-padding);
396    padding-bottom: var(--record-section-padding);
397
398    &:nth-of-type(2n) {
399      background-color: #f9f9f9;
400    }
401
402    >img {
403      transition: filter 0.2s ease, opacity 0.2s ease;
404      grid-area: img;
405      width: 210px;
406      box-sizing: content-box;
407      cursor: pointer;
408      opacity: 0.5;
409      filter: saturate(0.15);
410    }
411
412    &:hover {
413      >img { opacity: 1; }
414      >label {
415        color: #333;
416        input[type=checkbox]::after {
417          background: hsl(207, 60%, 60%);
418        }
419      }
420    }  // :hover
421
422    >label {
423      grid-area: label;
424      cursor: pointer;
425      font-family: 'Roboto' , sans-serif;
426      font-size: 20px;
427      font-weight: 400;
428      color: #999;
429
430      // The per-probe on-off switch.
431      input[type=checkbox] {
432        -moz-appearance: none;
433        -webkit-appearance: none;
434        cursor: pointer;
435        margin: 0 10px 0 3px;
436        position: relative;
437        display: inline-block;
438        height: 20px;
439        width: 44px;
440        background: #89898966;
441        border-radius: 100px;
442        transition: all 0.3s ease;
443        overflow: visible;
444        vertical-align: middle;
445
446        &:focus {
447          outline: none;
448        }
449
450        &::after {
451          position: absolute;
452          left: -2px;
453          top: -3px;
454          display: block;
455          width: 26px;
456          height: 26px;
457          border-radius: 100px;
458          background: #f5f5f5;
459          box-shadow: 0px 3px 3px rgba(0,0,0,0.15);
460          content: '';
461          transition: all 0.3s ease;
462        }
463        &:checked {
464          background: #8398b7;
465        }
466        &:focus::after {
467          background: hsl(207, 60%, 60%);
468        }
469        &:checked::after {
470          left: 20px;
471          background: #27303d;
472        }
473      }  // checkbox
474    }  // label
475
476    // The content of the probe section.
477    >div {
478      grid-area: descr;
479      font-size: 14px;
480      font-weight: 200;
481      min-height: 50px;
482      color: var(--record-text-color);
483      line-height: 20px;
484    }
485
486    // .probe-config is showed only when the probe is enabled.
487    .probe-config {
488      @include transition(0.3s);
489      opacity: 0;
490      visibility: hidden;
491      margin: 10px 10px 0 0;
492      max-height: 0;
493    }
494
495    &.enabled {
496      .probe-config {
497        opacity: 1;
498        visibility: visible;
499        max-height: 100vh;
500      }
501      >label span { color: #4e80b7; }
502      >img {
503        filter: saturate(1);
504        opacity: 1;
505      }
506    }
507  }  // probe
508
509  .toggle {
510    transition: color 0.2s ease;
511    padding-top: var(--record-section-padding);
512
513    &:hover {
514      >img { opacity: 1; }
515      >label {
516        color: #333;
517        input[type=checkbox]::after {
518          background: hsl(207, 60%, 60%);
519        }
520      }
521    }  // :hover
522
523    >label {
524      cursor: pointer;
525      font-size: 14px;
526      color: var(--record-text-color);
527
528      // The per-probe on-off switch.
529      input[type=checkbox] {
530        -moz-appearance: none;
531        -webkit-appearance: none;
532        cursor: pointer;
533        margin: 0 12px 0 2px;
534        position: relative;
535        display: inline-block;
536        height: 10px;
537        width: 22px;
538        background: #89898966;
539        border-radius: 100px;
540        transition: all 0.3s ease;
541        overflow: visible;
542        vertical-align: middle;
543
544        &:focus {
545          outline: none;
546        }
547
548        &::after {
549          position: absolute;
550          left: -5px;
551          top: -5px;
552          display: block;
553          width: 20px;
554          height: 20px;
555          border-radius: 100px;
556          background: #f5f5f5;
557          box-shadow: 0px 3px 3px rgba(0,0,0,0.15);
558          content: '';
559          transition: all 0.3s ease;
560        }
561        &:checked {
562          background: #8398b7;
563        }
564        &:focus::after {
565          background: hsl(207, 60%, 60%);
566        }
567        &:checked::after {
568          left: 12px;
569          background: #27303d;
570        }
571      }  // checkbox
572    }  // label
573
574    // The content of the toggle section.
575    >div.descr {
576      font-size: 12px;
577      color: #666;
578    }
579  }  // toggle
580
581  // The three "Stop when full", "Ring buffer", "Long trace" buttons.
582  .record-mode {
583    display: grid;
584    grid-template-columns: 1fr 1fr 1fr;
585    grid-template-areas: ". . .";
586    grid-template-rows: 1fr;
587    padding-top: 0;
588
589    input[type=radio] {
590      appearance: none;
591      -webkit-appearance: none;
592      display: none;
593    }
594
595    >* {
596      @include transition(0.2s);
597      cursor: pointer;
598      border-radius: 15px;
599      margin: 5px;
600      text-align: center;
601      background-color: #eee;
602      font-family: 'Raleway', sans-serif;
603      font-size: 20px;
604      @media (max-width: 1280px) {
605        font-size: 1.6vw;
606      }
607      padding-bottom: 10px;
608
609      &:hover {
610        background-color: hsl(88, 50%, 84%);
611        box-shadow: 0 0 4px 0px #999;
612      }
613
614      &.selected {
615        background-color: hsl(207, 90%, 74%);
616        background-color: hsl(88, 50%, 67%);
617        box-shadow: 0 0 4px 0px #999;
618      }
619
620      img {
621        width: 100%;
622      }
623    }
624  }  // record-mode
625
626  // There are two types of sliders:
627  // 1) The full-width one (default), e.g. the one used in the main recording
628  //    page for the duration of the trace. This one has both an icon and a
629  //    label on the top.
630  // 2) The smaller ones (.thin) used in the probes. This one has no icon.
631  .slider {
632    @include transition(0.3s);
633    display: grid;
634    grid-template-columns: 40px 1fr 130px 0;
635    grid-template-rows: 30px min-content 1fr;
636    grid-template-areas: "hdr hdr hdr hdr" "descr descr descr descr"
637    "icon slider label unit";
638    margin-top: var(--record-section-padding);
639
640    &.thin {
641      grid-template-columns: 1fr 1fr 100px 0;
642      grid-template-areas: "hdr hdr hdr hdr" "descr descr descr descr"
643      "slider slider label unit";
644    }
645
646    &.greyed-out {
647      opacity: 0.5;
648    }
649
650    >* {
651      height: 40px;
652      line-height: 40px;
653    }
654
655    >header {
656      @include transition(0.3s);
657      opacity: 0.6;
658      color: #333;
659      grid-area: hdr;
660    }
661
662    &.thin >header {
663      opacity: 1;
664      color: var(--record-text-color);
665      font-size: 14px;
666    }
667
668    &.thin >header.descr {
669      grid-area: descr;
670      font-size: 12px;
671      color: #666;
672      height: 20px;
673      line-height: 20px;
674    }
675
676    &:hover > header {
677      opacity: 1;
678      transition-duration: 0.15s;
679    }
680
681    >i {
682      grid-area: icon;
683      font-size: 32px;
684      color: #333;
685    }
686
687    input[type=range] {
688      grid-area: slider;
689      width: 100%;
690      appearance: none;
691      -webkit-appearance: none;
692      scroll-snap-type: mandatory;
693      background-color : transparent;
694      outline: none;
695      margin-left: -10px;
696      margin-top: -5px;
697
698      &::-webkit-slider-runnable-track {
699        margin: 10px;
700        border-radius: 1px;
701        width: 100%;
702        height: 10px;
703        background-color : #ddd;
704        border-radius: 4px;
705      }
706
707      &::-webkit-slider-thumb {
708        @include transition();
709        appearance: none;
710        -webkit-appearance: none;
711        border: none;
712        border-radius: 3px;
713        height: 20px;
714        width: 40px;
715        background-color: rgb(33, 150, 243);
716        margin-top: -5px;
717        cursor: pointer;
718        content: "";
719      }
720
721      &:hover::-webkit-slider-thumb,
722      &:focus::-webkit-slider-thumb {
723        box-shadow: 0 0 4px rgb(16, 81, 134);
724        transform: scale(1, 1.1);
725      }
726    }
727
728    &.thin input[type=range]::-webkit-slider-runnable-track {
729      height: 8px;
730    }
731
732    &.thin input[type=range]::-webkit-slider-thumb {
733      width: 20px;
734      border-radius: 100%;
735    }
736
737    .spinner {
738      @include transition();
739      grid-area: label;
740      border: 1px solid #fafafa;
741      border-bottom: 2px solid #ddd;
742      padding: 0 5px;
743      border-radius: 2px;
744      background-color: rgba(255, 255, 255, 60%);
745      font-family: 'Roboto', sans-serif;
746      font-size: 16px;
747      font-weight: 100;
748      height: 35px;
749      outline: none;
750
751      &::-webkit-inner-spin-button,
752      &::-webkit-outer-spin-button,
753      &::-webkit-clear-button {
754        -webkit-appearance: none;
755        margin: 0;
756      }
757
758      &:hover, &:focus {
759        border-bottom-color: hsl(207, 90%, 54%);
760        background-color: hsl(207, 50%, 97%);;
761      }
762
763      &:invalid {
764        border-bottom-color: hsl(9, 90%, 54%);
765        background-color: hsl(9, 50%, 97%);;
766      }
767    }
768
769    &.thin .spinner {
770      font-size: 14px;
771      margin-top: -5px;
772    }
773
774    .unit {
775      grid-area: unit;
776      font-size: 12px;
777      color: var(--record-text-color);
778      position: relative;
779      line-height: 37px;
780      overflow: hidden;
781      width: 35px;
782      left: -45px;
783      text-align: right;
784      margin-top: -5px;
785    }
786  }
787
788  .dropdown {
789    border: 1px solid #eee;
790    outline: none;
791    -webkit-appearance: none;
792
793    &:not(.multicolumn) {
794      overflow: hidden;
795      height: 25px;
796      padding: 0 5px;
797      &:focus, &:hover {
798        height: 30vh;
799        position: absolute;
800        overflow: auto;
801        box-shadow: 0 0 15px 0 #eee;
802      }
803    }
804
805    option, optgroup {
806      @include transition();
807      min-height: 25px;
808      font-size: 12px;
809      color: var(--record-text-color);
810      cursor: pointer;
811      padding: 5px 0;
812    }
813
814    option {
815      padding: 2.5px 5px;
816      border-bottom: 1px solid #eee;
817      &:hover {
818        background-color: hsl(214, 80%, 90%);
819      }
820      &::before {
821        display: none;
822        content: '';
823      }
824    }
825
826    &.multicolumn {
827      padding: 0;
828      max-width: 100%;
829      width: 100%;
830      overflow-y: auto;
831      optgroup {
832        display: grid;
833        padding: 0;
834        grid-template-columns: 1fr 1fr 1fr;
835      }
836      option {
837        &:nth-of-type(3n + 1) {
838          border-left: 1px solid #eee;
839          border-right: 1px solid #eee;
840        }
841        margin: 0;
842      }
843
844      &.two-columns {
845        height: 400px;
846        margin: var(--record-section-padding);
847        optgroup {
848          display: grid;
849          padding: 0;
850          grid-template-columns: 1fr 1fr;
851        }
852        option {
853          &:nth-of-type(2n + 1) {
854            border-left: 1px solid #eee;
855            border-right: 1px solid #eee;
856          }
857          margin: 0;
858        }
859      }
860    }
861  }
862
863  .atrace-categories {
864    height: 227px;
865  }
866
867  .ftrace-events {
868    height: 152px;
869  }
870
871  textarea.extra-input {
872    width: 100%;
873    height: 60px;
874    border: 1px solid #eee;
875    resize: none;
876    outline: none;
877    font-family: var(--monospace-font);
878
879    &::placeholder { color: #aaa; }
880  }
881
882  .code-snippet {
883    display: grid;
884    position: relative;
885    padding: 0;
886    margin: var(--record-section-padding);
887    background-color: #111;
888    border-radius: 4px;
889    user-select: text;
890    box-shadow: 0 0 12px #999;
891
892    @keyframes ripple{
893      0% { transform: scale(1.00); }
894      30% { transform: scale(1.20); }
895      60% { transform: scale(1.00); }
896      80% { transform: scale(1.30); }
897      100% { transform: scale(1.20); }
898    }
899
900    &::before {
901      height: 20px;
902      content: "";
903      display: block;
904      background-color: #598eca;
905    }
906
907    &.no-top-bar {
908      white-space: 'pre';
909      &::before {
910        height: 0;
911      }
912    }
913
914    >code {
915      display: block;
916      margin: 10px 5px 20px 20px;
917      color: #ccc;
918      font-family: var(--monospace-font);
919      font-size: 12px;
920      line-height: 20px;
921      overflow-y: auto;
922      white-space: pre-wrap;
923      word-wrap: break-word;
924
925      // 510px and not 500px, so the overflowing line gets truncated, giving
926      // a clear indication that the code box scrolls.
927      max-height: 510px;
928    }
929
930    >button {
931      @include transition();
932      display: inline-block;
933      position: absolute;
934      top: 30px;
935      right: 20px;
936      color: white;
937      border-radius: 100%;
938      background-color: #333;
939      box-shadow: 0 0 2px rgba(255, 255, 255, 200);
940      padding: 5px;
941      font-size: 16px;
942      line-height: 13px;  // Deliberately smaller to center the icon.
943      user-select: none;
944
945      &:hover {
946        background-color: #444;
947        transform: scale(1.1);
948      }
949    }
950
951    &:active:hover >button:not(:hover) {
952      animation: ripple linear 0.5s;
953      background-color: #701d17;
954      transform: scale(1.1);
955    }
956
957    >button:active:hover {
958      transform: scale(0.9);
959    }
960  }  // code-snippet
961
962  &.instructions {
963    label, select {
964      font-weight: 100;
965      color: #333;
966      font-size: 16px;
967      font-family: 'Roboto', sans-serif;
968    }
969
970    .note {
971      border: 1px dashed #ddd;
972      background: #f9eeba;
973      margin: var(--record-section-padding);
974      padding: 10px;
975      font-family: 'Roboto', sans-serif;
976      font-size: 14px;
977      line-height: 20px;
978    }
979
980    select {
981      @include transition();
982      margin-left: 10px;
983      border-radius: 0;
984      border: 1px solid #eee;
985      outline: none;
986
987      &:hover, &:active {
988        box-shadow: 0 0 6px #ccc;
989      }
990    }
991    // Stop/cancel buttons
992    .buttons {
993      display: flex;
994      justify-content: center;
995      align-items: center;
996      width: auto;
997      height: 70px;
998      >* {
999        @include transition(0.2s);
1000        cursor: pointer;
1001        border-radius: 10px;
1002        text-align: center;
1003        margin: 3px;
1004        background-color: #eee;
1005        font-family: 'Raleway', sans-serif;
1006        flex-grow: 1;
1007        font-size: 17px;
1008        @media (max-width: 1280px) {
1009          font-size: 1.6vw;
1010        }
1011        padding: 7px;
1012
1013        &:hover {
1014          background-color: hsl(88, 50%, 84%);
1015          box-shadow: 0 0 4px 0px #999;
1016        }
1017
1018        &.selected {
1019          background-color: hsl(88, 50%, 67%);
1020          box-shadow: 0 0 4px 0px #999;
1021        }
1022      }
1023    }
1024
1025    .permalinkconfig {
1026      margin: var(--record-section-padding);
1027      height: 40px;
1028      max-width: 200px;
1029      border-radius: 10px;
1030      text-align: center;
1031      justify-items: center;
1032      font-family: 'Raleway', sans-serif;
1033      padding: 7px;
1034      background-color: hsl(88, 50%, 67%);
1035
1036      &:hover {
1037        box-shadow: 0 0 4px 0px #999;
1038      }
1039    }
1040
1041    progress {
1042      -webkit-appearance: none;
1043      appearance: none;
1044      width: 600px;
1045      height: 30px;
1046      margin: var(--record-section-padding);
1047      border-radius: 5px;
1048    }
1049    ::-webkit-progress-value {
1050      background-color: hsl(88, 50%, 67%);
1051    }
1052    ::-webkit-progress-bar {
1053      background-color: #eee;
1054    }
1055  }
1056}  // record-section
1057
1058.inline-chip {
1059  @include transition();
1060  &:hover, &:active {
1061    box-shadow: 0 0 2px 0px #ccc;
1062    background-color: #fafafa;
1063  }
1064
1065  >i.material-icons {
1066    color: rgb(60, 60, 60);
1067    font-size: 14px;
1068  }
1069
1070  line-height: 25px;
1071  font-size: smaller;
1072  padding: 2px 4px;
1073  border: 1px solid #eee;
1074  margin: 2px;
1075  border-radius: 9px;
1076}
1077
1078a.inline-chip, a.inline-chip:link, a.inline-chip:visited {
1079  text-decoration: none;
1080  color: var(--record-text-color);
1081}
1082