body {
  .top-bar {
    .top-bar-inner {
      .top-bar-title {
        font-size: 16px;
      }
    }
  }

  .trainer-content {
    position: relative;
    height: 100vh;
    overflow: auto;
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    .user-training {
      .user-training-label {
        display: block;
        font-size: 18px;
        font-weight: 600;
        color: #9e9e9e;
        margin: 6px 2px 10px;

        .user-training-input {
          width: 100%;
          border: none;
          border-bottom: 1px solid #282828;
          background: transparent;
          outline: none;
          font-size: 18px;
          text-align: center;
          border-radius: 0;
          font-family: "Unbounded", sans-serif;
          box-sizing: border-box;
          padding: 0 20px;

          &:focus {
            border-bottom-color: #3bc279;
          }

          &::placeholder {
            font-family: "Unbounded", sans-serif;
            color: #9e9e9e;
            font-size: 16px;
          }
        }
      }

      .user-training-list {
        list-style: none;
        margin: 14px 0 0;
        padding: 0 6px;

        .user-training-item {
          display: grid;
          grid-template-columns: 20px 42px 1fr 32px;
          align-items: center;
          gap: 12px;
          padding: 10px 4px;
          position: relative;
          border-top: 1px solid #c9c9c9;
        }

        .user-training-drag {
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: grab;
          color: #a7abad;

          svg circle {
            fill: #a7abad;
          }
        }

        .user-training-icon {
          width: 42px;
          height: 42px;
          border-radius: 12px;
          background: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
          overflow: hidden;

          img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
            padding: 6px;
          }
        }

        .user-training-name {
          font-size: 16px;
          line-height: 1.25;
          color: #4a4d50;
        }

        .user-training-remove {
          border: none;
          background: transparent;
          padding: 0;
          margin: 0;
          width: 32px;
          height: 32px;
          border-radius: 10px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #3bc279;
          cursor: pointer;
          transition: transform .08s ease, background .2s ease;
        }

        .user-training-empty {
          padding: 20px 0;
          color: #9e9e9e;
          text-align: center;
        }
      }

      .user-training-actions {
        display: flex;
        gap: 20px;
        justify-content: space-between;
        padding: 20px 50px 0 50px;

        .start-train-wrapper {
          position: relative;
          display: block;
          width: 100%;

          .start-train-bg {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            border-radius: 32px;
          }

          .start-train-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: #fff;
            text-decoration: none;
            white-space: nowrap;
            z-index: 1;
          }
        }

        .reset-btn, .add-btn {
          width: 115px;
          height: 35px;
          border-radius: 32px;
          border: none;
          font-family: "Unbounded", sans-serif;
          font-size: 12px;
          font-weight: 300;
          padding: 0;
        }

        .reset-btn {
          background: transparent;
          color: #34D17B;
          border: 1px solid #34D17B;
        }
      }
    }
  }

  .sheet.peek {
    height: 20vh;
  }

  .sheet.open {
    height: 80vh;
  }

  .sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    width: min(100%, 540px);
    background: #fff;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .12);
    z-index: 99;
    display: grid;
    grid-template-rows: auto 1fr;
    transition: height .25s cubic-bezier(.2, .8, .2, 1);
    will-change: height;
    touch-action: none;

    .sheet__header {
      position: sticky;
      top: 0;
      background: inherit;
      border-top-left-radius: 50px;
      border-top-right-radius: 50px;
      z-index: 1;

      .sheet__grabber {
        display: block;
        width: 134px;
        height: 5px;
        margin: 10px auto;
        border-radius: 50px;
        background: #282828;
      }

      .sheet__title {
        font-weight: 700;
        font-size: 20px;
        margin: 0 0 15px;
        text-align: center;
      }
    }

    .sheet__body {
      overflow: auto;
      padding: 5px 20px 100px;

      .cards {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 10px;

        .card {
          background: #fff;
          border-radius: 14px;
          box-shadow: 0 -1px 2px rgba(0, 0, 0, .03),
          0 3px 6px rgba(0, 0, 0, .06),
          0 14px 28px rgba(0, 0, 0, .08);
        }

        .card-link {
          display: grid;
          grid-template-columns: auto 1fr auto;
          align-items: center;
          gap: 10px;
          padding: 10px 20px 10px 10px;
          text-decoration: none;
          color: inherit;

          .thumb-wrap {
            position: relative;
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            border: 1px solid #5CD18D;
            border-radius: 16px;
            background: #fff;
            background-clip: padding-box;
            overflow: hidden;
          }

          .thumb {
            width: 100%;
            height: 100%;
            object-fit: contain;
          }

          .thumb-outline {
            display: none;
          }

          .title {
            font-weight: 500;
          }
        }
      }
    }
  }
}
